Commit Graph

777 Commits (eaedbfd97e860214399b0028fc47a487762e8294)

Author SHA1 Message Date
Lukáš Lalinský 313dfc45f5 [youtube] Ignore yt:stretch with zero width/height 9 years ago
Sergey M? 5c2266df4b Switch codebase to use sanitized_Request instead of
compat_urllib_request.Request

[downloader/dash] Use sanitized_Request

[downloader/http] Use sanitized_Request

[atresplayer] Use sanitized_Request

[bambuser] Use sanitized_Request

[bliptv] Use sanitized_Request

[brightcove] Use sanitized_Request

[cbs] Use sanitized_Request

[ceskatelevize] Use sanitized_Request

[collegerama] Use sanitized_Request

[extractor/common] Use sanitized_Request

[crunchyroll] Use sanitized_Request

[dailymotion] Use sanitized_Request

[dcn] Use sanitized_Request

[dramafever] Use sanitized_Request

[dumpert] Use sanitized_Request

[eitb] Use sanitized_Request

[escapist] Use sanitized_Request

[everyonesmixtape] Use sanitized_Request

[extremetube] Use sanitized_Request

[facebook] Use sanitized_Request

[fc2] Use sanitized_Request

[flickr] Use sanitized_Request

[4tube] Use sanitized_Request

[gdcvault] Use sanitized_Request

[extractor/generic] Use sanitized_Request

[hearthisat] Use sanitized_Request

[hotnewhiphop] Use sanitized_Request

[hypem] Use sanitized_Request

[iprima] Use sanitized_Request

[ivi] Use sanitized_Request

[keezmovies] Use sanitized_Request

[letv] Use sanitized_Request

[lynda] Use sanitized_Request

[metacafe] Use sanitized_Request

[minhateca] Use sanitized_Request

[miomio] Use sanitized_Request

[meovideo] Use sanitized_Request

[mofosex] Use sanitized_Request

[moniker] Use sanitized_Request

[mooshare] Use sanitized_Request

[movieclips] Use sanitized_Request

[mtv] Use sanitized_Request

[myvideo] Use sanitized_Request

[neteasemusic] Use sanitized_Request

[nfb] Use sanitized_Request

[niconico] Use sanitized_Request

[noco] Use sanitized_Request

[nosvideo] Use sanitized_Request

[novamov] Use sanitized_Request

[nowness] Use sanitized_Request

[nuvid] Use sanitized_Request

[played] Use sanitized_Request

[pluralsight] Use sanitized_Request

[pornhub] Use sanitized_Request

[pornotube] Use sanitized_Request

[primesharetv] Use sanitized_Request

[promptfile] Use sanitized_Request

[qqmusic] Use sanitized_Request

[rtve] Use sanitized_Request

[safari] Use sanitized_Request

[sandia] Use sanitized_Request

[shared] Use sanitized_Request

[sharesix] Use sanitized_Request

[sina] Use sanitized_Request

[smotri] Use sanitized_Request

[sohu] Use sanitized_Request

[spankwire] Use sanitized_Request

[sportdeutschland] Use sanitized_Request

[streamcloud] Use sanitized_Request

[streamcz] Use sanitized_Request

[tapely] Use sanitized_Request

[tube8] Use sanitized_Request

[tubitv] Use sanitized_Request

[twitch] Use sanitized_Request

[twitter] Use sanitized_Request

[udemy] Use sanitized_Request

[vbox7] Use sanitized_Request

[veoh] Use sanitized_Request

[vessel] Use sanitized_Request

[vevo] Use sanitized_Request

[viddler] Use sanitized_Request

[videomega] Use sanitized_Request

[viewvster] Use sanitized_Request

[viki] Use sanitized_Request

[vk] Use sanitized_Request

[vodlocker] Use sanitized_Request

[voicerepublic] Use sanitized_Request

[wistia] Use sanitized_Request

[xfileshare] Use sanitized_Request

[xtube] Use sanitized_Request

[xvideos] Use sanitized_Request

[yandexmusic] Use sanitized_Request

[youku] Use sanitized_Request

[youporn] Use sanitized_Request

[youtube] Use sanitized_Request

[patreon] Use sanitized_Request

[extractor/common] Remove unused import

