Commit Graph

507 Commits

Author SHA1 Message Date
Jaime Marquínez Ferrándiz e9fade72f3 Add postprocessor for converting subtitles (closes #4954) 2015-02-28 14:43:24 +01:00
Jaime Marquínez Ferrándiz bfc993cc91 Merge branch 'subtitles-rework'
(Closes PR #4964)
2015-02-23 17:13:03 +01:00
Philipp Hagemeister 8fb3ac3649 PEP8: W503 2015-02-21 14:55:13 +01:00
Philipp Hagemeister 85729c51af [downloader] Add --hls-prefer-native to use the native HLS downloader (#4966) 2015-02-17 12:09:12 +01:00
Jaime Marquínez Ferrándiz a504ced097 Improve subtitles support
For each language the extractor builds a list with the available formats sorted (like for video formats), then YoutubeDL selects one of them using the '--sub-format' option which now allows giving the format preferences (for example 'ass/srt/best').
For each format the 'url' field can be set so that we only download the contents if needed, or if the contents needs to be processed (like in crunchyroll) the 'data' field can be used.

The reasons for this change are:
* We weren't checking that the format given with '--sub-format' was available, checking it in each extractor would be repetitive.
* It allows to easily support giving a format preference.
* The subtitles were automatically downloaded in the extractor, but I think that if you use for example the '--dump-json' option you want to finish as fast as possible.

Currently only the ted extractor has been updated, but the old system still works.
2015-02-16 21:51:03 +01:00
Philipp Hagemeister 73fac4e911 [ffmpeg] Add --ffmpeg-location 2015-02-16 04:05:53 +01:00
Philipp Hagemeister 7e5db8c930 [options] Add --no-color 2015-02-10 04:22:10 +01:00
Philipp Hagemeister 347de4931c [YoutubeDL] Add generic video filtering (Fixes #4916)
This functionality is intended to eventually encompass the current format filtering.
2015-02-10 03:32:24 +01:00
Philipp Hagemeister adc0ae3ceb [__init__] Provide a better error messages if URLs are missing (Closes #4813) 2015-01-30 01:56:15 +01:00
Philipp Hagemeister cc1237f484 [__init__] Work around flake8 false positive 2015-01-25 05:17:43 +01:00
Philipp Hagemeister 881e6a1f5c Add --xattr-set-filesize option (Fixes #1348) 2015-01-25 04:49:44 +01:00
Philipp Hagemeister baeaeffce5 [options] Add support for infinite retries (Fixes #507) 2015-01-25 04:34:38 +01:00
Philipp Hagemeister c14e88f0f5 [YoutubeDL] Add --playlist-items option (Fixes #2662) 2015-01-25 04:24:55 +01:00
Philipp Hagemeister ec82d85acd [YoutubeDL] Implement --write-all-thumbnails (Closes #2269) 2015-01-25 03:11:12 +01:00
Philipp Hagemeister cfb56d1af3 Add --list-thumbnails 2015-01-25 02:43:19 +01:00
Philipp Hagemeister 222516d97d [downloader] Lay groundwork for external downloaders.
This comes with a very simply implementation for wget; the real work is in setting up the infrastructure.
2015-01-24 01:38:48 +01:00
Philipp Hagemeister 649f7966f7 Fix --sleep-interval (#3426) 2015-01-23 12:07:13 +01:00
Philipp Hagemeister 5f0d813d93 Merge remote-tracking branch 'rupertbaxter2/master'
Conflicts:
	youtube_dl/__init__.py
	youtube_dl/downloader/common.py
2015-01-23 12:05:01 +01:00
Philipp Hagemeister 58b1f00d19 [YoutubeDL] Add new --call-home option for debugging 2015-01-10 21:02:27 +01:00
Philipp Hagemeister be4a824d74 Add new option --source-address
Closes #3618, fixes #721, fixes #2481, fixes #4551, closes #1020.
2015-01-10 19:56:51 +01: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 bd1a281ede [options] PEP8 and simpler --merge-output-format handling (#4673) 2015-01-10 02:03:00 +01:00
Andrei Troie 34c781a24d Passing the option into the main program's arguments 2015-01-10 00:03:11 +00:00
Philipp Hagemeister c0bdf32a3c Add --print-json (Closes #2845) 2015-01-08 18:03:29 +01:00
Philipp Hagemeister 2bad0e5d20 [/__init__] Define public API 2015-01-07 07:41:05 +01:00
Philipp Hagemeister 0590062925 Respect age_limit when listing extractors (Fixes #4653) 2015-01-07 07:20:20 +01:00
Philipp Hagemeister 50a0f6df7e [/__init__] Add another cute search example 2015-01-01 22:47:21 +01:00
Philipp Hagemeister 4f026fafbc [YoutubeDL] Make postprocessors declarative
Instead of having to configure PPs in code, this allows us and embedding programs not to worry about imports or finer details, similarly to how we handle IEs.
2014-12-15 01:06:25 +01:00
Mark Schreiber ff815fe65a Download playlist items in reverse order
Series of videos are typically uploaded to YouTube playlists in
chronological order.  By default, these videos are downloaded
latest-to-earliest; this is great for seeing the latest videos in a
series, but prevents streaming video in the order that the videos were
produced.  Add an option to download videos in reverse order,
earliest-to-latest.

Conflicts:
	youtube_dl/YoutubeDL.py
	youtube_dl/__init__.py
2014-12-12 16:56:29 +01:00
Philipp Hagemeister b74e86f48a Fix all PEP8 issues except E501 2014-11-23 22:21:46 +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 7d4111ed14 Provide guidance when called with a YouTube ID starting with a dash.
Reported at https://news.ycombinator.com/item?id=8648121
2014-11-23 10:51:09 +01:00
Philipp Hagemeister e07e931375 Work around 2.7.0 deficencies (Fixes #4223) 2014-11-19 18:21:58 +01:00
Philipp Hagemeister a4bc433619 [__init__] Modernize 2014-11-16 15:08:34 +01:00
Philipp Hagemeister 8c25f81bee [util] Move compatibility functions out of util
utils is large enough without these compatibility functions.

Everything that is present in newer versions of Python (i.e. with dev Python it's just an import) goes into compat.py .
Everything else (i.e. youtube-dl-specific helpers) goes into utils.py .
2014-11-02 11:23:42 +01:00
Philipp Hagemeister 3511266bc3 [YoutubeDL] Simplify API of YoutubeDL
Calling add_default_extractors twice should be harmless since the first set of extractors will match.
2014-10-28 12:54:29 +01:00
Philipp Hagemeister 64269e4d01 Move AUTHORS to root (closes #2985) 2014-10-26 18:01:00 +01:00
Philipp Hagemeister 5894a4f4ee Credit @gabeos for crunchyroll:playlist (#3988) 2014-10-26 17:29:02 +01:00
Sergey M․ f889cea109 Merge branch 'compat-getenv-and-expanduser' of https://github.com/dstftw/youtube-dl into dstftw-compat-getenv-and-expanduser
Conflicts:
	test/test_utils.py
	youtube_dl/__init__.py
2014-10-26 19:56:52 +07:00
Jaime Marquínez Ferrándiz 1bdeb7be2e Set '--simulate' if any of the printing options is given (fixes #3036)
That's what the help messages say.
Previously it would only set '--skip-download', which would write thumbnail,
descriptions or subtitles if they were requested (for example you may have set
'--write-thumbnail' in the config file).
2014-10-26 13:01:57 +01:00
Philipp Hagemeister 7fc54e5262 Merge remote-tracking branch 'xavierbeynon/audiomack' 2014-10-25 08:55:12 +02:00
Philipp Hagemeister ec9c978481 Credit @winwon for vidzi (#3989) 2014-10-25 08:42:53 +02:00
xavier fdfefa1b9c Made changes per phihag 2014-10-24 21:07:01 -05:00
Philipp Hagemeister 63e0be3415 New option --dump-single-json (#4003) 2014-10-25 00:30:57 +02:00
Philipp Hagemeister 964ae0a122 Credit @thornomad for glide (#3944) 2014-10-24 15:29:44 +02:00
Philipp Hagemeister 2acfe95f58 Credit @capital-G for bild.de (#3983) 2014-10-24 15:12:29 +02:00
Philipp Hagemeister 057a5206cc Add --flat-playlist option (Closes #4003) 2014-10-24 14:48:12 +02:00
Philipp Hagemeister f2f2c0c2c6 [generic] Allow --default-search without colon 2014-10-23 21:13:45 +02:00
Sergey M․ 4644ac5527 [core] Decode environment variables with filesystem encoding (Fixes #3854, Fixes #3217, Fixes #2918)
Introduces compat versions of os.getenv and os.path.expanduser
2014-09-30 22:27:53 +07:00
Sergey M․ 5e43e3803c Credit @lenaten for ynet (#3840) and sport5 (#3841) 2014-09-28 03:45:15 +07:00
Philipp Hagemeister 5a13fe9ed2 Credit @m5moufl for behindkink (#3740) 2014-09-17 12:50:47 +02:00
Philipp Hagemeister 997987d568 Credit @r4mos for allmyvideos 2014-09-16 23:33:13 +02:00
Philipp Hagemeister ae369738b0 Credit @haricharan for einthusan (#3755) 2014-09-15 23:35:00 +02:00
Philipp Hagemeister 2daabe4992 [options] Correct option usage 2014-09-13 07:58:44 +02:00
Philipp Hagemeister 34a741a8ec [options] Move all options to their own file 2014-09-13 07:55:21 +02:00
Sergey M․ 140d8d77b3 Credit @mrkolby for dbtv.no (#3685) 2014-09-05 20:00:12 +07:00
Philipp Hagemeister a0e07d3161 [youtube] Move cache into its own module 2014-09-03 17:29:19 +02:00
Philipp Hagemeister 35b1e44567 Fix --rm-cache-dir error message 2014-09-01 17:11:28 +02:00
Philipp Hagemeister 8d31fa3cce [execafterdownload] Simplify (#3569) 2014-08-25 10:18:01 +02:00
mcd1992 7833d941bb Rebased with upstream/master 2014-08-24 15:04:50 -05:00
mcd1992 a2360a4c80 Moved from os.system to subprocess.call 2014-08-24 14:38:43 -05:00
mcd1992 a7cacbca2b Implemented --exec option. 2014-08-24 14:38:43 -05:00
Philipp Hagemeister 9480d1a566 Merge remote-tracking branch 'riking/twofactor' 2014-08-24 07:14:23 +02:00
Philipp Hagemeister 36b0079f23 Credit @olebowle for GameOne:playlist (#3247) 2014-08-24 07:06:54 +02:00
Philipp Hagemeister 00558d9414 Merge remote-tracking branch 'sehrgut/Grooveshark'
Conflicts:
	youtube_dl/__init__.py
	youtube_dl/extractor/__init__.py
2014-08-23 16:41:14 +02:00
Philipp Hagemeister deda8ac376 Credit @terminalmage for patreon (#3390) 2014-08-22 02:34:22 +02:00
Philipp Hagemeister 3f338cd6de Credit @akirk for ellentv 2014-08-21 11:57:44 +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
rupertbaxter2 f96252b913 Merge remote-tracking branch 'upstream/master' 2014-08-13 04:22:45 -07:00
Sergey M․ 56ca04f662 Credit @sehaas for ORF FM4 extractor (#3431) 2014-08-10 01:26:23 +07:00
rupertbaxter2 0c72eb9060 Merge remote-tracking branch 'upstream/master' 2014-08-06 16:43:21 -07:00
Sergey M․ 4665664c92 Credit @DavidFabijan for mojvideo (#3423) 2014-08-06 20:40:55 +07:00
rupertbaxter2 f9f86b0c64 Merge remote-tracking branch 'upstream/master' 2014-08-05 12:43:30 -07:00
Sergey M․ e48a2c646d Credit @matrixik for #3441 2014-08-05 19:09:11 +07:00
rupertbaxter2 03359e9864 Added --sleep-interval option 2014-08-03 07:34:04 -07:00
Philipp Hagemeister 10b04ff7f4 Move --bidi-workaround to workarounds option group
Duh.
2014-07-29 17:19:19 +02:00
Philipp Hagemeister 1f7ccb9014 [generic] Add --default-search fixup_error
This restores the ability to enter URLs without a scheme (and default to http), but still fail if the input is a search term.
2014-07-29 17:17:46 +02:00
Philipp Hagemeister 052421ff09 Add --rm-cache-dir 2014-07-24 12:16:16 +02:00
Philipp Hagemeister 4e99f48817 deprecate --title
This is the default already. If you want a specific format, pick it with -o or --id.
2014-07-24 11:52:18 +02:00
Philipp Hagemeister a11165ecc6 Reorder filesytem options
* Push down the deprecated ones
* Roughly order file-name, no-*, write-*, further options
2014-07-24 11:50:50 +02:00
Philipp Hagemeister fbb2fc5580 Group cache-related options under filesystem 2014-07-24 11:49:26 +02:00
Philipp Hagemeister 2fe3d240cc Regroup and hide workaround options
These options are rarely necessary. Hide them to make the important options in the general group more obvious.
2014-07-24 11:46:21 +02:00
Philipp Hagemeister 92a86f4c1a Do not import from legacy FileDownloader class 2014-07-23 02:43:59 +02:00
Philipp Hagemeister 53eb217661 Add another great example for the --extractor-descriptions output 2014-07-22 04:53:14 +02:00
Philipp Hagemeister db964a33a1 Remove unused imports 2014-07-21 12:12:50 +02:00
Sergey M․ 5e95cb27d6 Credit @hassaanaliw for cracked (#3274) 2014-07-18 21:41:34 +07:00
Sergey M․ 3b09757bac Credit @chaochichen for mlb (#3252) 2014-07-16 21:03:30 +07:00
Philipp Hagemeister 0d90e0f067 Credit @naglis for firedrive (#3242) 2014-07-12 14:23:54 +02:00
Jaime Marquínez Ferrándiz 133af9385b Update supported formats for the --recode-video option (#3228) 2014-07-11 16:16:30 +02:00
Philipp Hagemeister 1df0ae2170 Credit @tobidope for gameone (#2941) 2014-07-11 11:29:17 +02:00
Philipp Hagemeister cdc22cb886 Credit @adammw for tenplay (#2954) 2014-07-11 11:16:04 +02:00
Philipp Hagemeister 3d55f2806e Credit @irtusb for vimple (#3073) 2014-07-11 11:11:52 +02:00
Philipp Hagemeister 7571c02c8a [generic] Set default-search to error
This prevents users from submitting bug reports where they mistyped a URL, and prevents me from getting a weird video when holding shift and thus searching for :Tds
2014-07-06 11:22:44 +02:00
Sergey M․ ba4133c9eb Credit @hakatashi for #3181 #3182 2014-07-04 22:30:43 +07:00
Philipp Hagemeister 9cc977f104 Credit @ralfharing for vh1 2014-06-07 16:41:44 +02:00
Philipp Hagemeister d30d28156d Credit @georgjaehnig for spiegeltv 2014-06-07 15:40:27 +02:00
Sergey M․ c2ef29234c Credit @codesparkle for #2928, #2934, #2938, #2939 2014-05-20 20:12:57 +07:00
Keith Beckman dd06c95e43 Added new IE for Grooveshark 2014-05-20 02:47:34 -04:00
Philipp Hagemeister 25dfe0eb10 Credit @hojel for fc2 and other extractors (#2877) 2014-05-13 10:00:27 +02:00