Commit Graph

283 Commits (e00c9cf5995fccd0c6be21757325ce0bd9ba68f8)

Author SHA1 Message Date
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
Filippo Valsorda 7c61bd36bb [youtube] correct --no-playlist for python3 11 years ago
Philipp Hagemeister 44d466559e Properly handle stream meap not being present 11 years ago
Philipp Hagemeister f10503db67 Handle videos without url_encoded_fmt_stream_map (Fixes #1535) 11 years ago
Mark Oteiza fa55675593 Support XDG base directory specification 11 years ago
Filippo Valsorda 47192f92d8 implement --no-playlist to only download current video - closes #755 11 years ago
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.
11 years ago
Jaime Marquínez Ferrándiz f490e77e77 [youtube] Set the thumbnail to None if it can't be extracted 11 years ago
Jaime Marquínez Ferrándiz 2dc592991a [youtube] update description of test 11 years ago
Philipp Hagemeister 920de7a27d [youtube] Fix 83 signature (Closes #1511) 11 years ago
Philipp Hagemeister 695dc094ab Merge branch 'automatic-signatures' 11 years ago
Philipp Hagemeister f2c327fd39 Fix 86 signature (#1494) 11 years ago
Philipp Hagemeister e35e4ddc9a Fix output of --youtube-print-sig-code when counting down to 0 11 years ago
Philipp Hagemeister c3c88a2664 Allow opts.cachedir == None to disable cache 11 years ago
Jaime Marquínez Ferrándiz bb0eee71e7 [youtube] Update one of the test's description 11 years ago
Jaime Marquínez Ferrándiz 6f56389b88 [youtube] update algos for length 86 and 84 (fixes #1494) 11 years ago
Philipp Hagemeister c705320f48 Correct test strings 11 years ago
Philipp Hagemeister d2d8f89531 Do not warn if fallback is without alternatives (because we did not get the flash player URL) 11 years ago
Philipp Hagemeister bdde940e90 [youtube] Improve flash player URL handling 11 years ago
Philipp Hagemeister 13dc64ce74 [youtube] Remove _decrypt_signature_age_gate 11 years ago
Philipp Hagemeister f8061589e6 [youtube] Actually pass in cachedir option 11 years ago
Philipp Hagemeister 0ca96d48c7 [youtube] Improve source code quality 11 years ago
Philipp Hagemeister 4ba146f35d Update static signatures 11 years ago
Philipp Hagemeister edf3e38ebd [youtube] Improve cache and add an option to print the extracted signatures 11 years ago
Philipp Hagemeister c4417ddb61 [youtube] Add filesystem signature cache 11 years ago
Philipp Hagemeister 2f2ffea9ca Clarify a couple of calls 11 years ago
Philipp Hagemeister ba552f542f Use reader instead of indexing 11 years ago
Philipp Hagemeister 8379969834 Prepare signature function caching 11 years ago
Philipp Hagemeister 95dbd2f990 Change test target (Verified with node.js) 11 years ago
Philipp Hagemeister a7177865b1 Implement more opcodes 11 years ago
Philipp Hagemeister e0df6211cc Restore accidentally deleted commits
That's what happens if you let Windows machines write :(
11 years ago
Jaime Marquínez Ferrándiz 38d025b3f0 [youtube] add algo for length 91 11 years ago
patrickslin bc4b900898 Unable to decrypt signature length 93 (fixes #1461) 11 years ago
Jaime Marquínez Ferrándiz 71c82637e7 [youtube] apply the fix for lists with number of videos multiple of _MAX_RESULTS to user extraction
Copied from the playlist extractor.
11 years ago
Jaime Marquínez Ferrándiz 4a67aafb7e [youtube] Don't search the flash player version for videos with age gate activated 11 years ago
Philipp Hagemeister 6ae8ee3f54 Update 85 signature (Fixes #1449)
This is the first signature algorithm to have been parsed automatically, although that only works for HTML5 players for now, and is not yet integrated into master.
11 years ago
Jaime Marquínez Ferrándiz e69ae5b9e7 [youtube] support youtube.googleapis.com/v/* urls (fixes #1425) 11 years ago
Jaime Marquínez Ferrándiz ce85f022d2 [youtube] update algo for length 82 (fixes #1416) 11 years ago
Jaime Marquínez Ferrándiz e3dc22ca3a [youtube] Fix detection of videos with automatic captions 11 years ago
Jaime Marquínez Ferrándiz d665f8d3cb [subtitles] Also list the available automatic captions languages with '--list-sub' 11 years ago
Jaime Marquínez Ferrándiz 055e6f3657 [youtube] Support automatic captions with original language different from English (fixes #1225) and download in multiple languages. 11 years ago
Jaime Marquínez Ferrándiz 7fad1c6328 [subtitles] Use self._download_webpage for extracting the subtitles
It raises ExtractorError for the same exceptions we have to catch.
11 years ago
Jaime Marquínez Ferrándiz d82134c339 [subtitles] Simplify the extraction of subtitles in subclasses and remove NoAutoSubtitlesInfoExtractor
Subclasses just need to call the method extract_subtitles, which will call _extract_subtitles and _request_automatic_caption
Now the default implementation of _request_automatic_caption returns {}.
11 years ago
Jaime Marquínez Ferrándiz 54d39d8b2f [subtitles] rename SubitlesIE to SubtitlesInfoExtractor
Otherwise it can be automatically detected as a IE ready for use.
11 years ago
Jaime Marquínez Ferrándiz de7f3446e0 [youtube] move subtitles methods from the base extractor to YoutubeIE 11 years ago
Ismael Mejia f8e52269c1 [subtitles] made inheritance hierarchy flat as requested 11 years ago
Ismael Mejia cf1dd0c59e Merge branch 'master' into subtitles_rework 11 years ago
Jaime Marquínez Ferrándiz aa8f2641da [youtube] update algo for length 85 (fixes #1408 and fixes #1406) 11 years ago
Jaime Marquínez Ferrándiz 8963d9c266 [youtube] Modify the regex to match ids of length 11 (fixes #1396)
In urls like http://www.youtube.com/watch?v=BaW_jenozKcsharePLED17F32AD9753930 you can't split the query string and ids always have that length.
11 years ago
Jaime Marquínez Ferrándiz 890f62e868 Revert "[youtube] Fix detection of tags from HLS videos."
They have undo the change

This reverts commit 0638ad9999.
11 years ago
Ismael Mejia 72836fcee4 Merge branch 'master' into subtitles_rework 11 years ago
Ismael Mejia d6e203b3dc [subtitles] fixed multiple subtitles language separated by comma after merge
As mentioned in the pull request, I forgot to include this changes.
aa6a10c44a
11 years ago
Jaime Marquínez Ferrándiz e3ea479087 [youtube] Fix some issues with the detection of playlist/channel urls (reported in #1374)
They were being caught by YoutubeUserIE, now it only extracts a url if the rest of extractors aren't suitable.
Now the url tests check that the urls can only be extracted with an specific extractor.
11 years ago
Jaime Marquínez Ferrándiz faab1d3836 [youtube] Fix detection of feeds urls (fixes #1294)
Urls like https://www.youtube.com/feed/watch_later were being as users (before the last changes to YoutubeUserIE, as videos)
11 years ago
Jaime Marquínez Ferrándiz fd9cf73836 [youtube] Users: download from the api in json to simplify extraction (fixes #1358)
There could be duplicate videos or other videos if the description have links.
11 years ago
Jaime Marquínez Ferrándiz 0638ad9999 [youtube] Fix detection of tags from HLS videos. 11 years ago
patrickslin 1cf911bc82 Vevo sig changed again, please update for us! Thanks very much! (fixes #1375) 11 years ago
Jaime Marquínez Ferrándiz f4b052321b [youtube] Urls like youtube.com/NASA are now interpreted as users (fixes #1069)
Video urls like http://youtube.com/BaW_jenozKc are not valid, but http://youtu.be/BaW_jenozKc is correct.
11 years ago
Jaime Marquínez Ferrándiz c215217e39 [youtube] Playlists: extract the videos id from ['media$group']['yt$videoid'] (fixes #1374)
'media$player' is not defined for private videos.
11 years ago
Allan Zhou 96fb5605b2 AHLS -> Apple HTTP Live Streaming 11 years ago
Allan Zhou 85f03346eb Merge remote-tracking branch 'upstream/master' 11 years ago
Allan Zhou bdc6b3fc64 add support for "-f mp4" for YouTube 11 years ago
Jaime Marquínez Ferrándiz 2e756879f1 [youtube] update algo for length 86 11 years ago
Jaime Marquínez Ferrándiz c7a7750d3b [youtube] Fix typo in the _VALID_URL for YoutubeFavouritesIE, it was intended to also match :ytfavourites 11 years ago
Jaime Marquínez Ferrándiz 23b00bc0e4 [youtube] update algo for length 84
Only appears sometimes, nearly identical to length 86.
11 years ago
Jaime Marquínez Ferrándiz 52e1eea18b [youtube] update algo for length 86 (fixes #1349) 11 years ago
Jaime Marquínez Ferrándiz c7bf7366bc Update descriptions checksum for some test for Unistra and Youtube 11 years ago
Jaime Marquínez Ferrándiz 3e223834d9 [youtube] update algo for length 88, thanks to @Ramhack (fixes #1328) 11 years ago
Ismael Mejia 06a401c845 Merge branch 'master' into subtitles_rework 11 years ago
Jaime Marquínez Ferrándiz f2aeefe29c [youtube] update algo for length 84 12 years ago
Jaime Marquínez Ferrándiz 306170518f [youtube] update algo for length 86 (fixes #1302) 12 years ago
Jaime Marquínez Ferrándiz aa6a10c44a Allow to specify multiple subtitles languages separated by commas (closes #518) 12 years ago
Jaime Marquínez Ferrándiz df3df7fb64 [youtube] Fix download of subtitles with '--all-subs'
If _extract_subtitles is called the option 'write subtitles' is always true.
12 years ago
Jaime Marquínez Ferrándiz 9e9c164052 Merge pull request #937 from jaimeMF/subtitles_rework
Subtitles rework
12 years ago
Jaime Marquínez Ferrándiz 066090dd3f [youtube] add algo for length 80 and update player info 12 years ago
Ismael Mejia bd2dee6c67 Merge branch 'master' into subtitles_rework 12 years ago
Ismael Mejia 18b4e04f1c Merge branch 'master' into subtitles_rework 12 years ago
Jaime Marquínez Ferrándiz 3669cdba10 [youtube] update algo for length 82 (fixes #1296) 12 years ago
Jaime Marquínez Ferrándiz 939fbd26ac [youtube] fix the order of DASH formats 12 years ago
Jaime Marquínez Ferrándiz e6ddb4e7af Merge pull request #1279 from xanadu/master
Add YouTube DASH formats to YouTubeIE
12 years ago
Jaime Marquínez Ferrándiz 45ed795cb0 [youtube] update uploader name for a test video: 'IconaPop' has changed to 'Icona Pop' 12 years ago
Allan Zhou 37b6d5f684 fix hls test 12 years ago
Allan Zhou b7a6838407 address review comment 12 years ago
Allan Zhou cde846b3d3 fix code style 12 years ago
Allan Zhou 211fbc1328 fix failed tests 12 years ago
Allan Zhou 836a086ce9 Add YouTube DASH formats to YouTubeIE 12 years ago
Philipp Hagemeister d741e55a42 [youtube] Support watch_popup URLs (Fixes #1275) 12 years ago
patrickslin f9c3c90ca8 Length 85 changed again? (fixes #1254) 12 years ago
patrickslin 3a7256697e Unable to Download Video (fixes #1247) 12 years ago
patrickslin e1842025d0 Updated Vevo Signature Length (fixes #1237) 12 years ago
patrickslin 8a9d86a2a7 New sig len 89 algo
Fixes new YT encrypted sig len 89.
12 years ago
patrickslin 02cf62e240 Invalid signature again (fixes #1215) 12 years ago
Ismael Mejia 8377574c9c [internal] Improved subtitle architecture + (update in
youtube/dailymotion)

The structure of subtitles was refined, you only need to implement one
method that returns a dictionnary of the available subtitles (lang, url) to
support all the subtitle options in a website. I updated the subtitle
downloaders for youtube/dailymotion to show how it works.
12 years ago
Philipp Hagemeister 356e067390 Merge remote-tracking branch 'patrickslin/patch-4' 12 years ago
Philipp Hagemeister b513a251f8 Merge commit '7a4c6cc92f9ffec9135652a49153caffa5520c29' 12 years ago
patrickslin 36cb11f068 Encrypted sig 87 broken again (fixes #1200) 12 years ago
AndreiArba 7a4c6cc92f Updated the 84 length signature decryption
Updated the right 84 length signature decryption 06.08.2013
12 years ago
Jaime Marquínez Ferrándiz ed27d35674 [youtube] don't crash in verbose mode if 'ad3_module' is not defined in age protected videos (fixes #1159) 12 years ago
Jaime Marquínez Ferrándiz 04bca64bde [youtube]: new algo for length 83 (fixes #1164) 12 years ago
Jaime Marquínez Ferrándiz 03cc7c20c1 [youtube] show which formats are in 3D with "-F" and in the format field 12 years ago
Allan Zhou 86fe61c8f9 add support for download YouTube 3d format of 3d content 12 years ago
Jaime Marquínez Ferrándiz 1d043b93cf [youtube] Add support for downloading videos with hlsvp (fixes #1083)
They are downloaded with a m3u8 manifest, they seem to be encrypted, but ffmpeg can handle them.
12 years ago
Jaime Marquínez Ferrándiz b072a9defd YoutubeIE: with age protected videos, add a missing "return" to return the signature decrypted with _decrypt_signature 12 years ago
Jaime Marquínez Ferrándiz 75952c6e3d YoutubeIE: new algo for length 86 (fixes #1156)
Now is using the same length as the flash player used for age protected videos, but the algorithm is different, so now for age protected videos it first tries to use the old algo.
12 years ago
Jaime Marquínez Ferrándiz 5c468ca8a8 YoutubeIE: add algo for length 79 (fixes #1126) 12 years ago
Jaime Marquínez Ferrándiz aedd6bb97d YoutubeIE: new algo for length 81 (fixes #1127) 12 years ago
Jaime Marquínez Ferrándiz 755eb0320e [youtube] use itertools.count instead of a "while True" loop and a manual counter 12 years ago
Jaime Marquínez Ferrándiz 43ba5456b1 [youtube] add an extractor for the "Watch Later" list 12 years ago
Jaime Marquínez Ferrándiz c626a3d9fa Add an extractor for downloading the Youtube favorite videos(closes #127) 12 years ago
Jaime Marquínez Ferrándiz b2e8bc1b20 YoutubeIE: Move the code from _real_initialize to a base class
This allows to reuse the code in other IEs without having to overwrite some parts.
12 years ago
Jaime Marquínez Ferrándiz 771822ebb8 YoutubePlaylistIE: break only if there's no entry field in the response
Otherwise the Favorite videos playlist cannot be downloaded complete.
Also break if it reach the maximum value of the start-index.
12 years ago
patrickslin 239e3e0cca YoutubeIE: new algo for length 87 (fixes #1105)
Squashed commit from the pull requests #1107, #1109 and #1110.
12 years ago
Jaime Marquínez Ferrándiz 252580c561 YoutubeChannelE: switch ajax query from channel_ajax to c4_browse_ajax
It wasn't detecting when there aren't more videos
12 years ago
Jaime Marquínez Ferrándiz d7ae0639b4 [youtube] Add an extractor for Youtube recommended videos (":ytrec" keyword) (closes #476)
The new extractor and YoutubeSubscriptionsIE are subclasses of YoutubeFeedsInfoExtractor, which allows to fetch videos from http://www.youtube.com/feed_ajax
12 years ago
Jaime Marquínez Ferrándiz 2f799533ae YoutubeIE: don't crash when trying to get automatic captions if the videos has standard subtitles. 12 years ago
Jaime Marquínez Ferrándiz 88ae5991cd YoutubeIE: use the same function for getting the subtitles for the "--write-sub" and "--all-sub" options 12 years ago
Jaime Marquínez Ferrándiz 5d51a883c2 Use a dictionary for storing the subtitles
The errors while getting the subtitles are reported as warnings, if no subtitles are found return and empty dict.
12 years ago
Jaime Marquínez Ferrándiz a4358cbabd YoutubeIE: new algo for length 85 (closes #1080), thanks to @patrickslin 12 years ago
Jaime Marquínez Ferrándiz 444b116597 YoutubeIE: add algo for length 90 (closes #1064)
Order the cases from higher to lower length.
12 years ago
Jaime Marquínez Ferrándiz 5a76c6517e YoutubeIE: some encrypted signatures have more than two parts, print the size of all the parts 12 years ago
Philipp Hagemeister 88d4111cfa [youtube] Add code for signature 92 (Closes #1060) 12 years ago
Philipp Hagemeister be547e1d3b Revert "[youtube] improved decrypt_signature, closes #1060"
This reverts commit fe6fad1242 and closes #1066.
12 years ago
Anton Novosyolov fe6fad1242 [youtube] improved decrypt_signature, closes #1060 12 years ago
Jaime Marquínez Ferrándiz 606d7e67fd YoutubeIE: add algo for length 81 (closes #1026) 12 years ago
Jaime Marquínez Ferrándiz 85347e1cb6 YoutubeIE: a new algo for length 83 12 years ago