瀏覽代碼

Merge branch 'remitamine-akamai_pv'

Yen Chi Hsuan 9 年之前
父節點
當前提交
b248e6485b
共有 1 個文件被更改,包括 7 次插入0 次删除
  1. 7 0
      youtube_dl/extractor/common.py

+ 7 - 0
youtube_dl/extractor/common.py

@@ -1006,6 +1006,13 @@ class InfoExtractor(object):
     def _parse_f4m_formats(self, manifest, manifest_url, video_id, preference=None, f4m_id=None,
     def _parse_f4m_formats(self, manifest, manifest_url, video_id, preference=None, f4m_id=None,
                            transform_source=lambda s: fix_xml_ampersands(s).strip(),
                            transform_source=lambda s: fix_xml_ampersands(s).strip(),
                            fatal=True):
                            fatal=True):
+        # currently youtube-dl cannot decode the playerVerificationChallenge as Akamai uses Adobe Alchemy
+        akamai_pv = manifest.find('{http://ns.adobe.com/f4m/1.0}pv-2.0')
+        if akamai_pv is not None and ';' in akamai_pv.text:
+            playerVerificationChallenge = akamai_pv.text.split(';')[0]
+            if playerVerificationChallenge.strip() != '':
+                return []
+
         formats = []
         formats = []
         manifest_version = '1.0'
         manifest_version = '1.0'
         media_nodes = manifest.findall('{http://ns.adobe.com/f4m/1.0}media')
         media_nodes = manifest.findall('{http://ns.adobe.com/f4m/1.0}media')