Procházet zdrojové kódy

[adn] fix subtitle extraction(#12724)

Remita Amine před 6 roky
rodič
revize
e6c9ae31df
1 změnil soubory, kde provedl 7 přidání a 2 odebrání
  1. 7 2
      youtube_dl/extractor/adn.py

+ 7 - 2
youtube_dl/extractor/adn.py

@@ -60,14 +60,19 @@ class ADNIE(InfoExtractor):
 
 
         enc_subtitles = self._download_webpage(
         enc_subtitles = self._download_webpage(
             urljoin(self._BASE_URL, sub_path),
             urljoin(self._BASE_URL, sub_path),
-            video_id, 'Downloading subtitles data', fatal=False)
+            video_id, 'Downloading subtitles location', fatal=False) or '{}'
+        subtitle_location = (self._parse_json(enc_subtitles, video_id, fatal=False) or {}).get('location')
+        if subtitle_location:
+            enc_subtitles = self._download_webpage(
+                urljoin(self._BASE_URL, subtitle_location),
+                video_id, 'Downloading subtitles data', fatal=False)
         if not enc_subtitles:
         if not enc_subtitles:
             return None
             return None
 
 
         # http://animedigitalnetwork.fr/components/com_vodvideo/videojs/adn-vjs.min.js
         # http://animedigitalnetwork.fr/components/com_vodvideo/videojs/adn-vjs.min.js
         dec_subtitles = intlist_to_bytes(aes_cbc_decrypt(
         dec_subtitles = intlist_to_bytes(aes_cbc_decrypt(
             bytes_to_intlist(compat_b64decode(enc_subtitles[24:])),
             bytes_to_intlist(compat_b64decode(enc_subtitles[24:])),
-            bytes_to_intlist(binascii.unhexlify(self._K + '083db5aebd9353b4')),
+            bytes_to_intlist(binascii.unhexlify(self._K + '4421de0a5f0814ba')),
             bytes_to_intlist(compat_b64decode(enc_subtitles[:24]))
             bytes_to_intlist(compat_b64decode(enc_subtitles[:24]))
         ))
         ))
         subtitles_json = self._parse_json(
         subtitles_json = self._parse_json(