youtube-dl

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

commit 64f08d4ff2392135be07774f2d5371f111f21592
parent e738e43358a7f34dbbcb73b45b228d7b9b3360a7
Author: Yen Chi Hsuan <yan12125@gmail.com>
Date:   Fri, 11 Mar 2016 21:40:07 +0800

Merge pull request #8766 from yan12125/dash-detect-ext

Detect file extensions of DASH formats from their codecs
Diffstat:
Myoutube_dl/extractor/common.py | 2++
Myoutube_dl/utils.py | 16++++++++++++++++
2 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py @@ -29,6 +29,7 @@ from ..utils import ( age_restricted, bug_reports_message, clean_html, + codec2ext, compiled_regex_type, determine_ext, error_to_compat_str, @@ -1471,6 +1472,7 @@ class InfoExtractor(object): f = { 'format_id': '%s-%s' % (mpd_id, representation_id) if mpd_id else representation_id, 'url': base_url, + 'ext': codec2ext(representation_attrib.get('codecs')), 'width': int_or_none(representation_attrib.get('width')), 'height': int_or_none(representation_attrib.get('height')), 'tbr': int_or_none(representation_attrib.get('bandwidth'), 1000), diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py @@ -1893,6 +1893,22 @@ def mimetype2ext(mt): }.get(res, res) +def codec2ext(codec): + codec_type = codec.split('.')[0] + + # Leave the return value None for unknown values as codec_type + # is not a good fallback for file extensions + return { + 'avc1': 'mp4', + 'avc2': 'mp4', + 'avc3': 'mp4', + 'avc4': 'mp4', + 'mp4a': 'm4a', + 'vorbis': 'webm', + 'vp9': 'webm', + }.get(codec_type) + + def urlhandle_detect_ext(url_handle): try: url_handle.headers