aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemita Amine <remitamine@gmail.com>2019-12-03 11:37:30 +0100
committerRemita Amine <remitamine@gmail.com>2019-12-03 11:37:30 +0100
commit6797de75e059ec02ed91548ec8bfed8c89578344 (patch)
treeb94415a4bf415bbbbc454be18504395b109b7a76
parent12cc89122d1b4e30d4f5a99b2fc0b440217a1693 (diff)
[vzaar] add support for AES HLS manifests(closes #17521)(closes #23299)
-rw-r--r--youtube_dl/extractor/vzaar.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/youtube_dl/extractor/vzaar.py b/youtube_dl/extractor/vzaar.py
index 3336e6c15..b43975ead 100644
--- a/youtube_dl/extractor/vzaar.py
+++ b/youtube_dl/extractor/vzaar.py
@@ -33,6 +33,15 @@ class VzaarIE(InfoExtractor):
'title': 'MP3',
},
}, {
+ # hlsAes = true
+ 'url': 'https://view.vzaar.com/10165560/player',
+ 'md5': '5f66f121fb28b9d16cce3d4f3df7e72e',
+ 'info_dict': {
+ 'id': '10165560',
+ 'ext': 'mp4',
+ 'title': 'Video Demo vzaar Secure.mp4',
+ },
+ }, {
# with null videoTitle
'url': 'https://view.vzaar.com/20313539/download',
'only_matching': True,
@@ -58,6 +67,7 @@ class VzaarIE(InfoExtractor):
f = {
'url': source_url,
'format_id': 'http',
+ 'preference': 1,
}
if 'audio' in source_url:
f.update({
@@ -75,12 +85,13 @@ class VzaarIE(InfoExtractor):
video_guid = video_data.get('guid')
usp = video_data.get('usp')
- if isinstance(video_guid, compat_str) and isinstance(usp, dict):
- m3u8_url = ('http://fable.vzaar.com/v4/usp/%s/%s.ism/.m3u8?'
- % (video_guid, video_id)) + '&'.join(
+ if video_data.get('uspEnabled') and isinstance(video_guid, compat_str) and isinstance(usp, dict):
+ hls_aes = video_data.get('hlsAes')
+ m3u8_url = ('http://fable.vzaar.com/v5/usp%s/%s/%s.ism/.m3u8?'
+ % ('aes' if hls_aes else '', video_guid, video_id)) + '&'.join(
'%s=%s' % (k, v) for k, v in usp.items())
formats.extend(self._extract_m3u8_formats(
- m3u8_url, video_id, 'mp4', entry_protocol='m3u8_native',
+ m3u8_url, video_id, 'mp4', 'm3u8' if hls_aes else 'm3u8_native',
m3u8_id='hls', fatal=False))
self._sort_formats(formats)