From: Yen Chi Hsuan Date: Wed, 7 Sep 2016 16:08:02 +0000 (+0800) Subject: Merge branch 'miaopai' of https://github.com/xyb/youtube-dl into xyb-miaopai X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=commitdiff_plain;h=2841bdcebb308cab2a6af6b970459889392faa40;hp=a493f1020888e87a464ab8a948c797c18fc3aca3;p=youtube-dl Merge branch 'miaopai' of https://github.com/xyb/youtube-dl into xyb-miaopai --- diff --git a/AUTHORS b/AUTHORS index c4bef040a..78660f014 100644 --- a/AUTHORS +++ b/AUTHORS @@ -183,3 +183,4 @@ Petr Zvoníček Pratyush Singh Aleksander Nitecki Sebastian Blunt +Matěj Cepl diff --git a/ChangeLog b/ChangeLog index d392513ce..8322af9d1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +version + +Extractors +* [gamestar] Fix metadata extraction (#10479) ++ [bilibili] Support episodes (#10190) ++ [tvnoe] New extractor (#10524) + + version 2016.09.04.1 Core diff --git a/README.md b/README.md index 207b633db..7543f81ac 100644 --- a/README.md +++ b/README.md @@ -851,6 +851,16 @@ will download the complete `PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re` playlist and cre youtube-dl --download-archive archive.txt "https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re" +### Should I add `--hls-prefer-native` into my config? + +When youtube-dl detects an HLS video, it can download it either with the built-in downloader or ffmpeg. Since many HLS streams are slightly invalid and ffmpeg/youtube-dl each handle some invalid cases better than the other, there is an option to switch the downloader if needed. + +When youtube-dl knows that one particular downloader works better for a given website, that downloader will be picked. Otherwise, youtube-dl will pick the best downloader for general compatibility, which at the moment happens to be ffmpeg. This choice may change in future versions of youtube-dl, with improvements of the built-in downloader and/or ffmpeg. + +In particular, the generic extractor (used when your website is not in the [list of supported sites by youtube-dl](http://rg3.github.io/youtube-dl/supportedsites.html) cannot mandate one specific downloader. + +If you put either `--hls-prefer-native` or `--hls-prefer-ffmpeg` into your configuration, a different subset of videos will fail to download correctly. Instead, it is much better to [file an issue](https://yt-dl.org/bug) or a pull request which details why the native or the ffmpeg HLS downloader is a better choice for your use case. + ### Can you add support for this anime video site, or site which shows current movies for free? As a matter of policy (as well as legality), youtube-dl does not include support for services that specialize in infringing copyright. As a rule of thumb, if you cannot easily find a video that the service is quite obviously allowed to distribute (i.e. that has been uploaded by the creator, the creator's distributor, or is published under a free license), the service is probably unfit for inclusion to youtube-dl. diff --git a/youtube_dl/extractor/abc7news.py b/youtube_dl/extractor/abc7news.py deleted file mode 100644 index c04949c21..000000000 --- a/youtube_dl/extractor/abc7news.py +++ /dev/null @@ -1,68 +0,0 @@ -from __future__ import unicode_literals - -import re - -from .common import InfoExtractor -from ..utils import parse_iso8601 - - -class Abc7NewsIE(InfoExtractor): - _VALID_URL = r'https?://abc7news\.com(?:/[^/]+/(?P[^/]+))?/(?P\d+)' - _TESTS = [ - { - 'url': 'http://abc7news.com/entertainment/east-bay-museum-celebrates-vintage-synthesizers/472581/', - 'info_dict': { - 'id': '472581', - 'display_id': 'east-bay-museum-celebrates-vintage-synthesizers', - 'ext': 'mp4', - 'title': 'East Bay museum celebrates history of synthesized music', - 'description': 'md5:a4f10fb2f2a02565c1749d4adbab4b10', - 'thumbnail': 're:^https?://.*\.jpg$', - 'timestamp': 1421123075, - 'upload_date': '20150113', - 'uploader': 'Jonathan Bloom', - }, - 'params': { - # m3u8 download - 'skip_download': True, - }, - }, - { - 'url': 'http://abc7news.com/472581', - 'only_matching': True, - }, - ] - - def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - video_id = mobj.group('id') - display_id = mobj.group('display_id') or video_id - - webpage = self._download_webpage(url, display_id) - - m3u8 = self._html_search_meta( - 'contentURL', webpage, 'm3u8 url', fatal=True) - - formats = self._extract_m3u8_formats(m3u8, display_id, 'mp4') - self._sort_formats(formats) - - title = self._og_search_title(webpage).strip() - description = self._og_search_description(webpage).strip() - thumbnail = self._og_search_thumbnail(webpage) - timestamp = parse_iso8601(self._search_regex( - r'
\s*