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.
9 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.
9 years ago
Jaime Marquínez Ferrándiz
2fe1ff8582
[youtube] Set 'is_live'
9 years ago
Jaime Marquínez Ferrándiz
17ee98e1a5
[youtube] Fix upload_date in test
9 years ago
Jaime Marquínez Ferrándiz
2ee8f5d80f
Merge remote-tracking branch 'yan12125/download-dash-segments' ( #5886 )
9 years ago
Sergey M․
7fd002c006
[youtube] Use compat_urllib_parse_unquote and compat_urllib_parse_unquote_plus
9 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