Commit Graph

407 Commits (f71fdb0acc0e168d2a5e4f60be96217647cc872e)

Author SHA1 Message Date
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
Philipp Hagemeister f82b18efc1 Merge remote-tracking branch 'rzhxeo/youtube' 11 years ago
Philipp Hagemeister e302f9ce32 [youtube:user] Speed up --match-title 11 years ago
rzhxeo e56f22ae20 [YoutubeIE] Sort formats by resolution 11 years ago
rzhxeo dbd1988ed9 [YoutubeIE] Add width and height to format dict 11 years ago
rzhxeo 4ea3be0a5c [YoutubeIE] Externalize format selection 11 years ago
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
11 years ago
Philipp Hagemeister b466b7029d [youtube] Make duration an integer or None 11 years ago
Philipp Hagemeister ffa8f0df0a Merge remote-tracking branch 'jaimeMF/yt-toplists' 11 years ago
Philipp Hagemeister 7cc3570e53 Add fatal=False parameter to _download_* functions.
This allows us to simplify the calls in the youtube extractor even further.
11 years ago
Jaime Marquínez Ferrándiz baa7b1978b Remove the calls to 'compat_urllib_request.urlopen' in a few extractors 11 years ago
Philipp Hagemeister 31812a9e0e [youtube:channel] Fix automated channel detection 11 years ago
Jaime Marquínez Ferrándiz 715c8e7bdb [youtube:playlist] Recognize mix ids for direct use (fixes #1295) 11 years ago
Jaime Marquínez Ferrándiz 7d4afc557f [youtube:playlist] Support mix ids longer than 13 (#1295) 11 years ago
Jaime Marquínez Ferrándiz 336c3a69bd [youtube] Extract like and dislike count (#1895) 11 years ago
Philipp Hagemeister 27dcce1904 [youtube] Resolve URLs in comments 11 years ago
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)
11 years ago
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.
11 years ago
Jaime Marquínez Ferrándiz 0e44d8381a [youtube:feeds] Use the 'paging' value from the downloaded json information (fixes #1845) 11 years ago
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
11 years ago
Jaime Marquínez Ferrándiz 652cdaa269 [youtube:playlist] Add support for YouTube mixes (fixes #1839) 11 years ago
Jaime Marquínez Ferrándiz e26f871228 Use the new '_download_xml' helper in more extractors 11 years ago
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)
11 years ago
Philipp Hagemeister ea36cbac5e Merge remote-tracking branch 'rbrito/swap-dimensions' 11 years ago
Jaime Marquínez Ferrándiz f459d17018 [youtube] Add an extractor for downloading the watch history (closes #1821) 11 years ago
Philipp Hagemeister 66ec019240 [youtube] do not use variable name twice 11 years ago
Philipp Hagemeister 7012b23c94 Match --download-archive during playlist processing (Fixes #1745) 11 years ago
Philipp Hagemeister 3f8ced5144 Merge remote-tracking branch 'jaimeMF/yt-playlists' 11 years ago
Philipp Hagemeister cb7dfeeac4 [youtube] only allow domain name to be upper-case (#1786) 11 years ago
Philipp Hagemeister 83aa529330 Support protocol-independent URLs (#1787) 11 years ago
Philipp Hagemeister fccd377198 Suppor embed-only videos (Fixes #1746) 11 years ago
Philipp Hagemeister 1d699755e0 [youtube] Add view_count (Fixes #1781) 11 years ago
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
11 years ago
Philipp Hagemeister 0e145dd541 Merge branch 'master' of github.com:rg3/youtube-dl 11 years ago
Philipp Hagemeister 9f9be844fc [youtube] Fix protocol-independent URLs (Fixes #1768) 11 years ago
Jaime Marquínez Ferrándiz ca715127a2 Don't assume the 'subtitlesformat' is set in the params dict (fixes #1750) 11 years ago
Jaime Marquínez Ferrándiz 880e1c529d [youtube:playlist] Login into youtube if requested (fixes #1757)
Allows to download private playlists
11 years ago
Jaime Marquínez Ferrándiz dcbb45803f [youtube:playlist] Don't use the gdata api (closes #1508)
Parse the playlist pages instead
11 years ago
Jaime Marquínez Ferrándiz 231516b6c9 Merge pull request #1705 from iemejia/master
[ted] support for subtitles
11 years ago
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.
11 years ago
Philipp Hagemeister 08fb86c49b [youtube] Add description for YoutubeSearchDateIE (#1710) 11 years ago
Philipp Hagemeister 3633d77c0f Merge remote-tracking branch 'CBGoodBuddy/ytsearchtime' 11 years ago
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.
11 years ago
Craig Markwardt a3dd924871 Add YoutubeSearchDateIE extractor to youtube.py & __init__.py, which searches by publication date. 11 years ago
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.
11 years ago
Ismaël Mejía 38db46794f Merge branch 'ted_subtitles' 11 years ago
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.
11 years ago
Philipp Hagemeister 8eddf3e91d [youtube] Encode subtitle track name in request (Fixes #1700) 11 years ago
Philipp Hagemeister 795f28f871 [youtube] Fix login (Fixes #1681) 11 years ago
Jaime Marquínez Ferrándiz 600cc1a4f0 [youtube] Set the format_id field to the itag of the format (closes #1624) 11 years ago
Jaime Marquínez Ferrándiz ea32fbacc8 Fix the extensions of two tests with youtube videos
The best quality is now a mp4 video.
11 years ago
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'
11 years ago
Philipp Hagemeister 6803655ced Merge pull request #1622 from rbrito/fix-extension
extractor: youtube: Set extension of AAC audio formats to m4a.
11 years ago
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
11 years ago
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>
11 years ago
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>
11 years ago
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>
11 years ago
Philipp Hagemeister a733eb6c53 [youtube] Do not crash if caption info is missing altogether (Fixes #1610) 11 years ago
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.
11 years ago
Philipp Hagemeister 57da92b7df [youtube] Do not recognize attribution link as user (Fixes #1573) 11 years ago
Jaime Marquínez Ferrándiz a34c2faae4 [youtube] set the 'name' parameter in the subtitles url (fixes #1577) 11 years ago
Philipp Hagemeister 15870e90b0 Restore warning when user forgets to quote URL (#1396) 11 years ago
Philipp Hagemeister cfadd183c4 Call extracted property age_limit everywhere 11 years ago
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.
11 years ago
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.
11 years ago
Philipp Hagemeister c21315f273 [youtube] new static 82 signature 11 years ago
Philipp Hagemeister c38b1e776d [youtube] Simplify cache_dir code (#1529) 11 years ago
Philipp Hagemeister 4f8bf17f23 Merge remote-tracking branch 'holomorph/master' 11 years ago
Philipp Hagemeister ca40186c75 [youtube] Fix static 82 signature (Closes #1539) 11 years ago
Philipp Hagemeister a8c6b24155 [youtube] Support videos without a title (Fixes #1391, Closes #1542) 11 years ago
Filippo Valsorda bd8e5c7ca2 Merge pull request #1531 from rg3/no-playlist
[youtube] implement --no-playlist to only download current video
11 years ago