You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
14 lines
547 B
14 lines
547 B
1 year ago
|
import requests, xmltodict, json
|
||
|
|
||
|
def get_pssh(mpd_url):
|
||
|
r = requests.get(url=mpd_url)
|
||
|
r.raise_for_status()
|
||
|
xml = xmltodict.parse(r.text)
|
||
|
mpd = json.loads(json.dumps(xml))
|
||
|
tracks = mpd['MPD']['Period']['AdaptationSet']
|
||
|
for video_tracks in tracks:
|
||
|
if video_tracks['@mimeType'] == 'video/mp4':
|
||
|
for t in video_tracks["ContentProtection"]:
|
||
|
if t['@schemeIdUri'].lower() == "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed":
|
||
|
pssh = t["cenc:pssh"]
|
||
|
return pssh
|