[nfb] PEP 8
9 years ago
Sergey M․ 9022726446 [youtube] Fix test 9 years ago
Sergey M․ 94bfcd23b7 [youtube] Fix test 9 years ago
Sergey M․ 526b3b0716 [youtube] Clarify ytplayer.config extraction rationale 9 years ago
Sergey M․ 61f92af1cf [youtube] Add test with '};' in tags 9 years ago
Sergey M․ a72778d364 [youtube] Improve ytplayer.config extraction 9 years ago
Sergey M 5ae17037a3 Merge pull request #7599 from lalinsky/fix-youtube
[youtube] More explicit player config JSON extraction (fixes #7468)
9 years ago
Lukáš Lalinský b41631c4e6 [youtube] Send the list of patterns directly to _search_regex 9 years ago
Lukáš Lalinský 0e49d9a6b0 [youtube] Fall back to the original regex for ytplayer.config 9 years ago
Lukáš Lalinský 3cfd000849 [youtube] More explicit player config JSON extraction (fixes #7468) 9 years ago
Sergey M․ e568c2233e [youtube] Add test for multi page list of playlists 9 years ago
Sergey M․ 061a75edd6 [youtube] Extract base for entry list extractors and support multi page lists of playlists 9 years ago
Sergey M․ 136dadde95 [youtube:show] Rework in terms of playlists base extractor 9 years ago
Sergey M․ 0c14841585 [youtube:user:playlists] Add extractor (Closes #3817) 9 years ago
Jaime Marquínez Ferrándiz 63b4295d20 [youtube:playlist] fix title extraction (fixes #7544 and #7545) 9 years ago
Yen Chi Hsuan 50f84a9ae1 [youtube] Support new base.js html5 player 9 years ago
Sergey M․ 89ea063eeb [youtube] Clarify rationale for preferring a video info with token (#7362) 9 years ago
Sergey M․ 44b2264fea [youtube] Prefer video_info with token available 9 years ago
Jaime Marquínez Ferrándiz 5c43afd40f [youtube:channel] Support age restricted channels (fixes #7277) 9 years ago
Jaime Marquínez Ferrándiz 9170ca5b16 [youtube:channel] Fix test 9 years ago
Sergey M․ 648e6a1ffe [youtube] Generalize playlist entries extraction (Closes #6699, closes #6992) 9 years ago
Philipp Hagemeister 2b3c254678 [youtube:channel] Correct 404 handling
Previously, when we encountered a 404 - such as youtube-dl https://www.youtube.com/ohJeiboh8oorehai - we crashed with a regexp error. Instead, make sure to go on and eventually report a 404.
9 years ago
Philipp Hagemeister 287be8c615 [youtube:truncated_url] Add ?t=
Sometimes found in links - ?t=123&v=ABCD starts the video at position 123.
9 years ago
Jaime Marquínez Ferrándiz 4003bd82b0 [youtube:shows] Use https 9 years ago
remitamine 8801255d7d [youtube] fix show extraction (fixes #4841)
Closes #6782)
9 years ago
Sergey M․ 515fc8776f [youtube] Use encode_dict 9 years ago
Sergey M․ aabc2be693 [youtube] Simplify and extract more metadata from url_encoded_fmt_stream_map (Closes #5993) 9 years ago
Anssi Hannula c9afb51cea [youtube] Fix missing format details for 60fps DASH formats
60fps DASH formats do not appear in the DASH manifest, but the non-DASH
video info page does contain additional parameters for DASH formats that
we can parse.

Use those when they exist.

This fixes "bestvideo" not selecting 60fps formats over similar 30fps
formats just because the file size is unknown.
9 years ago
Jaime Marquínez Ferrándiz 4bc8eec4eb [youtube] Adapt player version regex to handle urls ending in '/html5player-new.js'
It was always extracting 'new' as the version, breaking the cache system.
9 years ago
Sergey M․ cbaed4bb5e [youtube] Expand _VALID_URL to support vid.plus 9 years ago
Sergey M․ f74a7348f6 [youtube:search_url] Fix extraction (Closes #6578) 9 years ago
Sergey M․ 041bc3adc5 [youtube] Simplify two-factor authentication 9 years ago
reddraggone9 9303ce3e69 [youtube] Fix two-factor authentication 9 years ago
Sergey M․ f57b7835e2 [youtube] Update tests 9 years ago
Sergey M․ 34952f09e1 [youtube] Add age limit to tests 9 years ago
Sergey M․ 34a7de2970 [youtube] Skip download for multiple v= test 9 years ago
Puck Meerburg 11b5605815 [youtube] Use the first v= argument in the URL
This is according to how youtube handles multiple v= values in one URL.
Before this, it was possible to make a single URL show up differently
 on youtube itself, and if you downloaded/viewed it with youtube-dl/mpv
9 years ago
Jaime Marquínez Ferrándiz 34866b4836 Merge remote-tracking branch 'dstftw/multifeed-videos' (closes #6360) 9 years ago
Sergey M․ 5e1eddb939 [youtube] Show info message for multifeed videos according to noplaylist option 9 years ago
Sergey M․ 000b6b5ae5 [youtube] Improve tags extraction and add test 9 years ago
Purdea Andrei a6f774e901 [youtube]: tags key in info jason is now a list 9 years ago
Purdea Andrei f171bc8b59 [youtube] save keywords in info jason when --write-info-json is used 9 years ago
Jaime Marquínez Ferrándiz 4c6bd5b5b6 [youtube] Use 'vp8' and 'vp9' in lowercase (fixes #6358)
That's how YouTube reports them in their DASH manifest.
9 years ago
Sergey M․ d8f0a9ecea [youtube] Respect noplaylist for multifeed videos 9 years ago
Sergey M․ cf7e015f25 [youtube] Add support for multifeed videos 9 years ago
Sergey M․ 678e436f2e [youtube] Handle empty allowed regions (Closes #6351) 9 years ago
Sergey M. cdad742700 Merge pull request #6306 from jaimeMF/extract_start_time
[youtube] Extract start_time
9 years ago
Jaime Marquínez Ferrándiz 2929fa0e79 [youtube] Also look into the 'start' field for start_time 9 years ago
Jaime Marquínez Ferrándiz 297a564bee [youtube] Extract end_time 9 years ago
Jaime Marquínez Ferrándiz 87dc451108 [youtube] Don't use the DASH manifest from 'get_video_info' if 'use_cipher_signature' is True (#5118)
Currently they give a 403 Forbidden error.
10 years ago
Jaime Marquínez Ferrándiz 7c80519cbf [youtube] Extract start_time
From the 't=*' in the url.
Currently youtube-dl doesn't use the value, but it was requested for the mpv plugin.
10 years ago
Jaime Marquínez Ferrándiz 2fe1ff8582 [youtube] Set 'is_live' 10 years ago
Jaime Marquínez Ferrándiz 17ee98e1a5 [youtube] Fix upload_date in test 10 years ago
Jaime Marquínez Ferrándiz 2ee8f5d80f Merge remote-tracking branch 'yan12125/download-dash-segments' (#5886) 10 years ago
Sergey M․ 7fd002c006 [youtube] Use compat_urllib_parse_unquote and compat_urllib_parse_unquote_plus 10 years ago
Sergey M․ 77c6fb5b24 [youtube] Make further DASH manifests not fatal after succeeded one 10 years ago
Sergey M․ 9d0b581fea [youtube] Prefer meta for upload date and modernize 10 years ago
Sergey M․ f0714c9f86 [youtube] Speed up upload date regex (#6125) 10 years ago
Sergey M. dc2bd20e55 Merge pull request #6098 from dstftw/use-codecs-from-dash-manifest
[youtube] Pick up codecs info from DASH manifest when not set explicitly
10 years ago
Sergey M. c608ee491f Merge pull request #6097 from dstftw/union-itags-from-multiple-dashmpd
[youtube] Extract formats from multiple DASH manifests (Closes #6093)
10 years ago
Sergey M․ c93d53f5e3 [youtube] Fix likes/dislike extraction 10 years ago
Sergey M․ da77d856a1 [youtube] Add test for #6093 10 years ago
Sergey M․ 0a3cf9ad3d [youtube] Skip get_video_info requests when --youtube-skip-dash-manifest is specified 10 years ago
Sergey M․ bc93bdb5bb [youtube] Fix reference before assignment for video_info 10 years ago
Yen Chi Hsuan af214c3a79 [youtube] More useful messages for georestricted videos (#5716) 10 years ago
Sergey M․ d80265ccd6 [youtube] Simplify non-DASH formats exclusion 10 years ago
Sergey M․ 1b5a1ae257 [youtube] Pick up codecs info from DASH manifest when not set explicitly 10 years ago
Sergey M․ d8d24a922a [youtube] Extract formats from multiple DASH manifests (Closes #6093)
DASH manifest pointed by dashmpd from the video webpage and one pointed by get_video_info may
be different (namely different itag set) - some itags are missing from DASH manifest pointed by
webpage's dashmpd, some - from DASH manifest pointed by get_video_info's dashmpd).
The general idea is to take a union of itags of both DASH manifests (for example video with such
'manifest behavior' see https://github.com/rg3/youtube-dl/issues/6093).
10 years ago
Sergey M․ c9bebed294 [youtube] Add itag 59 and 78 (Closes #5979) 10 years ago
Sergey M․ 02175a7986 [youtube:search] Fix search query (Closes #5988) 10 years ago
Yen Chi Hsuan 8a1a26ce4c [youtube] Add a test for the DASH segment downloader 10 years ago
Yen Chi Hsuan 0c8662d2b6 [youtube] Fix a TypeError caused by 4da31bd566 10 years ago
Jaime Marquínez Ferrándiz 70219b0f43 [youtube:playlist] Use an iterator for the entries (closes #5935)
So that '--playlist-end' downloads only the required pages.
10 years ago
Yen Chi Hsuan e1b9322b09 [youtube] Restricter DASH signature pattern
A problematic DASH url is:
https://manifest.googlevideo.com/api/manifest/dash/mm/35/key/yt5/ip/140.112.247.145/ms/pm/mv/s/mt/1433794435/id/o-AD2Od_dsOlAUYPu03ZsVWKSbGEbCJJrMp9vnXGhnyRhd/mn/sn-aigllm7r/sparams/as%2Chfr%2Cid%2Cip%2Cipbits%2Citag%2Cmm%2Cmn%2Cms%2Cmv%2Cnh%2Cpl%2Cplayback_host%2Crequiressl%2Csource%2Cexpire/fexp/9406009%2C9406821%2C9407575%2C9408142%2C9408420%2C9408710%2C9409121%2C9409208%2C9412514%2C9412780%2C9413208%2C9413426%2C9413476%2C9413503%2C9415304%2C9415753/upn/viDQrs8SnmE/as/fmp4_audio_clear%2Cwebm_audio_clear%2Cfmp4_sd_hd_clear%2Cwebm_sd_hd_clear%2Cwebm2_sd_hd_clear/playback_host/r4---sn-aigllm7r.googlevideo.com/ipbits/0/requiressl/yes/pl/20/itag/0/source/youtube/expire/1433824806/nh/EAQ/signature/81ABE6391E351BA495F5B041B00FF1257A353318.1A6E48ABB74E8F4AE73CA2CB1F963FC34E33DEE7/sver/3/hfr/1
10 years ago
Yen Chi Hsuan 4da31bd566 [youtube] Fix a FutureWarning from xml.etree.ElementTree 10 years ago
Sergey M․ 3d8e9573a4 [youtube:channel] Improve channel id extraction (#5904) 10 years ago
Yen Chi Hsuan 423d2be5f8 [downloader/dash] Rename the protocol
'http_dash_segments' looks more like a protocol name than
'dash_segments'
10 years ago
Yen Chi Hsuan b9258c6178 [YoutubeDL] Change how DashSegmentsFD is selected 10 years ago
Yen Chi Hsuan 6800d3372f [YoutubeDL] Support DASH manifest downloading 10 years ago
Ivan Kozik d2a9de78df [youtube] Construct a playlist URL in case the page is missing one
This fixes jumping from user/channel -> playlist for some users like
https://www.youtube.com/user/BitcoinFoundation

This also removes the superfluous log message
"add --no-playlist to just download video VIDEOID"
when downloading a user/channel.
10 years ago
Sergey M․ 386bdfa698 [youtube:user] Workaround 35 pages limitation (Closes #5778) 10 years ago
Jaime Marquínez Ferrándiz 04b3b3df05 [youtube] Remove the nondash formats (fixes #5774)
Since we use fixed values for some fields like width and height they can be wrong, and would get picked by some formats filters.
For example for https://www.youtube.com/watch?v=EQCrhbBxsjA the biggest height is 720 and for nondash formats it's set to 1440, so -f 'bestvideo[height>=1200]+bestaudio' would incorrectly pick the nondash format, instead it should report that the requested format is not available.
10 years ago
Sergey M․ 62c95fd5fc [youtube:feed] Check each 'load more' portion for unique video ids 10 years ago
Sergey M․ 25f14e9f93 [youtube] Separate feed extractor 10 years ago
Jaime Marquínez Ferrándiz 2bc4330303 [youtube:history] Fix extraction (fixes #5702)
It uses the same method as YoutubeSubscriptionsIE, if other feed starts using it we should consider using base class.
10 years ago
Yen Chi Hsuan 39b62db116 [youtube] Catch more alert messages (closes #5074) 10 years ago
Sergey M․ 9dd8e46a2d [youtube:search] Cancel out _TESTS 10 years ago
Jaime Marquínez Ferrándiz b4c0806963 [youtube:ytsearch] Use the same system as the search webpage (fixes #5483)
The gdata api V2 was deprecated and according to http://youtube-eng.blogspot.com.es/2014/03/committing-to-youtube-data-api-v3_4.html remains available until April 20, 2015.
10 years ago
Sergey M․ cc38fa6cfb [youtube] Remove unused import 10 years ago
Sergey M․ 6de5dbafee [youtube:channel] Make `extract_videos_from_page` static 10 years ago
Sergey M․ 60bf45c80d [youtube:channel] Specify first page download message 10 years ago
Sergey M․ eb0f3e7ec0 [youtube:user] Extract in terms of `load_more_widget_html` 10 years ago
Sergey M․ ed553379df [youtube:ytsearch] Temporary workaround (#5483) 10 years ago
Sergey M․ 8f02ad4f12 [youtube] Simplify 10 years ago
Sergey M․ 7bd930368c [youtube] Remove unused variable 10 years ago
Sergey M․ fb69240ca0 [youtube] Extract video titles for channel playlist if possible (Closes #4971) 10 years ago
Yen Chi Hsuan de5c545648 [youtube] Skip WebVTT in DASH manifest (#5297) 10 years ago
Sergey M․ e40bd5f06b [youtube] Simplify url_encoded_fmt_stream_map check 10 years ago
Sergey M․ 06b491eb7b [youtube] Add test for #5361 10 years ago
Yen Chi Hsuan 3a9fadd6df [youtube] Enhance url_encoded_fmt_stream_map checking (fix #5361) 10 years ago
Jaime Marquínez Ferrándiz 157e9e5aa5 [youtube:watchlater] Remove unused properties and fix tests 10 years ago
Sergey M․ 7e17ec8c71 [youtube] Clarify some IE_NAMEs 10 years ago
Sergey M․ 448830ce7b [youtube:watchlater] Extract watchlater as playlist (Closes #5280) 10 years ago
Sergey M․ 98998cded6 [youtube:search_url] Fix extraction (Closes #5155) 10 years ago
Sergey M․ 99209c2916 [youtube] Extract UL playlists as mixes (Closes #5040) 10 years ago
Jaime Marquínez Ferrándiz bfc993cc91 Merge branch 'subtitles-rework'
(Closes PR #4964)
10 years ago
Philipp Hagemeister 785521bf4f [youtube] Remove useless if 10 years ago
Philipp Hagemeister 6d1a55a521 [youtube] Show entire player URL when -v is given 10 years ago
Jaime Marquínez Ferrándiz 360e1ca5cc [youtube] Convert to new subtitles system
The automatic captions are stored in the 'automactic_captions' field, which is used if no normal subtitles are found for an specific language.
10 years ago
Jaime Marquínez Ferrándiz 2d30521ab9 [youtube] Extract average rating (closes #2362) 10 years ago
Jaime Marquínez Ferrándiz ba61796458 [youtube] Don't override format info from the dash manifest (fixes #4911) 10 years ago
Philipp Hagemeister acf757f42e [youtube] Complete test definition 10 years ago
Philipp Hagemeister 70fca8d694 [youtube] Remove unused import 10 years ago
Philipp Hagemeister 6449cd807e [youtube] Fall back to embed webpage when content is blocked on main (Fixes #4717) 10 years ago
Philipp Hagemeister c1708b89c0 [youtube:truncated_url] Add hl= forms (#4799) 10 years ago
Philipp Hagemeister b95aab8482 [youtube:truncated_url] Add x-yt-cl URLs (#4773) 10 years ago
Philipp Hagemeister 62cd676c74 [youtube] Fixup DASH m4a headers
This fixes #2288, #2506, #2607, #3681, #4741, #4767.
10 years ago
Sergey M․ aaeb86f682 [youtube] Add test for #4706 10 years ago
Phil Kulak a9b6b5cd15 Looks like Google switched to a new JS compiler that includes dollar signs in function names. 10 years ago
Philipp Hagemeister 6271f1cad9 [youtube|ffmpeg] Automatically correct video with non-square pixels (Fixes #4674) 10 years ago
Philipp Hagemeister 230b2287dd [youtube] Add acodec information
The codec seems to be consistently aac, so state that in our metadata.
10 years ago
Philipp Hagemeister 9ed99402f5 [youtube] Fix test case 10 years ago
Jaime Marquínez Ferrándiz 76b3c61012 [youtube] Add formats 308 and 315 (closes #4650) 10 years ago
Philipp Hagemeister ee61f6f3e2 [youtube] Handle cases where format comes without a preference (Fixes #4648) 10 years ago
Jaime Marquínez Ferrándiz 2f985f4bb4 [youtube:toplist] Remove extractor
They use now normal playlists (their id is PL*).
10 years ago
Philipp Hagemeister e65566a9cc [youtube] Correct handling when DASH manifest is not necessary to find all formats 10 years ago
Philipp Hagemeister 772fd5cc44 [youtube] Add a pseudo-extractor for truncated YouTube video IDs (#4610) 10 years ago
Jaime Marquínez Ferrándiz 60e47a2699 [youtube] Use '_download_xml' for getting the available subtitles 10 years ago
Jaime Marquínez Ferrándiz 7d900ef1bf [youtube] Add support for automatically translated subtitles (fixes #4555)
They have a manually uploaded subtitles track and YouTube can transtale it.
10 years ago
Sergey M․ fccae2b911 [youtube] Add test for age-gate video with encrypted signature 10 years ago
Cédric Luthi beb95e7781 [youtube] Fix videos with age gate and encrypted signatures
The `sts` value is available on the embed webpage, get it from there.

Fixes #4108.
10 years ago
Philipp Hagemeister 7af808a5ef Improve code style 10 years ago
Philipp Hagemeister 84d84211ac [youtube:feeds] (Fixes #4486) 10 years ago
Jaime Marquínez Ferrándiz 4b7df0d30c [youtube:playlist] Work around buggy playlists (fixes #4449)
They show a "Load more" button, but they don't have more videos.
The continuation url in the json file was a link to itself, so we ended up in an infinite loop.
10 years ago
Philipp Hagemeister 60620368d7 [youtube] Fix player ID detection 10 years ago
Jaime Marquínez Ferrándiz 26c06f0c51 [youtube:playlist] Remove unused property 10 years ago
Jaime Marquínez Ferrándiz 23d3608c6b [youtube:channel] Fix extraction (fixes #4435)
It uses now the same pagination system as playlists
10 years ago
Philipp Hagemeister cbe2bd914d [youtube] Amend test 10 years ago
Philipp Hagemeister 75111274ed [youtube] Do not warn if DASH manifest is missing (#4442) 10 years ago
Philipp Hagemeister 624dcebff6 [youtube] Make category optional (#4442) 10 years ago
Philipp Hagemeister 9684f17cde Merge remote-tracking branch 'akretz/youtube_fix' 10 years ago
Philipp Hagemeister e52a40abf7 [youtube] Add test case for #4431 10 years ago
Adrian Kretz 24270b0301 [youtube] The case that 'url_encoded_fmt_stream_map' or 'adaptive_fmts' is the empty string is handled accordingly (fixes #4431) 10 years ago
Philipp Hagemeister 4bb4a18876 [youtube] Fix imports 10 years ago
Philipp Hagemeister da27660014 [youtube] Pass in all variables to DASH manifest (Fixes #4424) 10 years ago
Philipp Hagemeister 774e208f94 [youtube] Handle missing DASH manifest (Fixes #4421, fixes #4420) 10 years ago
Philipp Hagemeister b82f815f37 Allow iterators for playlist result entries 10 years ago
Philipp Hagemeister 9ff6772790 [youtube] Modernize 10 years ago
Philipp Hagemeister 810fb84d5e pep8 and minor beautification all around 10 years ago
Jaime Marquínez Ferrándiz c41a9650c3 [youtube] Extract framerate from the dash manifest
Not all videos have 60 fps, for example they can have 48 fps.
10 years ago
Jaime Marquínez Ferrándiz c522adb1f0 [youtube] Add a normal age-gate test video 10 years ago
Jaime Marquínez Ferrándiz 7160532d41 [youtube] Simplify code for getting the dash manifest url
video_info contains now the 'ytplayer.config.args' dictionary
10 years ago
Jaime Marquínez Ferrándiz 4e62ebe250 [youtube] Try to extract the video_info from the webpage before requesting the 'get_video_info' pages
The YouTube player doesn't seem to use them except for embedded videos, so we can skip a network request.
But they still provide better error mesagges (for removed videos for example).
10 years ago
Jaime Marquínez Ferrándiz b766eb2707 [youtube] Update test 10 years ago
Jaime Marquínez Ferrándiz 10a404c335 [youtube] Add format 313 (fixes #4339) 10 years ago
Jaime Marquínez Ferrándiz 42939b6129 [youtube] Use a cookie for seeting the language
This way, we don't have to do an aditional request
10 years ago
Jaime Marquínez Ferrándiz 37ea8164d3 [youtube] Don't confirm age when initializing
It seems that all the videos with age restriction use now the age gate method, which doesn't require any confirmation.
10 years ago
Philipp Hagemeister 0792d5634e [youtube] Remove useless u prefixes 10 years ago
Philipp Hagemeister 27f8b0994e Merge remote-tracking branch 'jtwaleson/master' 10 years ago
Jouke Waleson 9e1a5b8455 PEP8: applied even more rules 10 years ago
Philipp Hagemeister 784b6d3a9b Merge remote-tracking branch 'jtwaleson/master' 10 years ago
Jouke Waleson 8bcc875676 PEP8: more applied 10 years ago
Jouke Waleson 5f6a1245ff PEP8 applied 10 years ago
Philipp Hagemeister f3a3407226 [youtube] Clarify keywords 10 years ago
Philipp Hagemeister aa79ac0c82 [youtube] Support controversy videos (Fixes #4275) 10 years ago
Philipp Hagemeister 0857baade3 [youtube] Add webm audio formats (Fixes #4229) 10 years ago
Philipp Hagemeister 23ad44b57b [youtube] Better error message for DASH manifest 10 years ago
Aaron Wojnowski 894dd8682e Fix YouTube signature extraction. 10 years ago
Philipp Hagemeister a1cf99d03a [YoutubeDL] Add playlist_id and playlist_title fields (Fixes #4139) 10 years ago
Philipp Hagemeister 20436c30c9 [youtube] Clarify output 10 years ago
Philipp Hagemeister 94bd361318 [youtube] Skip sts if missing (Fixes #4095, fixes #4103) 10 years ago
Philipp Hagemeister 0d2c141865 [youtube] Detect formats 298 et al as mp4 (Fixes #4066) 10 years ago
Philipp Hagemeister 7b6de3728a [youtube] Add format 266 (Fixes #4055) 10 years ago
Philipp Hagemeister a51d3aa001 [youtube] Add support for formats 302 and 303 (Fixes #4060) 10 years ago
Philipp Hagemeister fbb21cf528 [youtube] Add formats 298, 299 (Fixes #4056) 10 years ago
Philipp Hagemeister f46a8702cc [youtube:playlist] Fix test title 10 years ago
Philipp Hagemeister bfc2bedcfc [youtube] Make confirm_age non-fatal (#4042) 10 years ago
Philipp Hagemeister 6b445558ff [youtube] Only set language when necessary
We only need to set the language when we are using a login; otherwise it will always be English.
10 years ago
Philipp Hagemeister 1cc887cbf0 [youtube] Add support for format 278 10 years ago
Philipp Hagemeister 203fb43f36 [youtube] Download DASH manifest by default (Closes #3887) 10 years ago
Philipp Hagemeister a1f934b171 [youtube] Correct language cookie handling 10 years ago
Philipp Hagemeister e2dce53781 [youtube] Always request webpage in English (Fixes #3844) 10 years ago
Philipp Hagemeister 9c44d2429b [vimeo:likes] Support large like lists (Fixes #3847) 10 years ago
Philipp Hagemeister 6b08cdf626 [youtube] Support for embedded /p players (Fixes #3821) 10 years ago
Philipp Hagemeister ac7553d031 [youtube] Support embed/videoseries URLs (#3821) 10 years ago
Philipp Hagemeister cdc628a498 [youtube] Move more tests to extractors 10 years ago
Philipp Hagemeister 69ea8ca42c [youtube] Remove superfluous unicode specifiers 10 years ago
Philipp Hagemeister 4bc3a23ec5 [youtube] Modernize 10 years ago
Philipp Hagemeister 78caa52aea [youtube] Modernize 10 years ago
Philipp Hagemeister 310d75d141 [youtube] Correct description in test case 10 years ago
Philipp Hagemeister 9291475f7d [youtube] Move more tests to Playlist IE, and simply suitable. 10 years ago
Philipp Hagemeister 81127aa55d [youtube] Move playlist test to extractor 10 years ago
Philipp Hagemeister 9b583dca4c Merge remote-tracking branch 'drags/yt-feed-loadmore' 10 years ago
Jaime Marquínez Ferrándiz edb53e2dc3 [youtube] Don't make the url protocol optional
The generic extractor will add it.
10 years ago
Philipp Hagemeister a0e07d3161 [youtube] Move cache into its own module 10 years ago
Philipp Hagemeister c9cc0bf57b [youtube:playlist] PEP8 10 years ago
Jaime Marquínez Ferrándiz 9ea9b61448 Merge branch 'master' of github.com:rg3/youtube-dl 10 years ago
Jaime Marquínez Ferrándiz 1ed5b5c9c8 [youtube:subscriptions] Fix extraction (fixes #2975) 10 years ago
Philipp Hagemeister 55f7bd2dcc [youtube] Fix category extraction 10 years ago
Philipp Hagemeister 3e7c12240c [youtube] Test for like_count and dislike_count (#3633) 10 years ago
Jaime Marquínez Ferrándiz f30a38be8b [youtube] Fix extraction of like and dislike count (fixes #3633) 10 years ago
Philipp Hagemeister 9480d1a566 Merge remote-tracking branch 'riking/twofactor' 10 years ago
Philipp Hagemeister bd9820c937 Merge remote-tracking branch 'liudongmiao/patch-subtitle' 10 years ago
Philipp Hagemeister 55db73efdf [youtube] tag 171 is 128KBits (Fixes #3542) 10 years ago
Philipp Hagemeister 55c49908d2 [youtube] Handle incorrectly written cache files (#3549) 10 years ago
riking 83317f6938 [youtube] Add two-factor account signin (TOTP only)
Additional work is required to prompt the user for the SMS or phone call codes, as there is no framework currently to prompt the user during an extraction operation.

Fixes #3533
10 years ago
Philipp Hagemeister 62af3a0eb5 [youtube] Use new signature cache ID for in-memory cache as well 10 years ago
Philipp Hagemeister 60064c53f1 [youtube] Make cache ID a tuple of lengths instead of just the whole length 10 years ago
Philipp Hagemeister 98eb1c3fa2 [youtube] Clean up -v signature output 10 years ago
Philipp Hagemeister 201e9eaa0e [youtube] Show format ID in signature deobfuscation -v output 10 years ago
Tim Sogard 1a9b9649fb Check load_more_widget_html for feed paging 11 years ago
Philipp Hagemeister b081cebefa [youtube] Fix player ID display 11 years ago
Jaime Marquínez Ferrándiz c084c93402 [youtube] Extract the 'sts' parameter from the webpage (fixes #3327) 11 years ago
Liu DongMiao 7e660ac113 if there is more than one subtitle for the language, use the first one 11 years ago
Philipp Hagemeister c081b35c27 [youtube] Support new player URLs (Fixes #3326) 11 years ago
Philipp Hagemeister 246168bd72 Remove unused imports 11 years ago
Jaime Marquínez Ferrándiz 2c57c7fa5a [youtube] Fix extraction of age gate videos (closes #3270)
Setting the correct value of the 'sts' paramater in the 'get_video_info' url gives the correct urls.
Removed parameters that are not needed.
11 years ago
Philipp Hagemeister b8c74d606a [youtube] fix display of swf player id 11 years ago
Philipp Hagemeister 5425626790 [youtube] Move swfinterp into its own file 11 years ago
Philipp Hagemeister 5dc3552d85 [youtube] Add support for classes in swf parser 11 years ago
Philipp Hagemeister 3fbd27f73e [youtube] SWF parser: Add opcode 86
Yes, I know we need 96, but an implementation of 86 could help avoid a similar issue.
11 years ago
Philipp Hagemeister cf01013161 [youtube] Find more swf players (Closes #3270, refer #3271) 11 years ago
Philipp Hagemeister c8bf86d50d [youtube] Correct signature extraction error detection 11 years ago
Philipp Hagemeister b3a8878080 [youtube] Remove static signatures
The always fail by now. Instead, use only automatic signature extraction
11 years ago
Sergey M․ 6feb2d5e80 [youtube:search_url] Update regexes 11 years ago
Philipp Hagemeister dc2fc73691 [youtube:truncated_url] Move test to extractor 11 years ago
Philipp Hagemeister c4808c6009 [youtube_truncated_url] Add support for truncated watch URLs with annotations (#3178) 11 years ago
Petr Půlpán 18061bbab0 [Youtube] add DASH format 272 (fixes #3128) 11 years ago
Jaime Marquínez Ferrándiz c26e9ac4b2 [youtube] Recognize signature functions that contain '$' (fixes #3104) 11 years ago
pulpe 7d568f5ab8 [Youtube] Recognize playlists with LL 11 years ago
pulpe 3c80377b69 [Youtube] Add format code 271 (1440p webm) 11 years ago
Jaime Marquínez Ferrándiz 70e322695d [youtube:playlist] Fix mixes extraction (fixes #3051)
The username seems to be empty now.
11 years ago
Anton Novosyolov 263bd4ec50 Recognize a third format of the upload_date in the 'watch-uploader-info' element 11 years ago
Jaime Marquínez Ferrándiz 76e92371ac [youtube] Recognize a second format of the upload_date in the 'watch-uploader-info' element (#2911) 11 years ago
Jaime Marquínez Ferrándiz 05ee2b6dad [youtube] Fix extraction of the feed 'paging' values (fixes #2925) 11 years ago
Philipp Hagemeister beee53de06 [youtube] Look for published-on date if uploaded-on is not found
Fixes #2911
11 years ago
Jaime Marquínez Ferrándiz 01ed5c9be3 [youtube] Fix typo 11 years ago
Philipp Hagemeister ad3bc6acd5 Document and test categories (#2923) 11 years ago
Dario Guarascio ec8deefc27 [youtube] Video categories added to metadata 11 years ago
Jaime Marquínez Ferrándiz e399853d0c [youtube:playlist] Improve detection of private lists (#2840) 11 years ago
Jaime Marquínez Ferrándiz 10c0e2d818 [youtube:playlist] Raise an error if the list doesn't exist or is private (closes #2840) 11 years ago
AGSPhoenix e75cafe9fb Clean up format list for consistency
This should make the format list output look a bit nicer.
11 years ago
Jaime Marquínez Ferrándiz aa92f06308 [youtube] Don't call 'unquote_plus' on the video title (fixes #2799)
It's already unquoted after calling 'compat_parse_qs'.
It replaced '+' with spaces, for example in https://www.youtube.com/watch?v=XC0b5YexO-I.
11 years ago
Jaime Marquínez Ferrándiz e00c9cf599 [youtube] Update test description field 11 years ago
Jaime Marquínez Ferrándiz ba60a3ebe0 [youtube] Update test description field 11 years ago
Philipp Hagemeister d11271dd29 [youtube] Include video Id in common error message (Fixes #2786) 11 years ago
Philipp Hagemeister 1db2666916 [youtube:playlist] Correct playlist ID output
The ID now starts with PL, so we don't need to output that twice.
11 years ago
Philipp Hagemeister b9c76aa1a9 [youtube] Add support for cleanvideosearch.com (Fixes #2734) 11 years ago
Philipp Hagemeister 68eb8e90e6 [youtube:playlist] Fix playlists for logged-in users (Fixes #2690) 11 years ago
Jaime Marquínez Ferrándiz e45d40b171 [youtube:subscriptions] Add space to the description 11 years ago
Jaime Marquínez Ferrándiz f6177462db [youtube] feeds: Also look for the html in the 'content_html' field (fixes #2671) 11 years ago
Philipp Hagemeister 5912c639df [youtube] Transform google's JSON dialect (fixes #2663) 11 years ago
Philipp Hagemeister 83d548ef0f [youtube] Encode ytsearch query 11 years ago
Philipp Hagemeister acd213ed6d Remove unusued imports 11 years ago
Philipp Hagemeister 2b25cb5d76 [youtube] Move JavaScript interpreter into its own module 11 years ago
Philipp Hagemeister 43b81eb98a [youtube] Remove useless resolution fields from format definitions
These can be - and are - calculated automatically by the YoutubeDL core.
11 years ago
hurda 278229d195 itag 160 is 144p, not 192p 11 years ago
Philipp Hagemeister 7e8c0af004 Add --prefer-insecure option (Fixes #2364) 11 years ago
Jaime Marquínez Ferrándiz bc6d597828 Add bestvideo and worstvideo to special format names (#2163) 11 years ago
Philipp Hagemeister ae7ed92057 [youtube] Fix up invalid JSON 11 years ago
Philipp Hagemeister c9ae7b9565 [youtube] Add support for search result URLs (Fixes #2495) 11 years ago
AGSPhoenix 60d3a2e0f8 Fix incorrect format codes
Corrects the descriptions for the DASH video format codes 264 and 138
(1440p and 2160p, respectively).
11 years ago
Sergey M. a2dafe2887 [youtube] Fix mix video regex
Attributes' order in <li> is arbitrary and changes every time playlist
page is fetched, so we can't rely on `data-index` to be before
`data-video-username`.
11 years ago
Jaime Marquínez Ferrándiz bc2f773b4f [youtube:playlist] Fix mixes extraction (fixes #2444) 11 years ago
Philipp Hagemeister 521ee82334 Fix imports 11 years ago
Jaime Marquínez Ferrándiz 3489b7d26c [youtube] Simplify the decryption process for the manifest urls and add a test (closes #2422) 11 years ago
Jaime Marquínez Ferrándiz acd2bcc384 Merge branch 'youtube-dash' of github.com:m0vie/youtube-dl 11 years ago
Sergey M. dbb94fb044 [youtube] Fix playlist extraction (Closes #2423, #2424, #2425) 11 years ago
m0viefreak d68f0cdb23 [youtube] decrypt signature when downloading dash manifest 11 years ago
Sergey M. f7000f3a1b [youtube] Add support for yourepeat.com URLs (Closes #2397) 11 years ago
Philipp Hagemeister 2eb5d315d4 [youtube] Match more truncated URLs (Closes #2402) 11 years ago
Philipp Hagemeister 07ad22b8af [youtube:search] Mark "no results found" error as expected 11 years ago
Filippo Valsorda e70dc1d14b [youtube] Correct a minor regex typo 11 years ago
Philipp Hagemeister 81c2f20b53 [youtube] Correct invalid JSON (Fixes #2353) 11 years ago
Philipp Hagemeister 9766538124 [jadorecettepub] Add extractor (Fixes #2148) 11 years ago
Jaime Marquínez Ferrándiz d67cc9fa7c [youtube:playlist] Recognize ‘top tracks’ urls (closes #2332)
The list parameter starts with ‘MC’ and can have more characters after it, including dots
11 years ago
Jaime Marquínez Ferrándiz 20650c8654 [youtube] signatures: Recognize javascript functions that contain “$” (fixes #2304) 11 years ago
Philipp Hagemeister b11cec4162 [youtube:user] Fix id key (Fixes #1745) 11 years ago
Jaime Marquínez Ferrándiz 5700e7792a [youtube] Encode the data when submitting the form for confirming the age
Needed on python 3
11 years ago
Jaime Marquínez Ferrándiz 38c2e5b8d5 [youtube] Use https: in more urls 11 years ago
Jaime Marquínez Ferrándiz beddbc2ad1 [youtube:toplist] Make the regex for finding the playlist link more flexible
`title={foo}` may not be at the end of the `href` string.
11 years ago
Philipp Hagemeister 2c5bae429a [youtube] Fix new formats 11 years ago
Philipp Hagemeister 1394ce65b4 [youtube] Add new formats (Fixes #2221) 11 years ago
Philipp Hagemeister 0b65e5d40f [youtube] Do not break upon unknown formats 11 years ago
Philipp Hagemeister 975d35dbab [youtube:truncated_url] Also match mail subscription links (#2214) 11 years ago
Philipp Hagemeister 4919603f66 [youtube] Make DASH manifest download conditional for now
DASH download fails on many videos (all with encrypted signatures? not sure yet), for example 07FYdnEawAQ, with a 403.
11 years ago
Philipp Hagemeister 65697b3bf3 Merge branch 'paged-lists'
Conflicts:
	test/test_utils.py
	youtube_dl/extractor/youtube.py
11 years ago
Philipp Hagemeister 50317b111d Merge branch 'youtube-dash-manifest'
Conflicts:
	youtube_dl/extractor/youtube.py
11 years ago
Philipp Hagemeister b7ab059084 Add infrastructure for paged lists
This commit allows to download pages in playlists as needed instead of all at once.
Before this commit,
    youtube-dl http://www.youtube.com/user/ANNnewsCH/videos --playlist-end 2 --skip-download
took quite some time - now it's almost instantaneous.
As an example, the youtube:user extractor has been converted.
Fixes #2175
11 years ago
Philipp Hagemeister c91778f8c0 [youtube] Fall back to header if playlist title is not available
Sometimes (in about 10% of requests), the og:title is missing for a weird reason.
See #2170 for an example
11 years ago
Philipp Hagemeister dd27fd1739 [youtube] Download DASH manifest
If given, download and parse the DASH manifest file, in order to get ultra-HQ formats.
Fixes #2166
11 years ago
Philipp Hagemeister 484aaeb204 [everyonesmixtape] Add support (Fixes #2161) 11 years ago
Philipp Hagemeister ce6b9a2dba [youtube] Add a pseudo format for rtmp videos (#2123) 11 years ago
Philipp Hagemeister c3197e3e5c [youtube] Correct subtitle URL (Fixes #2120) 11 years ago
Philipp Hagemeister b4622a328b Use double quotes in error message (#2112)
On Windows, double quotes are required, because single quotes get served to youtube-dl. (Yes, cmd.exe is crazy like that).
On other system, both double and single quotes are fine, unless the string contains a dollar sign (then you need single quotes).
Since virtually no URLs contain dollar signs, double quotes should do.
11 years ago
Jaime Marquínez Ferrándiz 8fa8a6299b [youtube] Add itag 264 (closes #2063)
It has a better bitrate than 137 but the same resolution
11 years ago
Philipp Hagemeister 2c62dc26c8 [youtube] Simplify format specification 11 years ago
Philipp Hagemeister 4bcc7bd1f2 Add temporary _sort_formats helper function 11 years ago
Philipp Hagemeister d80044c235 [youtube] Prefer videos with sound 11 years ago