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
2015-06-09 14:48:18 +08:00
Yen Chi Hsuan
4da31bd566
[youtube] Fix a FutureWarning from xml.etree.ElementTree
2015-06-06 22:22:26 +08:00
Sergey M․
3d8e9573a4
[youtube:channel] Improve channel id extraction ( #5904 )
2015-06-06 06:25:37 +06:00
Yen Chi Hsuan
423d2be5f8
[downloader/dash] Rename the protocol
...
'http_dash_segments' looks more like a protocol name than
'dash_segments'
2015-06-04 22:27:29 +08:00
Yen Chi Hsuan
b9258c6178
[YoutubeDL] Change how DashSegmentsFD is selected
2015-06-04 22:05:33 +08:00
Yen Chi Hsuan
6800d3372f
[YoutubeDL] Support DASH manifest downloading
2015-06-03 23:10:18 +08:00
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.
2015-05-30 20:54:03 +00:00
Sergey M․
386bdfa698
[youtube:user] Workaround 35 pages limitation ( Closes #5778 )
2015-05-30 18:29:16 +06:00
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.
2015-05-24 18:26:20 +02:00
Sergey M․
62c95fd5fc
[youtube:feed] Check each 'load more' portion for unique video ids
2015-05-15 21:42:34 +06:00
Sergey M․
25f14e9f93
[youtube] Separate feed extractor
2015-05-15 21:06:59 +06:00
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.
2015-05-14 23:41:27 +02:00
Yen Chi Hsuan
39b62db116
[youtube] Catch more alert messages ( closes #5074 )
2015-04-28 23:07:56 +08:00
Sergey M․
9dd8e46a2d
[youtube:search] Cancel out _TESTS
2015-04-22 20:28:33 +06:00
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.
2015-04-21 19:30:31 +02:00
Sergey M․
cc38fa6cfb
[youtube] Remove unused import
2015-04-21 22:55:59 +06:00
Sergey M․
6de5dbafee
[youtube:channel] Make `extract_videos_from_page` static
2015-04-21 22:42:21 +06:00
Sergey M․
60bf45c80d
[youtube:channel] Specify first page download message
2015-04-21 22:37:45 +06:00
Sergey M․
eb0f3e7ec0
[youtube:user] Extract in terms of `load_more_widget_html`
2015-04-21 22:36:41 +06:00
Sergey M․
ed553379df
[youtube:ytsearch] Temporary workaround ( #5483 )
2015-04-21 20:55:05 +06:00
Sergey M․
8f02ad4f12
[youtube] Simplify
2015-04-13 20:28:16 +06:00
Sergey M․
7bd930368c
[youtube] Remove unused variable
2015-04-13 00:08:39 +06:00
Sergey M․
fb69240ca0
[youtube] Extract video titles for channel playlist if possible ( Closes #4971 )
2015-04-12 23:19:00 +06:00
Yen Chi Hsuan
de5c545648
[youtube] Skip WebVTT in DASH manifest ( #5297 )
2015-04-08 03:47:27 +08:00
Sergey M․
e40bd5f06b
[youtube] Simplify url_encoded_fmt_stream_map check
2015-04-06 00:45:57 +06:00
Sergey M․
06b491eb7b
[youtube] Add test for #5361
2015-04-06 00:35:55 +06:00
Yen Chi Hsuan
3a9fadd6df
[youtube] Enhance url_encoded_fmt_stream_map checking ( fix #5361 )
2015-04-05 22:29:06 +08:00
Jaime Marquínez Ferrándiz
157e9e5aa5
[youtube:watchlater] Remove unused properties and fix tests
2015-03-26 20:03:31 +01:00
Sergey M․
7e17ec8c71
[youtube] Clarify some IE_NAMEs
2015-03-26 21:42:28 +06:00
Sergey M․
448830ce7b
[youtube:watchlater] Extract watchlater as playlist ( Closes #5280 )
2015-03-26 21:41:09 +06:00
Sergey M․
98998cded6
[youtube:search_url] Fix extraction ( Closes #5155 )
2015-03-07 18:59:06 +06:00
Sergey M․
99209c2916
[youtube] Extract UL playlists as mixes ( Closes #5040 )
2015-02-24 01:35:15 +06:00
Jaime Marquínez Ferrándiz
bfc993cc91
Merge branch 'subtitles-rework'
...
(Closes PR #4964 )
2015-02-23 17:13:03 +01:00
Philipp Hagemeister
785521bf4f
[youtube] Remove useless if
2015-02-18 10:42:23 +01:00
Philipp Hagemeister
6d1a55a521
[youtube] Show entire player URL when -v is given
2015-02-18 10:39:14 +01:00
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.
2015-02-16 22:47:39 +01:00
Jaime Marquínez Ferrándiz
2d30521ab9
[youtube] Extract average rating ( closes #2362 )
2015-02-11 18:39:31 +01:00
Jaime Marquínez Ferrándiz
ba61796458
[youtube] Don't override format info from the dash manifest ( fixes #4911 )
2015-02-09 15:04:22 +01:00
Philipp Hagemeister
acf757f42e
[youtube] Complete test definition
2015-02-01 15:33:32 +01:00
Philipp Hagemeister
70fca8d694
[youtube] Remove unused import
2015-01-30 10:59:19 +01:00
Philipp Hagemeister
6449cd807e
[youtube] Fall back to embed webpage when content is blocked on main ( Fixes #4717 )
2015-01-30 04:43:50 +01:00
Philipp Hagemeister
c1708b89c0
[youtube:truncated_url] Add hl= forms ( #4799 )
2015-01-30 03:45:29 +01:00
Philipp Hagemeister
b95aab8482
[youtube:truncated_url] Add x-yt-cl URLs ( #4773 )
2015-01-24 11:42:39 +01:00
Philipp Hagemeister
62cd676c74
[youtube] Fixup DASH m4a headers
...
This fixes #2288 , #2506 , #2607 , #3681 , #4741 , #4767 .
2015-01-23 18:39:12 +01:00
Sergey M․
aaeb86f682
[youtube] Add test for #4706
2015-01-16 01:25:03 +06:00
Phil Kulak
a9b6b5cd15
Looks like Google switched to a new JS compiler that includes dollar signs in function names.
2015-01-15 10:23:05 -08:00
Philipp Hagemeister
6271f1cad9
[youtube|ffmpeg] Automatically correct video with non-square pixels ( Fixes #4674 )
2015-01-10 05:45:51 +01:00
Philipp Hagemeister
230b2287dd
[youtube] Add acodec information
...
The codec seems to be consistently aac, so state that in our metadata.
2015-01-09 20:44:21 +01:00
Philipp Hagemeister
9ed99402f5
[youtube] Fix test case
2015-01-08 16:14:50 +01:00
Jaime Marquínez Ferrándiz
76b3c61012
[youtube] Add formats 308 and 315 ( closes #4650 )
2015-01-06 11:59:41 +01:00
Philipp Hagemeister
ee61f6f3e2
[youtube] Handle cases where format comes without a preference ( Fixes #4648 )
2015-01-05 22:42:17 +01:00
Jaime Marquínez Ferrándiz
2f985f4bb4
[youtube:toplist] Remove extractor
...
They use now normal playlists (their id is PL*).
2015-01-05 00:18:43 +01:00
Philipp Hagemeister
e65566a9cc
[youtube] Correct handling when DASH manifest is not necessary to find all formats
2015-01-03 18:33:38 +01:00
Philipp Hagemeister
772fd5cc44
[youtube] Add a pseudo-extractor for truncated YouTube video IDs ( #4610 )
2015-01-01 23:44:39 +01:00
Jaime Marquínez Ferrándiz
60e47a2699
[youtube] Use '_download_xml' for getting the available subtitles
2014-12-31 15:44:15 +01:00
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.
2014-12-31 14:15:16 +01:00
Sergey M․
fccae2b911
[youtube] Add test for age-gate video with encrypted signature
2014-12-30 17:26:21 +06:00
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 .
2014-12-29 22:58:14 +01:00
Philipp Hagemeister
7af808a5ef
Improve code style
2014-12-17 00:06:41 +01:00
Philipp Hagemeister
84d84211ac
[youtube:feeds] ( Fixes #4486 )
2014-12-16 15:59:31 +01:00
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.
2014-12-15 19:19:15 +01:00
Philipp Hagemeister
60620368d7
[youtube] Fix player ID detection
2014-12-14 00:43:34 +01:00
Jaime Marquínez Ferrándiz
26c06f0c51
[youtube:playlist] Remove unused property
2014-12-12 22:26:50 +01:00
Jaime Marquínez Ferrándiz
23d3608c6b
[youtube:channel] Fix extraction ( fixes #4435 )
...
It uses now the same pagination system as playlists
2014-12-12 22:23:54 +01:00
Philipp Hagemeister
cbe2bd914d
[youtube] Amend test
2014-12-11 16:34:37 +01:00
Philipp Hagemeister
75111274ed
[youtube] Do not warn if DASH manifest is missing ( #4442 )
2014-12-11 16:33:28 +01:00
Philipp Hagemeister
624dcebff6
[youtube] Make category optional ( #4442 )
2014-12-11 16:32:48 +01:00
Philipp Hagemeister
9684f17cde
Merge remote-tracking branch 'akretz/youtube_fix'
2014-12-11 16:28:10 +01:00
Philipp Hagemeister
e52a40abf7
[youtube] Add test case for #4431
2014-12-11 16:28:07 +01:00
Adrian Kretz
24270b0301
[youtube] The case that 'url_encoded_fmt_stream_map' or 'adaptive_fmts' is the empty string is handled accordingly ( fixes #4431 )
2014-12-11 16:00:46 +01:00
Philipp Hagemeister
4bb4a18876
[youtube] Fix imports
2014-12-11 10:08:17 +01:00
Philipp Hagemeister
da27660014
[youtube] Pass in all variables to DASH manifest ( Fixes #4424 )
2014-12-10 14:39:00 +01:00
Philipp Hagemeister
774e208f94
[youtube] Handle missing DASH manifest ( Fixes #4421 , fixes #4420 )
2014-12-10 13:21:24 +01:00
Philipp Hagemeister
b82f815f37
Allow iterators for playlist result entries
2014-12-06 14:02:19 +01:00
Philipp Hagemeister
9ff6772790
[youtube] Modernize
2014-12-06 12:20:54 +01:00
Philipp Hagemeister
810fb84d5e
pep8 and minor beautification all around
2014-12-04 08:27:40 +01:00
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.
2014-12-01 17:36:12 +01:00
Jaime Marquínez Ferrándiz
c522adb1f0
[youtube] Add a normal age-gate test video
2014-11-30 21:45:49 +01:00
Jaime Marquínez Ferrándiz
7160532d41
[youtube] Simplify code for getting the dash manifest url
...
video_info contains now the 'ytplayer.config.args' dictionary
2014-11-30 21:07:50 +01:00
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).
2014-11-30 20:56:32 +01:00
Jaime Marquínez Ferrándiz
b766eb2707
[youtube] Update test
2014-11-30 19:18:39 +01:00
Jaime Marquínez Ferrándiz
10a404c335
[youtube] Add format 313 ( fixes #4339 )
2014-11-30 18:56:14 +01:00
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
2014-11-30 00:03:59 +01:00
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.
2014-11-29 23:46:39 +01:00
Philipp Hagemeister
0792d5634e
[youtube] Remove useless u prefixes
2014-11-26 12:41:53 +01:00
Philipp Hagemeister
27f8b0994e
Merge remote-tracking branch 'jtwaleson/master'
2014-11-23 22:10:26 +01:00
Jouke Waleson
9e1a5b8455
PEP8: applied even more rules
2014-11-23 21:39:15 +01:00
Philipp Hagemeister
784b6d3a9b
Merge remote-tracking branch 'jtwaleson/master'
2014-11-23 21:33:31 +01:00
Jouke Waleson
8bcc875676
PEP8: more applied
2014-11-23 21:20:46 +01:00
Jouke Waleson
5f6a1245ff
PEP8 applied
2014-11-23 20:41:03 +01:00
Philipp Hagemeister
f3a3407226
[youtube] Clarify keywords
2014-11-23 20:09:10 +01:00
Philipp Hagemeister
aa79ac0c82
[youtube] Support controversy videos ( Fixes #4275 )
2014-11-23 09:59:02 +01:00
Philipp Hagemeister
0857baade3
[youtube] Add webm audio formats ( Fixes #4229 )
2014-11-18 11:08:37 +01:00
Philipp Hagemeister
23ad44b57b
[youtube] Better error message for DASH manifest
2014-11-17 20:12:52 +01:00
Aaron Wojnowski
894dd8682e
Fix YouTube signature extraction.
2014-11-13 00:33:27 -06:00
Philipp Hagemeister
a1cf99d03a
[YoutubeDL] Add playlist_id and playlist_title fields ( Fixes #4139 )
2014-11-09 22:32:35 +01:00
Philipp Hagemeister
20436c30c9
[youtube] Clarify output
2014-11-04 23:35:34 +01:00
Philipp Hagemeister
94bd361318
[youtube] Skip sts if missing ( Fixes #4095 , fixes #4103 )
2014-11-04 22:45:43 +01:00
Philipp Hagemeister
0d2c141865
[youtube] Detect formats 298 et al as mp4 ( Fixes #4066 )
2014-10-31 11:13:02 +01:00
Philipp Hagemeister
7b6de3728a
[youtube] Add format 266 ( Fixes #4055 )
2014-10-30 09:53:43 +01:00