Sergey M․
e9fb6a4bbe
[youtube] Relax TFA regexes
2016-07-11 03:08:38 +07:00
Sergey M․
9558dcec9c
[youtube:user] Preserve user/c path segment
2016-07-09 08:37:19 +07:00
Sergey M․
73c4ac2c95
[youtube:channel] Improve channel id extraction and detect unavailable channels ( Closes #10009 )
2016-07-05 23:30:44 +07:00
Yen Chi Hsuan
4080530624
[youtube:shared] Recognize the new 'shared' URLs
...
Closes #10007
2016-07-05 13:15:05 +08:00
Sergey M․
be49068d65
[youtube] Fix and skip some tests
2016-06-24 22:47:19 +07:00
Sergey M․
525cedb971
[youtube] Relax URL expansion in description
2016-06-24 22:37:13 +07:00
Sergey M․
de3c7fe0d4
[youtube] Fix 141 format tests
2016-06-24 22:27:55 +07:00
Yen Chi Hsuan
daa0df9e8b
[youtube:user] Support another URL form
...
Such an URL comes from http://www.gametrailers.com/ . This is originally
a test case in GenericIE, but now seems all GameTrailers videos are on
YouTube.
2016-06-10 16:37:12 +08:00
Sergey M․
2c34735267
[youtube] Add itags 256 and 258
2016-06-05 01:44:13 +07:00
Sergey M․
25cb7a0eeb
[youtube] Allow empty attribute values in description regex
2016-05-06 22:11:18 +06:00
Sergey M․
175c2e9ec3
[youtube:search_url] Reimplement in terms of youtube:playlistbase
2016-04-26 22:29:29 +06:00
Sergey M․
494ab6db73
[youtube] Capture and output login error message
2016-04-20 22:14:32 +06:00
Jaime Marquínez Ferrándiz
1b6182d8f7
[youtube:playlist] Fetch all the videos in a mix ( fixes #3837 )
...
Since there doesn't seem to be any indication, it stops when there aren't new videos in the webpage.
2016-04-17 17:07:57 +02:00
remitamine
f3a58d46bf
[youtube:user] check if the url didn't match only the other youtube extractors
2016-04-15 19:06:13 +01:00
Sergey M․
466a614537
[youtube:playlist] Recognize popular uploads playlist as mix ( Closes #9170 )
2016-04-12 21:38:31 +06:00
Sergey M․
6d4fc66bfc
[youtube] Add support for zwearz ( Closes #9062 )
2016-04-04 02:26:20 +06:00
Sergey M․
6dee688e6d
[youtube:playlistsbase] Restrict playlist regex ( Closes #8986 )
2016-03-26 20:42:18 +06:00
Sergey M․
6e6bc8dae5
Use urlencode_postdata across the codebase
2016-03-26 02:19:24 +06:00
Sergey M․
15707c7e02
[compat] Add compat_urllib_parse_urlencode and eliminate encode_dict
...
encode_dict functionality has been improved and moved directly into compat_urllib_parse_urlencode
All occurrences of compat_urllib_parse.urlencode throughout the codebase have been replaced by compat_urllib_parse_urlencode
Closes #8974
2016-03-26 01:46:57 +06:00
Sergey M․
f07e276a04
[youtube:live] Add extractor ( Closes #8959 )
2016-03-25 01:18:14 +06:00
Yen Chi Hsuan
11f12195af
[youtube] Added itag 91
...
Seen in https://www.youtube.com/watch?v=jMN4cxyhJjk
2016-03-17 19:25:37 +08:00
Sergey M․
fd050249af
[youtube] Extract uploader_url ( Closes #8724 )
2016-03-02 23:49:10 +06:00
Sergey M․
7caf9830b0
[youtube] Extract license ( Closes #8725 )
2016-03-02 23:07:25 +06:00
remitamine
3318832e9d
[youtube] improve width and height extraction from fmt_list
2016-03-02 17:52:13 +01:00
remitamine
c2d3cb4c63
Revert "[youtube] add tbr to _formats extracted from watch_as3.swf"
...
This reverts commit 4a5ba28a87
.
2016-03-02 17:35:04 +01:00
remitamine
c48dd4400f
Revert "[youtube] add basic info for some unknown formats extracted from watch_as3.swf"
...
This reverts commit 85ca019d96
.
2016-03-02 17:34:56 +01:00
remitamine
85ca019d96
[youtube] add basic info for some unknown formats extracted from watch_as3.swf
2016-03-02 16:05:05 +01:00
remitamine
4a5ba28a87
[youtube] add tbr to _formats extracted from watch_as3.swf
2016-03-02 16:05:05 +01:00
remitamine
82156fdbf0
[youtube] extract width and height from fmt_list
2016-03-02 16:05:05 +01:00
Sergey M․
d77ab8e255
Add --mark-watched feature ( Closes #5054 )
2016-03-01 01:01:33 +06:00
Sergey M․
b78b292f0c
[youtube] Add alternative automatic captions extraction approach ( Closes #8667 )
2016-02-26 22:21:47 +06:00
Sergey M․
ebf1b291d0
[youtube:watchlater] Respect --no-playlist
2016-02-18 22:03:46 +06:00
Sergey M․
bc7a9cd8fb
[youtube:watchlater] Improve _VALID_URL ( Closes #8594 )
2016-02-18 21:50:21 +06:00
Sergey M․
d2c1f79f20
[youtube:searchurl] Extend _VALID_URL
2016-02-16 00:29:51 +06:00
Sergey M․
f9f49d87c2
[youtube] Add test for #8536
2016-02-13 05:18:58 +06:00
Sergey M․
6863631c26
[youtube] Improve multifeed videos extraction ( Closes #8536 )
2016-02-13 05:01:20 +06:00
Sergey M․
b67d63149d
[youtube] Fix typos
2016-02-11 22:33:08 +06:00
Sergey M․
3834d3e35c
[youtube] Clarify itag 36 height and abr ( Closes #8457 )
2016-02-08 01:30:57 +06:00
remitamine
66159b38aa
Merge pull request #8408 from remitamine/dash
...
Add generic support for mpd manifests(dash formats)
2016-02-06 06:26:02 +01:00
Sergey M․
23d17e4beb
[youtube] Fix automatic captions
2016-02-06 06:44:38 +06:00
remitamine
2fb35d1c28
[youtube] fix subtitle order
2016-02-04 08:39:01 +01:00
remitamine
09be85b8dd
[youtube] fix subtitle extraction( fixes #8415 )
2016-02-04 08:28:37 +01:00
remitamine
8ff648e4f9
[youtube] use _extract_mpd_formats
2016-02-02 18:10:23 +01:00
Yen Chi Hsuan
08411970d5
Merge pull request #8374 from yan12125/facebook-dash
...
Facebook DASH formats
2016-02-01 18:31:49 +08:00
Jaime Marquínez Ferrándiz
3ccb0655c1
[youtube] Use 'orderedSet' instead of 'set' to preserve the order
2016-01-31 15:11:00 +01:00
Sergey M․
9acd33094d
[youtube] Filter duplicates in playlists base extractor
2016-01-31 17:52:02 +06:00
Sergey M․
8e7aad2075
[youtube] Use authentication for entry list base extractor ( Closes #8380 )
2016-01-31 17:49:59 +06:00
Yen Chi Hsuan
2d2fa82d17
[common] Add _extract_dash_manifest_formats
2016-01-30 22:52:23 +08:00
Yen Chi Hsuan
c94678957f
[common] Remove unused arguments
2016-01-30 22:45:16 +08:00
Yen Chi Hsuan
16f38a699f
[common] Rename to namespace
...
For consistency with _parse_smil_*
2016-01-30 22:40:56 +08:00
Yen Chi Hsuan
a6c2c24479
[youtube] Remove '(v|a)codec': 'none' entries
...
Not used anymore
2016-01-30 22:28:53 +08:00
Yen Chi Hsuan
5d2c0fd9ba
[youtube] Pass self._formats to _parse_dash_manifest
2016-01-30 21:32:15 +08:00
Yen Chi Hsuan
17b598d30c
[common] _parse_dash_manifest() from youtube.py
2016-01-30 21:05:55 +08:00
Yen Chi Hsuan
05d0d131a7
[youtube] Move decrypt_sig out of _parse_dash_manifest
2016-01-30 20:05:56 +08:00
Jaime Marquínez Ferrándiz
70029bc348
[youtube:user] Require 'https?://' in the url ( fixes #8356 )
...
It was matching www.youtube.com/embed/WpfukLMe1TM.
The generic extractor automatically adds http:// if it's missing.
2016-01-29 11:27:11 +01:00
Yen Chi Hsuan
e9bd0f772b
Merge pull request #8130 from dyn888/master
...
[youtube] added vcodec/acodec/abr for multiple itags
2016-01-25 01:15:11 +08:00
Yen Chi Hsuan
94278f7202
[youtube] Prefer info from YouTube than _formats ( #8293 )
2016-01-25 01:02:19 +08:00
Sergey M․
51290d8457
[youtube] Simplify automatic captions URL check ( Closes #8287 )
2016-01-21 22:58:03 +06:00
Dimitre Liotev
582f4f834e
Fix issue #8109 (error when downloading automatic captions)
2016-01-21 22:55:36 +06:00
Sergey M․
e323cf3ff3
[youtube] Skip test
2016-01-19 20:56:04 +06:00
Sergey M․
8ceabd4df3
[youtube] Capture and output unavailable message
2016-01-19 20:54:43 +06:00
Sergey M․
a8776b107b
[youtube] Clarify test_Youtube_18
2016-01-18 23:19:38 +06:00
Sergey M․
096b533982
[youtube] Fix URL expansion in video description
...
Fixes test_Youtube_18
2016-01-18 23:17:45 +06:00
Yen Chi Hsuan
cc28492d31
[youtube] Fix acodec and vcodec order
...
In RFC6381, there's no rule stating that the first part of codecs should
be video and the second part should be audio, while it seems the case
for data reported by YouTube.
2016-01-13 17:05:38 +08:00
Sergey M․
23f13e9754
[youtube] Support expanding alternative format of links in description ( Closes #8164 )
2016-01-08 00:52:55 +06:00
dyn888
e1a0bfdffe
[youtube] added vcodec/acodec/abr for multiple itags
...
Should make downloading with filters more precise and easier, ie. bestvideo[vcodec=h264]. By default a lot of codecs are specified as avc1.xxxxxx and unique for each format, which makes them unusable for bestvideo selection.
2016-01-03 04:11:19 +01:00
Sergey M․
e462474e1d
[youtube] Generalize playlists extractor
2015-12-20 07:48:16 +06:00
Sergey M․
9b9c5355e4
Rename error_to_str to error_to_compat_str
2015-12-20 07:00:39 +06:00
Sergey M․
7f8b271465
Properly convert errors to strings
2015-12-20 05:27:38 +06:00
Sergey M․
0cb58b0259
[youtube] Extract alt_title and creator for music videos ( Closes #7862 )
2015-12-14 21:31:53 +06:00
Sergey M․
4c6b4764f0
[youtube] Clarify itag 272 possible resolutions ( #7699 )
2015-11-30 20:42:05 +06:00
Sergey M․
2e1b928540
[youtube:playlist] Extend _VALID_URL
2015-11-29 21:04:11 +06:00
Sergey M․
040ac68679
[youtube] Extend _VALID_URL ( Closes #7694 )
2015-11-29 21:01:59 +06:00
Yen Chi Hsuan
049d71d874
[youtube] Simplify and make sure header values are strings
2015-11-29 19:52:48 +08:00
Yen Chi Hsuan
ac5a69af45
[youtube] Disable compression for live streams
2015-11-29 12:44:24 +08:00
Sergey M․
5faf9fed7e
[youtube] Clarify rationale for yt:stretch validation
2015-11-28 18:50:21 +06:00
Lukáš Lalinský
41f24c321d
[youtube] Use the existing w
and h
variables
2015-11-28 08:16:46 +01:00
Lukáš Lalinský
313dfc45f5
[youtube] Ignore yt:stretch with zero width/height
2015-11-28 01:07:07 +01:00
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
2015-11-23 21:56:23 +06:00
Sergey M․
9022726446
[youtube] Fix test
2015-11-23 21:37:21 +06:00
Sergey M․
94bfcd23b7
[youtube] Fix test
2015-11-23 21:35:23 +06:00
Sergey M․
526b3b0716
[youtube] Clarify ytplayer.config extraction rationale
2015-11-23 21:14:03 +06:00
Sergey M․
61f92af1cf
[youtube] Add test with '};' in tags
2015-11-23 21:02:37 +06:00
Sergey M․
a72778d364
[youtube] Improve ytplayer.config extraction
2015-11-23 21:00:06 +06:00
Sergey M
5ae17037a3
Merge pull request #7599 from lalinsky/fix-youtube
...
[youtube] More explicit player config JSON extraction (fixes #7468 )
2015-11-23 20:52:23 +06:00
Lukáš Lalinský
b41631c4e6
[youtube] Send the list of patterns directly to _search_regex
2015-11-22 13:53:26 +01:00
Lukáš Lalinský
0e49d9a6b0
[youtube] Fall back to the original regex for ytplayer.config
2015-11-22 13:49:33 +01:00
Lukáš Lalinský
3cfd000849
[youtube] More explicit player config JSON extraction ( fixes #7468 )
2015-11-22 13:14:35 +01:00
Sergey M․
e568c2233e
[youtube] Add test for multi page list of playlists
2015-11-22 05:03:23 +06:00
Sergey M․
061a75edd6
[youtube] Extract base for entry list extractors and support multi page lists of playlists
2015-11-22 05:01:01 +06:00
Sergey M․
136dadde95
[youtube:show] Rework in terms of playlists base extractor
2015-11-22 04:18:20 +06:00
Sergey M․
0c14841585
[youtube:user:playlists] Add extractor ( Closes #3817 )
2015-11-22 04:17:07 +06:00
Jaime Marquínez Ferrándiz
63b4295d20
[youtube:playlist] fix title extraction ( fixes #7544 and #7545 )
2015-11-18 18:28:05 +01:00
Yen Chi Hsuan
50f84a9ae1
[youtube] Support new base.js html5 player
2015-11-10 12:55:01 +08:00
Sergey M․
89ea063eeb
[youtube] Clarify rationale for preferring a video info with token ( #7362 )
2015-11-04 22:49:23 +06:00
Sergey M․
44b2264fea
[youtube] Prefer video_info with token available
2015-11-04 22:12:24 +06:00
Jaime Marquínez Ferrándiz
5c43afd40f
[youtube:channel] Support age restricted channels ( fixes #7277 )
2015-10-23 14:23:45 +02:00
Jaime Marquínez Ferrándiz
9170ca5b16
[youtube:channel] Fix test
2015-10-23 14:16:08 +02:00
Sergey M․
648e6a1ffe
[youtube] Generalize playlist entries extraction ( Closes #6699 , closes #6992 )
2015-10-18 00:11:34 +06:00
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.
2015-09-14 00:32:20 +02:00
Philipp Hagemeister
287be8c615
[youtube:truncated_url] Add ?t=
...
Sometimes found in links - ?t=123&v=ABCD starts the video at position 123.
2015-09-14 00:26:54 +02:00
Jaime Marquínez Ferrándiz
4003bd82b0
[youtube:shows] Use https
2015-09-07 12:56:16 +02:00
remitamine
8801255d7d
[youtube] fix show extraction ( fixes #4841 )
...
Closes #6782 )
2015-09-07 12:53:52 +02:00
Sergey M․
515fc8776f
[youtube] Use encode_dict
2015-09-06 07:42:15 +06:00
Sergey M․
aabc2be693
[youtube] Simplify and extract more metadata from url_encoded_fmt_stream_map ( Closes #5993 )
2015-08-30 08:07:07 +06:00
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.
2015-08-30 08:05:16 +06:00
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.
2015-08-26 15:21:55 +02:00
Sergey M․
cbaed4bb5e
[youtube] Expand _VALID_URL to support vid.plus
2015-08-17 02:04:13 +06:00
Sergey M․
f74a7348f6
[youtube:search_url] Fix extraction ( Closes #6578 )
2015-08-16 23:33:17 +06:00
Sergey M․
041bc3adc5
[youtube] Simplify two-factor authentication
2015-08-15 22:10:38 +06:00
reddraggone9
9303ce3e69
[youtube] Fix two-factor authentication
2015-08-15 21:48:44 +06:00
Sergey M․
f57b7835e2
[youtube] Update tests
2015-08-12 21:27:58 +06:00
Sergey M․
34952f09e1
[youtube] Add age limit to tests
2015-08-11 01:24:53 +06:00
Sergey M․
34a7de2970
[youtube] Skip download for multiple v= test
2015-08-11 01:22:06 +06:00
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
2015-08-10 20:52:38 +02:00
Jaime Marquínez Ferrándiz
34866b4836
Merge remote-tracking branch 'dstftw/multifeed-videos' ( closes #6360 )
2015-07-29 21:55:20 +02:00
Sergey M․
5e1eddb939
[youtube] Show info message for multifeed videos according to noplaylist option
2015-07-29 21:18:16 +06:00
Sergey M․
000b6b5ae5
[youtube] Improve tags extraction and add test
2015-07-29 03:43:32 +06:00
Purdea Andrei
a6f774e901
[youtube]: tags key in info jason is now a list
2015-07-28 18:29:13 +03:00
Purdea Andrei
f171bc8b59
[youtube] save keywords in info jason when --write-info-json is used
2015-07-28 18:14:06 +03:00
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.
2015-07-26 14:14:28 +02:00
Sergey M․
d8f0a9ecea
[youtube] Respect noplaylist for multifeed videos
2015-07-25 22:17:06 +06:00
Sergey M․
cf7e015f25
[youtube] Add support for multifeed videos
2015-07-25 21:30:34 +06:00
Sergey M․
678e436f2e
[youtube] Handle empty allowed regions ( Closes #6351 )
2015-07-25 02:09:34 +06:00
Sergey M.
cdad742700
Merge pull request #6306 from jaimeMF/extract_start_time
...
[youtube] Extract start_time
2015-07-23 23:33:54 +06:00
Jaime Marquínez Ferrándiz
2929fa0e79
[youtube] Also look into the 'start' field for start_time
2015-07-23 13:21:18 +02:00
Jaime Marquínez Ferrándiz
297a564bee
[youtube] Extract end_time
2015-07-23 13:20:21 +02:00
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.
2015-07-22 23:27:41 +02:00
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.
2015-07-20 21:10:28 +02:00
Jaime Marquínez Ferrándiz
2fe1ff8582
[youtube] Set 'is_live'
2015-07-20 20:14:20 +02:00
Jaime Marquínez Ferrándiz
17ee98e1a5
[youtube] Fix upload_date in test
2015-07-20 19:48:50 +02:00
Jaime Marquínez Ferrándiz
2ee8f5d80f
Merge remote-tracking branch 'yan12125/download-dash-segments' ( #5886 )
2015-07-20 19:34:24 +02:00
Sergey M․
7fd002c006
[youtube] Use compat_urllib_parse_unquote and compat_urllib_parse_unquote_plus
2015-07-17 23:51:57 +06:00
Sergey M․
77c6fb5b24
[youtube] Make further DASH manifests not fatal after succeeded one
2015-07-09 20:48:38 +06:00
Sergey M․
9d0b581fea
[youtube] Prefer meta for upload date and modernize
2015-06-30 20:52:26 +06:00
Sergey M․
f0714c9f86
[youtube] Speed up upload date regex ( #6125 )
2015-06-30 01:02:48 +06:00
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
2015-06-29 20:58:52 +05:00
Sergey M.
c608ee491f
Merge pull request #6097 from dstftw/union-itags-from-multiple-dashmpd
...
[youtube] Extract formats from multiple DASH manifests (Closes #6093 )
2015-06-29 20:58:34 +05:00
Sergey M․
c93d53f5e3
[youtube] Fix likes/dislike extraction
2015-06-29 00:48:06 +06:00
Sergey M․
da77d856a1
[youtube] Add test for #6093
2015-06-27 14:55:46 +06:00
Sergey M․
0a3cf9ad3d
[youtube] Skip get_video_info requests when --youtube-skip-dash-manifest is specified
2015-06-27 14:31:18 +06:00
Sergey M․
bc93bdb5bb
[youtube] Fix reference before assignment for video_info
2015-06-27 13:19:46 +06:00
Yen Chi Hsuan
af214c3a79
[youtube] More useful messages for georestricted videos ( #5716 )
2015-06-27 13:15:57 +08:00
Sergey M․
d80265ccd6
[youtube] Simplify non-DASH formats exclusion
2015-06-27 02:48:50 +06:00
Sergey M․
1b5a1ae257
[youtube] Pick up codecs info from DASH manifest when not set explicitly
2015-06-27 00:41:26 +06:00
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 ).
2015-06-27 00:36:23 +06:00
Sergey M․
c9bebed294
[youtube] Add itag 59 and 78 ( Closes #5979 )
2015-06-19 20:52:44 +06:00
Sergey M․
02175a7986
[youtube:search] Fix search query ( Closes #5988 )
2015-06-15 21:01:26 +06:00
Yen Chi Hsuan
8a1a26ce4c
[youtube] Add a test for the DASH segment downloader
2015-06-10 14:47:02 +08:00
Yen Chi Hsuan
0c8662d2b6
[youtube] Fix a TypeError caused by 4da31bd566
2015-06-10 13:40:41 +08:00
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.
2015-06-09 23:49:11 +02:00
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