Browse Source

[downloader/hls] Use HTTP headers for key request

Sergey M․ 7 years ago
parent
commit
538d4f8681
1 changed files with 2 additions and 1 deletions
  1. 2 1
      youtube_dl/downloader/hls.py

+ 2 - 1
youtube_dl/downloader/hls.py

@@ -163,7 +163,8 @@ class HlsFD(FragmentFD):
                         return False
                         return False
                     if decrypt_info['METHOD'] == 'AES-128':
                     if decrypt_info['METHOD'] == 'AES-128':
                         iv = decrypt_info.get('IV') or compat_struct_pack('>8xq', media_sequence)
                         iv = decrypt_info.get('IV') or compat_struct_pack('>8xq', media_sequence)
-                        decrypt_info['KEY'] = decrypt_info.get('KEY') or self.ydl.urlopen(decrypt_info['URI']).read()
+                        decrypt_info['KEY'] = decrypt_info.get('KEY') or self.ydl.urlopen(
+                            self._prepare_url(info_dict, decrypt_info['URI'])).read()
                         frag_content = AES.new(
                         frag_content = AES.new(
                             decrypt_info['KEY'], AES.MODE_CBC, iv).decrypt(frag_content)
                             decrypt_info['KEY'], AES.MODE_CBC, iv).decrypt(frag_content)
                     self._append_fragment(ctx, frag_content)
                     self._append_fragment(ctx, frag_content)