Commit Graph

537 Commits

Author SHA1 Message Date
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
Philipp Hagemeister a51d3aa001 [youtube] Add support for formats 302 and 303 (Fixes #4060) 2014-10-30 09:43:11 +01:00
Philipp Hagemeister fbb21cf528 [youtube] Add formats 298, 299 (Fixes #4056) 2014-10-30 09:34:13 +01:00
Philipp Hagemeister f46a8702cc [youtube:playlist] Fix test title 2014-10-27 00:06:47 +01:00
Philipp Hagemeister bfc2bedcfc [youtube] Make confirm_age non-fatal (#4042) 2014-10-26 21:49:29 +01:00
Philipp Hagemeister 6b445558ff [youtube] Only set language when necessary
We only need to set the language when we are using a login; otherwise it will always be English.
2014-10-23 00:44:22 +02:00
Philipp Hagemeister 1cc887cbf0 [youtube] Add support for format 278 2014-10-13 00:09:19 +02:00
Philipp Hagemeister 203fb43f36 [youtube] Download DASH manifest by default (Closes #3887) 2014-10-13 00:03:08 +02:00
Philipp Hagemeister a1f934b171 [youtube] Correct language cookie handling 2014-09-29 02:04:16 +02:00
Philipp Hagemeister e2dce53781 [youtube] Always request webpage in English (Fixes #3844) 2014-09-29 01:39:26 +02:00
Philipp Hagemeister 9c44d2429b [vimeo:likes] Support large like lists (Fixes #3847) 2014-09-29 00:36:06 +02:00
Philipp Hagemeister 6b08cdf626 [youtube] Support for embedded /p players (Fixes #3821) 2014-09-25 01:59:02 +02:00
Philipp Hagemeister ac7553d031 [youtube] Support embed/videoseries URLs (#3821) 2014-09-24 10:34:29 +02:00
Philipp Hagemeister cdc628a498 [youtube] Move more tests to extractors 2014-09-24 10:25:47 +02:00
Philipp Hagemeister 69ea8ca42c [youtube] Remove superfluous unicode specifiers 2014-09-24 09:51:45 +02:00
Philipp Hagemeister 4bc3a23ec5 [youtube] Modernize 2014-09-24 09:49:53 +02:00
Philipp Hagemeister 78caa52aea [youtube] Modernize 2014-09-13 07:51:06 +02:00
Philipp Hagemeister 310d75d141 [youtube] Correct description in test case 2014-09-13 07:49:26 +02:00
Philipp Hagemeister 9291475f7d [youtube] Move more tests to Playlist IE, and simply suitable. 2014-09-13 07:35:14 +02:00
Philipp Hagemeister 81127aa55d [youtube] Move playlist test to extractor 2014-09-13 07:19:20 +02:00
Philipp Hagemeister 9b583dca4c Merge remote-tracking branch 'drags/yt-feed-loadmore' 2014-09-13 07:14:19 +02:00
Jaime Marquínez Ferrándiz edb53e2dc3 [youtube] Don't make the url protocol optional
The generic extractor will add it.
2014-09-11 21:47:25 +02:00
Philipp Hagemeister a0e07d3161 [youtube] Move cache into its own module 2014-09-03 17:29:19 +02:00
Philipp Hagemeister c9cc0bf57b [youtube:playlist] PEP8 2014-09-01 01:00:40 +02:00
Jaime Marquínez Ferrándiz 9ea9b61448 Merge branch 'master' of github.com:rg3/youtube-dl 2014-08-31 23:47:26 +02:00
Jaime Marquínez Ferrándiz 1ed5b5c9c8 [youtube:subscriptions] Fix extraction (fixes #2975) 2014-08-31 23:44:43 +02:00
Philipp Hagemeister 55f7bd2dcc [youtube] Fix category extraction 2014-08-31 23:26:19 +02:00
Philipp Hagemeister 3e7c12240c [youtube] Test for like_count and dislike_count (#3633) 2014-08-31 18:10:05 +02:00
Jaime Marquínez Ferrándiz f30a38be8b [youtube] Fix extraction of like and dislike count (fixes #3633) 2014-08-31 12:38:00 +02:00
Philipp Hagemeister 9480d1a566 Merge remote-tracking branch 'riking/twofactor' 2014-08-24 07:14:23 +02:00
Philipp Hagemeister bd9820c937 Merge remote-tracking branch 'liudongmiao/patch-subtitle' 2014-08-22 02:45:21 +02:00
Philipp Hagemeister 55db73efdf [youtube] tag 171 is 128KBits (Fixes #3542) 2014-08-21 13:13:26 +02:00
Philipp Hagemeister 55c49908d2 [youtube] Handle incorrectly written cache files (#3549) 2014-08-21 12:15:51 +02:00
riking 83317f6938 [youtube] Add two-factor account signin (TOTP only)
Additional work is required to prompt the user for the SMS or phone call codes, as there is no framework currently to prompt the user during an extraction operation.

Fixes #3533
2014-08-16 14:48:17 -07:00
Philipp Hagemeister 62af3a0eb5 [youtube] Use new signature cache ID for in-memory cache as well 2014-08-02 12:23:18 +02:00
Philipp Hagemeister 60064c53f1 [youtube] Make cache ID a tuple of lengths instead of just the whole length 2014-08-02 12:21:53 +02:00
Philipp Hagemeister 98eb1c3fa2 [youtube] Clean up -v signature output 2014-08-02 11:55:20 +02:00
Philipp Hagemeister 201e9eaa0e [youtube] Show format ID in signature deobfuscation -v output 2014-08-02 06:35:18 +02:00
Tim Sogard 1a9b9649fb Check load_more_widget_html for feed paging 2014-07-27 17:19:26 -07:00
Philipp Hagemeister b081cebefa [youtube] Fix player ID display 2014-07-25 06:49:26 +02:00
Jaime Marquínez Ferrándiz c084c93402 [youtube] Extract the 'sts' parameter from the webpage (fixes #3327) 2014-07-23 12:16:26 +02:00
Liu DongMiao 7e660ac113 if there is more than one subtitle for the language, use the first one 2014-07-23 10:56:09 +08:00
Philipp Hagemeister c081b35c27 [youtube] Support new player URLs (Fixes #3326) 2014-07-23 02:19:33 +02:00
Philipp Hagemeister 246168bd72 Remove unused imports 2014-07-20 23:38:44 +02:00
Jaime Marquínez Ferrándiz 2c57c7fa5a [youtube] Fix extraction of age gate videos (closes #3270)
Setting the correct value of the 'sts' paramater in the 'get_video_info' url gives the correct urls.
Removed parameters that are not needed.
2014-07-20 21:05:02 +02:00
Philipp Hagemeister b8c74d606a [youtube] fix display of swf player id 2014-07-20 20:20:42 +02:00
Philipp Hagemeister 5425626790 [youtube] Move swfinterp into its own file 2014-07-18 10:24:28 +02:00
Philipp Hagemeister 5dc3552d85 [youtube] Add support for classes in swf parser 2014-07-18 00:54:17 +02:00
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.
2014-07-17 23:22:49 +02:00
Philipp Hagemeister cf01013161 [youtube] Find more swf players (Closes #3270, refer #3271) 2014-07-17 16:28:36 +02:00
Philipp Hagemeister c8bf86d50d [youtube] Correct signature extraction error detection 2014-07-11 10:44:39 +02:00
Philipp Hagemeister b3a8878080 [youtube] Remove static signatures
The always fail by now. Instead, use only automatic signature extraction
2014-07-11 10:23:19 +02:00
Sergey M․ 6feb2d5e80 [youtube:search_url] Update regexes 2014-07-04 19:21:19 +07:00
Philipp Hagemeister dc2fc73691 [youtube:truncated_url] Move test to extractor 2014-07-01 15:49:34 +02:00
Philipp Hagemeister c4808c6009 [youtube_truncated_url] Add support for truncated watch URLs with annotations (#3178) 2014-07-01 15:49:16 +02:00
Petr Půlpán 18061bbab0 [Youtube] add DASH format 272 (fixes #3128) 2014-06-21 12:03:27 +02:00
Jaime Marquínez Ferrándiz c26e9ac4b2 [youtube] Recognize signature functions that contain '$' (fixes #3104) 2014-06-19 16:42:49 +02:00
pulpe 7d568f5ab8 [Youtube] Recognize playlists with LL 2014-06-14 13:23:28 +02:00
pulpe 3c80377b69 [Youtube] Add format code 271 (1440p webm) 2014-06-07 14:31:10 +02:00
Jaime Marquínez Ferrándiz 70e322695d [youtube:playlist] Fix mixes extraction (fixes #3051)
The username seems to be empty now.
2014-06-05 21:23:27 +02:00
Anton Novosyolov 263bd4ec50 Recognize a third format of the upload_date in the 'watch-uploader-info' element 2014-06-02 13:30:23 +04:00
Jaime Marquínez Ferrándiz 76e92371ac [youtube] Recognize a second format of the upload_date in the 'watch-uploader-info' element (#2911) 2014-05-16 22:12:52 +02:00
Jaime Marquínez Ferrándiz 05ee2b6dad [youtube] Fix extraction of the feed 'paging' values (fixes #2925) 2014-05-16 16:01:13 +02:00
Philipp Hagemeister beee53de06 [youtube] Look for published-on date if uploaded-on is not found
Fixes #2911
2014-05-16 13:21:44 +02:00
Jaime Marquínez Ferrándiz 01ed5c9be3 [youtube] Fix typo 2014-05-15 13:43:29 +02:00
Philipp Hagemeister ad3bc6acd5 Document and test categories (#2923) 2014-05-15 12:41:42 +02:00
Dario Guarascio ec8deefc27 [youtube] Video categories added to metadata 2014-05-15 13:59:27 +07:00