youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit 765522345fcdf726df9b520314fb8802c2fa8459
parent 6bceb36b9939b2fcc8417cc734fa9e376d67e4f2
Author: Jan Kundrát <jkt@flaska.net>
Date:   Fri, 12 May 2017 17:16:50 +0200

[dvtv] Parse adaptive formats as well

The old code hit an error when it attempted to parse the string
"adaptive" for video height. Actually parsing the returned playlists is
a good idea because it adds more output formats, including some
audio-only-ones.

Diffstat:
Myoutube_dl/extractor/dvtv.py | 31++++++++++++++++++++++++-------
1 file changed, 24 insertions(+), 7 deletions(-)

diff --git a/youtube_dl/extractor/dvtv.py b/youtube_dl/extractor/dvtv.py @@ -71,6 +71,14 @@ class DVTVIE(InfoExtractor): }, { 'url': 'http://video.aktualne.cz/v-cechach-poprve-zazni-zelenkova-zrestaurovana-mse/r~45b4b00483ec11e4883b002590604f2e/', 'only_matching': True, + }, { + 'url': 'https://video.aktualne.cz/dvtv/zeman-si-jen-leci-mindraky-sobotku-nenavidi-a-babis-se-mu-te/r~960cdb3a365a11e7a83b0025900fea04/', + 'md5': 'f8efe9656017da948369aa099788c8ea', + 'info_dict': { + 'id': '3c496fec365911e7a6500025900fea04', + 'ext': 'm3u8', + 'title': 'Zeman si jen léčí mindráky, Sobotku nenávidí a Babiš se mu teď hodí, tvrdí Kmenta', + } }] def _parse_video_metadata(self, js, video_id): @@ -79,13 +87,22 @@ class DVTVIE(InfoExtractor): formats = [] for video in metadata['sources']: ext = video['type'][6:] - formats.append({ - 'url': video['file'], - 'ext': ext, - 'format_id': '%s-%s' % (ext, video['label']), - 'height': int(video['label'].rstrip('p')), - 'fps': 25, - }) + if video['label'] != 'adaptive': + formats.append({ + 'url': video['file'], + 'ext': ext, + 'format_id': '%s-%s' % (ext, video['label']), + 'height': int(video['label'].rstrip('p')), + 'fps': 25, + }) + elif video['type'] == 'application/dash+xml': + formats.extend(self._extract_mpd_formats(video['file'], + video_id, + fatal=False)) + elif video['type'] == 'application/vnd.apple.mpegurl': + formats.extend(self._extract_m3u8_formats(video['file'], + video_id, + fatal=False)) self._sort_formats(formats)