[disney] skip Apple FairPlay formats(#14982)
authorRemita Amine <remitamine@gmail.com>
Fri, 15 Dec 2017 08:27:56 +0000 (09:27 +0100)
committerRemita Amine <remitamine@gmail.com>
Fri, 15 Dec 2017 08:28:07 +0000 (09:28 +0100)
youtube_dl/extractor/disney.py

index 968c4c7fd5216f65741ee21a8052452fd3993d40..0eee82fd6b6e79c9aa309f4a18080a3039d82208 100644 (file)
@@ -10,6 +10,7 @@ from ..utils import (
     compat_str,
     determine_ext,
     ExtractorError,
+    update_url_query,
 )
 
 
@@ -108,9 +109,16 @@ class DisneyIE(InfoExtractor):
                 continue
             tbr = int_or_none(flavor.get('bitrate'))
             if tbr == 99999:
-                formats.extend(self._extract_m3u8_formats(
+                # wrong ks(Kaltura Signature) causes 404 Error
+                flavor_url = update_url_query(flavor_url, {'ks': ''})
+                m3u8_formats = self._extract_m3u8_formats(
                     flavor_url, video_id, 'mp4',
-                    m3u8_id=flavor_format, fatal=False))
+                    m3u8_id=flavor_format, fatal=False)
+                for f in m3u8_formats:
+                    # Apple FairPlay
+                    if '/fpshls/' in f['url']:
+                        continue
+                    formats.append(f)
                 continue
             format_id = []
             if flavor_format: