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
2014-01-20 11:36:47 +01:00
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
2014-01-20 02:45:51 +01:00
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
2014-01-19 05:47:20 +01:00
Philipp Hagemeister
484aaeb204
[everyonesmixtape] Add support ( Fixes #2161 )
2014-01-17 02:56:13 +01:00
Philipp Hagemeister
ce6b9a2dba
[youtube] Add a pseudo format for rtmp videos ( #2123 )
2014-01-09 02:38:50 +01:00
Philipp Hagemeister
c3197e3e5c
[youtube] Correct subtitle URL ( Fixes #2120 )
2014-01-09 01:36:21 +01:00
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.
2014-01-08 00:05:11 +01:00
Jaime Marquínez Ferrándiz
8fa8a6299b
[youtube] Add itag 264 ( closes #2063 )
...
It has a better bitrate than 137 but the same resolution
2014-01-01 13:45:33 +01:00
Philipp Hagemeister
2c62dc26c8
[youtube] Simplify format specification
2013-12-24 12:34:09 +01:00
Philipp Hagemeister
4bcc7bd1f2
Add temporary _sort_formats helper function
2013-12-24 12:31:42 +01:00
Philipp Hagemeister
d80044c235
[youtube] Prefer videos with sound
2013-12-23 04:51:42 +01:00
Philipp Hagemeister
f82b18efc1
Merge remote-tracking branch 'rzhxeo/youtube'
2013-12-23 04:37:40 +01:00
Philipp Hagemeister
e302f9ce32
[youtube:user] Speed up --match-title
2013-12-22 03:57:42 +01:00
rzhxeo
e56f22ae20
[YoutubeIE] Sort formats by resolution
2013-12-18 21:22:37 +01:00
rzhxeo
dbd1988ed9
[YoutubeIE] Add width and height to format dict
2013-12-18 21:21:25 +01:00
rzhxeo
4ea3be0a5c
[YoutubeIE] Externalize format selection
2013-12-18 03:30:55 +01:00
Philipp Hagemeister
46374a56b2
[youtube] Do not warn for videos with allow_rating=0
...
This fixes #1982
Test video: http://www.youtube.com/watch?v=gi2uH3YxohU
2013-12-17 02:49:56 +01:00
Philipp Hagemeister
b466b7029d
[youtube] Make duration an integer or None
2013-12-16 04:09:05 +01:00
Philipp Hagemeister
ffa8f0df0a
Merge remote-tracking branch 'jaimeMF/yt-toplists'
2013-12-09 04:49:32 +01:00
Philipp Hagemeister
7cc3570e53
Add fatal=False parameter to _download_* functions.
...
This allows us to simplify the calls in the youtube extractor even further.
2013-12-09 01:49:03 +01:00
Jaime Marquínez Ferrándiz
baa7b1978b
Remove the calls to 'compat_urllib_request.urlopen' in a few extractors
2013-12-08 22:24:55 +01:00
Philipp Hagemeister
31812a9e0e
[youtube:channel] Fix automated channel detection
2013-12-08 07:30:42 +01:00
Jaime Marquínez Ferrándiz
715c8e7bdb
[youtube:playlist] Recognize mix ids for direct use ( fixes #1295 )
2013-12-06 19:52:41 +01:00
Jaime Marquínez Ferrándiz
7d4afc557f
[youtube:playlist] Support mix ids longer than 13 ( #1295 )
2013-12-06 19:48:54 +01:00
Jaime Marquínez Ferrándiz
336c3a69bd
[youtube] Extract like and dislike count ( #1895 )
2013-12-06 13:22:27 +01:00
Philipp Hagemeister
27dcce1904
[youtube] Resolve URLs in comments
2013-12-04 14:18:49 +01:00
Jaime Marquínez Ferrándiz
cb7fb54600
Change the ie_name of YoutubeSearchDateIE
...
It produced a duplicate entry when listing the extractors with '--list-extractors' and generates noise in the commit log when generating the supported sites webpage (like in 09f355f73b
)
2013-12-03 13:55:25 +01:00
Jaime Marquínez Ferrándiz
0a688bc0b2
[youtube] Add support for downloading top lists ( fixes #1868 )
...
It needs to know the channel and the title of the list, because the ids change every time you browse the channels and are attached to a 'VISITOR_INFO1_LIVE' cookie.
2013-11-30 14:56:51 +01:00
Jaime Marquínez Ferrándiz
0e44d8381a
[youtube:feeds] Use the 'paging' value from the downloaded json information ( fixes #1845 )
2013-11-28 00:33:27 +01:00
Jaime Marquínez Ferrándiz
76d1700b28
[youtube:playlist] Fix the extraction of the title for some mixes ( #1844 )
...
Like https://www.youtube.com/watch?v=g8jDB5xOiuE&list=RDIh2gxLqR7HM
2013-11-27 20:01:51 +01:00
Jaime Marquínez Ferrándiz
652cdaa269
[youtube:playlist] Add support for YouTube mixes ( fixes #1839 )
2013-11-26 21:35:03 +01:00
Jaime Marquínez Ferrándiz
e26f871228
Use the new '_download_xml' helper in more extractors
2013-11-26 19:17:25 +01:00
Jaime Marquínez Ferrándiz
6e47b51eef
[youtube:playlist] Remove the link with index 0
...
It's not the first video of the playlist, it appears in the 'Play all' button (see the test course for an example)
2013-11-26 19:09:14 +01:00
Philipp Hagemeister
ea36cbac5e
Merge remote-tracking branch 'rbrito/swap-dimensions'
2013-11-25 06:19:15 +01:00
Jaime Marquínez Ferrándiz
f459d17018
[youtube] Add an extractor for downloading the watch history ( closes #1821 )
2013-11-24 14:33:50 +01:00
Philipp Hagemeister
66ec019240
[youtube] do not use variable name twice
2013-11-24 06:54:26 +01:00
Philipp Hagemeister
7012b23c94
Match --download-archive during playlist processing ( Fixes #1745 )
2013-11-22 22:46:46 +01:00
Philipp Hagemeister
3f8ced5144
Merge remote-tracking branch 'jaimeMF/yt-playlists'
2013-11-22 20:11:54 +01:00
Philipp Hagemeister
cb7dfeeac4
[youtube] only allow domain name to be upper-case ( #1786 )
2013-11-18 16:42:35 +01:00
Philipp Hagemeister
83aa529330
Support protocol-independent URLs ( #1787 )
2013-11-18 13:18:17 +01:00
Philipp Hagemeister
fccd377198
Suppor embed-only videos ( Fixes #1746 )
2013-11-18 13:05:18 +01:00
Philipp Hagemeister
1d699755e0
[youtube] Add view_count ( Fixes #1781 )
2013-11-17 11:06:16 +01:00
Jaime Marquínez Ferrándiz
b9643eed7c
[youtube:channel] Fix the extraction of autogenerated channels
...
The ajax pages are empty, now it looks directly in the channel's /videos page
2013-11-15 11:51:45 +01:00
Philipp Hagemeister
0e145dd541
Merge branch 'master' of github.com:rg3/youtube-dl
2013-11-15 01:46:50 +01:00
Philipp Hagemeister
9f9be844fc
[youtube] Fix protocol-independent URLs ( Fixes #1768 )
2013-11-15 01:45:39 +01:00
Jaime Marquínez Ferrándiz
ca715127a2
Don't assume the 'subtitlesformat' is set in the params dict ( fixes #1750 )
2013-11-13 17:14:10 +01:00
Jaime Marquínez Ferrándiz
880e1c529d
[youtube:playlist] Login into youtube if requested ( fixes #1757 )
...
Allows to download private playlists
2013-11-13 16:39:11 +01:00
Jaime Marquínez Ferrándiz
dcbb45803f
[youtube:playlist] Don't use the gdata api ( closes #1508 )
...
Parse the playlist pages instead
2013-11-13 16:26:50 +01:00
Jaime Marquínez Ferrándiz
231516b6c9
Merge pull request #1705 from iemejia/master
...
[ted] support for subtitles
2013-11-10 11:54:18 +01:00
Jaime Marquínez Ferrándiz
4f045eef8f
[youtube:channel] Fix the extraction
...
The page don't include the 'load more' button anymore, now we directly get the 'c4_browse_ajax' pages.
2013-11-06 21:42:33 +01:00
Philipp Hagemeister
08fb86c49b
[youtube] Add description for YoutubeSearchDateIE ( #1710 )
2013-11-03 15:59:10 +01:00
Philipp Hagemeister
3633d77c0f
Merge remote-tracking branch 'CBGoodBuddy/ytsearchtime'
2013-11-03 15:56:55 +01:00
Jaime Marquínez Ferrándiz
9103bbc5cd
Add the 'webpage_url' field to info_dict
...
The url for the video page, it must allow to reproduce the result.
It's automatically set by YoutubeDL if it's missing.
2013-11-03 12:11:13 +01:00
Craig Markwardt
a3dd924871
Add YoutubeSearchDateIE extractor to youtube.py & __init__.py, which searches by publication date.
2013-11-02 22:40:48 -04:00
Jaime Marquínez Ferrándiz
cf51923545
[youtube] Remove vevo test
...
The video is no longer available and it seems that vevo video don't use encrypted signatures anymore.
2013-11-02 20:46:26 +01:00
Ismaël Mejía
38db46794f
Merge branch 'ted_subtitles'
2013-11-02 19:50:45 +01:00
Ismaël Mejía
1f343eaabb
[subtitles] refactor to support websites with subtitle information the
...
webpage.
I added the parameter webpage, so now it's similar to the way automatic
captions are handled. This is an improvement needed for websites like
TED.
2013-11-02 19:29:25 +01:00
Philipp Hagemeister
8eddf3e91d
[youtube] Encode subtitle track name in request ( Fixes #1700 )
2013-11-02 11:21:05 +01:00
Philipp Hagemeister
795f28f871
[youtube] Fix login ( Fixes #1681 )
2013-10-29 06:45:54 +01:00
Jaime Marquínez Ferrándiz
600cc1a4f0
[youtube] Set the format_id field to the itag of the format ( closes #1624 )
2013-10-25 17:17:46 +02:00
Jaime Marquínez Ferrándiz
ea32fbacc8
Fix the extensions of two tests with youtube videos
...
The best quality is now a mp4 video.
2013-10-25 16:55:37 +02:00
Jaime Marquínez Ferrándiz
00fe14fc75
[youtube] Also use the 'adaptative_fmts' field from the /get_video_info page ( fixes #1649 )
...
The 'adaptative_fmts' field from the video page is not added to the 'url_encoded_fmt_stream_map'
2013-10-25 16:52:58 +02:00
Philipp Hagemeister
6803655ced
Merge pull request #1622 from rbrito/fix-extension
...
extractor: youtube: Set extension of AAC audio formats to m4a.
2013-10-22 15:16:26 -07:00
Jaime Marquínez Ferrándiz
f6a54188c2
[youtube] Use 'node is None' when checking if the video has automatic captions
...
It had stopped working and it reports a FutureWarning
2013-10-21 16:28:55 +02:00
Rogério Brito
d5a9bb4ea9
extractor: youtube: Swap video dimensions to match standard practice.
...
While working on this, I thought about simplifying things like changing
480x854 to 480p, and that seemed like a good option, until I realized that
people (me included) usually link the concept of some number followed by a p
with the video being 16:9.
So, we would be losing some information and, as we all know,
[explicit is better than implicit][*].
[*]: http://www.python.org/dev/peps/pep-0020/
This closes #1446 .
Signed-off-by: Rogério Brito <rbrito@ime.usp.br>
2013-10-19 14:04:44 -03:00
Rogério Brito
f6f1fc9286
extractor: youtube: Fix extension of dash formats.
...
While we are at it, separate the audio formats from the video formats.
Signed-off-by: Rogério Brito <rbrito@ime.usp.br>
2013-10-18 18:53:00 -03:00
Rogério Brito
16f36a6fc9
extractor: youtube: Set extension of AAC audio formats to m4a.
...
This, in particular, eases downloading both audio and videos in DASH formats
before muxing them, which alleviates the problem that I exposed on issue
Furthermore, one may argue that this is, indeed, the case for correctness's
sake.
Signed-off-by: Rogério Brito <rbrito@ime.usp.br>
2013-10-18 17:50:55 -03:00
Philipp Hagemeister
a733eb6c53
[youtube] Do not crash if caption info is missing altogether ( Fixes #1610 )
2013-10-17 02:19:19 +02:00
Jai Grimshaw
1fb07d10a3
[youtube] Adds #1312 Download annotations
...
Adds #1321 Download annotations from youtube
Annotations are downloaded and written to a .annotations.xml file using the https://www.youtube.com/annotations_invideo?features=1&legacy=1&video_id=$VIDEOID API.
Added unit test for annotations.
2013-10-14 16:22:27 +11:00
Philipp Hagemeister
57da92b7df
[youtube] Do not recognize attribution link as user ( Fixes #1573 )
2013-10-09 23:50:38 +02:00
Jaime Marquínez Ferrándiz
a34c2faae4
[youtube] set the 'name' parameter in the subtitles url ( fixes #1577 )
2013-10-09 16:41:36 +02:00
Philipp Hagemeister
15870e90b0
Restore warning when user forgets to quote URL ( #1396 )
2013-10-07 12:21:24 +02:00
Philipp Hagemeister
cfadd183c4
Call extracted property age_limit everywhere
2013-10-06 16:23:06 +02:00
Philipp Hagemeister
8dbe9899a9
Allow users to specify an age limit ( fixes #1545 )
...
With these changes, users can now restrict what videos are downloaded by the intented audience, by specifying their age with --age-limit YEARS .
Add rudimentary support in youtube, pornotube, and youporn.
2013-10-06 06:08:56 +02:00
Philipp Hagemeister
7f8ae73a5d
Include length in player cache ID
...
Some videos use the same player with IDs of multiple lengths.
See https://travis-ci.org/rg3/youtube-dl/jobs/12126506#L319 for an example.
2013-10-04 11:36:06 +02:00
Philipp Hagemeister
c21315f273
[youtube] new static 82 signature
2013-10-04 00:43:01 +02:00
Philipp Hagemeister
c38b1e776d
[youtube] Simplify cache_dir code ( #1529 )
2013-10-02 08:41:14 +02:00
Philipp Hagemeister
4f8bf17f23
Merge remote-tracking branch 'holomorph/master'
2013-10-02 08:23:53 +02:00
Philipp Hagemeister
ca40186c75
[youtube] Fix static 82 signature ( Closes #1539 )
2013-10-02 08:20:00 +02:00
Philipp Hagemeister
a8c6b24155
[youtube] Support videos without a title ( Fixes #1391 , Closes #1542 )
2013-10-02 07:25:35 +02:00
Filippo Valsorda
bd8e5c7ca2
Merge pull request #1531 from rg3/no-playlist
...
[youtube] implement --no-playlist to only download current video
2013-10-01 10:08:20 -07:00
Filippo Valsorda
7c61bd36bb
[youtube] correct --no-playlist for python3
2013-10-01 11:58:13 -04:00
Philipp Hagemeister
44d466559e
Properly handle stream meap not being present
2013-10-01 14:44:09 +02:00
Philipp Hagemeister
f10503db67
Handle videos without url_encoded_fmt_stream_map ( Fixes #1535 )
2013-10-01 11:39:11 +02:00
Mark Oteiza
fa55675593
Support XDG base directory specification
2013-09-30 18:22:38 -04:00
Filippo Valsorda
47192f92d8
implement --no-playlist to only download current video - closes #755
2013-09-30 16:26:25 -04:00
Jaime Marquínez Ferrándiz
9abb32045a
[youtube] Add hlsvp to the error message if it can't be found and remove the live stream test
...
It's no longer available, other olympics streams have the same problem.
2013-09-27 15:06:27 +02:00
Jaime Marquínez Ferrándiz
f490e77e77
[youtube] Set the thumbnail to None if it can't be extracted
2013-09-27 14:22:36 +02:00
Jaime Marquínez Ferrándiz
2dc592991a
[youtube] update description of test
2013-09-27 14:20:52 +02:00
Philipp Hagemeister
920de7a27d
[youtube] Fix 83 signature ( Closes #1511 )
2013-09-27 06:15:21 +02:00
Philipp Hagemeister
695dc094ab
Merge branch 'automatic-signatures'
2013-09-24 21:40:08 +02:00
Philipp Hagemeister
f2c327fd39
Fix 86 signature ( #1494 )
2013-09-24 21:20:42 +02:00
Philipp Hagemeister
e35e4ddc9a
Fix output of --youtube-print-sig-code when counting down to 0
2013-09-24 21:18:03 +02:00
Philipp Hagemeister
c3c88a2664
Allow opts.cachedir == None to disable cache
2013-09-24 21:04:43 +02:00
Jaime Marquínez Ferrándiz
bb0eee71e7
[youtube] Update one of the test's description
2013-09-24 21:04:13 +02:00
Jaime Marquínez Ferrándiz
6f56389b88
[youtube] update algos for length 86 and 84 ( fixes #1494 )
2013-09-24 21:02:00 +02:00
Philipp Hagemeister
c705320f48
Correct test strings
2013-09-22 12:18:16 +02:00
Philipp Hagemeister
d2d8f89531
Do not warn if fallback is without alternatives (because we did not get the flash player URL)
2013-09-22 12:18:10 +02:00
Philipp Hagemeister
bdde940e90
[youtube] Improve flash player URL handling
2013-09-22 12:17:42 +02:00
Philipp Hagemeister
13dc64ce74
[youtube] Remove _decrypt_signature_age_gate
2013-09-22 11:17:21 +02:00