Commit Graph

520 Commits (ead467a9c1cab3f26279ba9c57cf18598507ba79)

Author SHA1 Message Date
Aurélio A. Heckert aa5d9a79d6 Simplify `postprocessor_args` transmission to PP base class
* Remove `extra_cmd_args` transmission from sub to super class.
* Simplify params transmission through `downloader.params`.
10 years ago
Aurélio A. Heckert 1866432db7 Rename --pp-params to --postprocessor-args and access value as super class attribute 10 years ago
Aurélio A. Heckert 14835de9fb Use shlex.split for --pp-params and update related docs. 10 years ago
Sergey M․ d22dec74ff Add `--force-generic-extractor`
For some extractors that are hard to workout a good _VALID_URL we use very vague and unrestrictive ones,
e.g. just allowing anything after hostname and capturing part of URL as id.
If some of these extractors happen to have an video embed of some different hoster or platform
and this scenario was not handled in extractor itself we end up with inability to download this embed
until extractor is fixed to support embed of this kind.
Forcing downloader to use the generic extractor can be a neat temporary solution for this problem.
Example: FiveTV extractor with Tvigle embed - http://www.5-tv.ru/rabota/broadcasts/48/
10 years ago
Aurélio A. Heckert d84f1d14b5 Adds support for XviD output with extra parametrization
As the "LG Time Machine" (a (not so) smart TV) has a limitation for video dimensions (as for codecs), I take to implement an extra parameter `--pp-params` where we can send extra parameterization for the video converter (post-processor).

Example:
```
$ youtube-dl --recode-video=xvid --pp-params='-s 720x480' -c https://www.youtube.com/watch?v=BE7Qoe2ZiXE
```
That works fine on a 4yo LG Time Machine.

Closes #5733
10 years ago
Yen Chi Hsuan 8e59539752 [postprocessor/embedthumbnail] Use thumbnails downloaded by YoutubeDL 10 years ago
Jaime Marquínez Ferrándiz 95c5534f8e ExecAfterDownloadPP, YoutubeDL: remove unused parameters 10 years ago
Jaime Marquínez Ferrándiz 9f3fa89f7c Remove the --max-quality option
It doesn't work well with 'bestvideo' and 'bestaudio' because they are usually before the max quality.
Format filters should be used instead, they are more flexible and don't require the requested quality to exist for each video.
10 years ago
pulpe ddbed36455 [embedthumbnail] Add support for mp3 cover embedding 10 years ago
Sergey M․ ff556f5c09 Do not encode outtmpl twice (Closes #5288) 10 years ago
phiresky e7db87f700 Add metadata from title parser
(Closes #5125)
10 years ago
Philipp Hagemeister 91410c9bfa [letv] Add --cn-verification-proxy (Closes #5077) 10 years ago
Philipp Hagemeister c75f0b361a [downloader/external] Add support for custom options (Fixes #4885, closes #5098) 10 years ago
Jaime Marquínez Ferrándiz e9fade72f3 Add postprocessor for converting subtitles (closes #4954) 10 years ago
Jaime Marquínez Ferrándiz bfc993cc91 Merge branch 'subtitles-rework'
(Closes PR #4964)
10 years ago
Philipp Hagemeister 8fb3ac3649 PEP8: W503 10 years ago
Philipp Hagemeister 85729c51af [downloader] Add --hls-prefer-native to use the native HLS downloader (#4966) 10 years ago
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.
10 years ago
Philipp Hagemeister 73fac4e911 [ffmpeg] Add --ffmpeg-location 10 years ago
Philipp Hagemeister 7e5db8c930 [options] Add --no-color 10 years ago
Philipp Hagemeister 347de4931c [YoutubeDL] Add generic video filtering (Fixes #4916)
This functionality is intended to eventually encompass the current format filtering.
10 years ago
Philipp Hagemeister adc0ae3ceb [__init__] Provide a better error messages if URLs are missing (Closes #4813) 10 years ago
Philipp Hagemeister cc1237f484 [__init__] Work around flake8 false positive 10 years ago
Philipp Hagemeister 881e6a1f5c Add --xattr-set-filesize option (Fixes #1348) 10 years ago
Philipp Hagemeister baeaeffce5 [options] Add support for infinite retries (Fixes #507) 10 years ago
Philipp Hagemeister c14e88f0f5 [YoutubeDL] Add --playlist-items option (Fixes #2662) 10 years ago
Philipp Hagemeister ec82d85acd [YoutubeDL] Implement --write-all-thumbnails (Closes #2269) 10 years ago
Philipp Hagemeister cfb56d1af3 Add --list-thumbnails 10 years ago
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.
10 years ago
Philipp Hagemeister 649f7966f7 Fix --sleep-interval (#3426) 10 years ago
Philipp Hagemeister 5f0d813d93 Merge remote-tracking branch 'rupertbaxter2/master'
Conflicts:
	youtube_dl/__init__.py
	youtube_dl/downloader/common.py
10 years ago
Philipp Hagemeister 58b1f00d19 [YoutubeDL] Add new --call-home option for debugging 10 years ago
Philipp Hagemeister be4a824d74 Add new option --source-address
Closes #3618, fixes #721, fixes #2481, fixes #4551, closes #1020.
10 years ago
Philipp Hagemeister 6271f1cad9 [youtube|ffmpeg] Automatically correct video with non-square pixels (Fixes #4674) 10 years ago
Philipp Hagemeister bd1a281ede [options] PEP8 and simpler --merge-output-format handling (#4673) 10 years ago
Andrei Troie 34c781a24d Passing the option into the main program's arguments 10 years ago
Philipp Hagemeister c0bdf32a3c Add --print-json (Closes #2845) 10 years ago
Philipp Hagemeister 2bad0e5d20 [/__init__] Define public API 10 years ago
Philipp Hagemeister 0590062925 Respect age_limit when listing extractors (Fixes #4653) 10 years ago
Philipp Hagemeister 50a0f6df7e [/__init__] Add another cute search example 10 years ago
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.
10 years ago
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
10 years ago
Philipp Hagemeister b74e86f48a Fix all PEP8 issues except E501 10 years ago
Jouke Waleson 8bcc875676 PEP8: more applied 10 years ago
Jouke Waleson 5f6a1245ff PEP8 applied 10 years ago
Philipp Hagemeister 7d4111ed14 Provide guidance when called with a YouTube ID starting with a dash.
Reported at https://news.ycombinator.com/item?id=8648121
10 years ago
Philipp Hagemeister e07e931375 Work around 2.7.0 deficencies (Fixes #4223) 10 years ago
Philipp Hagemeister a4bc433619 [__init__] Modernize 10 years ago
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 .
10 years ago
Philipp Hagemeister 3511266bc3 [YoutubeDL] Simplify API of YoutubeDL
Calling add_default_extractors twice should be harmless since the first set of extractors will match.
10 years ago
Philipp Hagemeister 64269e4d01 Move AUTHORS to root (closes #2985) 10 years ago
Philipp Hagemeister 5894a4f4ee Credit @gabeos for crunchyroll:playlist (#3988) 10 years ago
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
10 years ago
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).
10 years ago
Philipp Hagemeister 7fc54e5262 Merge remote-tracking branch 'xavierbeynon/audiomack' 10 years ago
Philipp Hagemeister ec9c978481 Credit @winwon for vidzi (#3989) 10 years ago
xavier fdfefa1b9c Made changes per phihag 10 years ago
Philipp Hagemeister 63e0be3415 New option --dump-single-json (#4003) 10 years ago
Philipp Hagemeister 964ae0a122 Credit @thornomad for glide (#3944) 10 years ago
Philipp Hagemeister 2acfe95f58 Credit @capital-G for bild.de (#3983) 10 years ago
Philipp Hagemeister 057a5206cc Add --flat-playlist option (Closes #4003) 10 years ago
Philipp Hagemeister f2f2c0c2c6 [generic] Allow --default-search without colon 10 years ago
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
10 years ago
Sergey M․ 5e43e3803c Credit @lenaten for ynet (#3840) and sport5 (#3841) 10 years ago
Philipp Hagemeister 5a13fe9ed2 Credit @m5moufl for behindkink (#3740) 10 years ago
Philipp Hagemeister 997987d568 Credit @r4mos for allmyvideos 10 years ago
Philipp Hagemeister ae369738b0 Credit @haricharan for einthusan (#3755) 10 years ago
Philipp Hagemeister 2daabe4992 [options] Correct option usage 10 years ago
Philipp Hagemeister 34a741a8ec [options] Move all options to their own file 10 years ago
Sergey M․ 140d8d77b3 Credit @mrkolby for dbtv.no (#3685) 10 years ago
Philipp Hagemeister a0e07d3161 [youtube] Move cache into its own module 10 years ago
Philipp Hagemeister 35b1e44567 Fix --rm-cache-dir error message 10 years ago
Philipp Hagemeister 8d31fa3cce [execafterdownload] Simplify (#3569) 10 years ago
mcd1992 7833d941bb Rebased with upstream/master 10 years ago
mcd1992 a2360a4c80 Moved from os.system to subprocess.call 10 years ago
mcd1992 a7cacbca2b Implemented --exec option. 10 years ago
Philipp Hagemeister 9480d1a566 Merge remote-tracking branch 'riking/twofactor' 10 years ago
Philipp Hagemeister 36b0079f23 Credit @olebowle for GameOne:playlist (#3247) 10 years ago
Philipp Hagemeister 00558d9414 Merge remote-tracking branch 'sehrgut/Grooveshark'
Conflicts:
	youtube_dl/__init__.py
	youtube_dl/extractor/__init__.py
10 years ago
Philipp Hagemeister deda8ac376 Credit @terminalmage for patreon (#3390) 10 years ago
Philipp Hagemeister 3f338cd6de Credit @akirk for ellentv 10 years ago
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
10 years ago
rupertbaxter2 f96252b913 Merge remote-tracking branch 'upstream/master' 10 years ago
Sergey M․ 56ca04f662 Credit @sehaas for ORF FM4 extractor (#3431) 10 years ago
rupertbaxter2 0c72eb9060 Merge remote-tracking branch 'upstream/master' 10 years ago
Sergey M․ 4665664c92 Credit @DavidFabijan for mojvideo (#3423) 10 years ago
rupertbaxter2 f9f86b0c64 Merge remote-tracking branch 'upstream/master' 10 years ago
Sergey M․ e48a2c646d Credit @matrixik for #3441 10 years ago
rupertbaxter2 03359e9864 Added --sleep-interval option 10 years ago
Philipp Hagemeister 10b04ff7f4 Move --bidi-workaround to workarounds option group
Duh.
10 years ago
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.
10 years ago
Philipp Hagemeister 052421ff09 Add --rm-cache-dir 10 years ago
Philipp Hagemeister 4e99f48817 deprecate --title
This is the default already. If you want a specific format, pick it with -o or --id.
10 years ago
Philipp Hagemeister a11165ecc6 Reorder filesytem options
* Push down the deprecated ones
* Roughly order file-name, no-*, write-*, further options
10 years ago
Philipp Hagemeister fbb2fc5580 Group cache-related options under filesystem 10 years ago
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.
10 years ago
Philipp Hagemeister 92a86f4c1a Do not import from legacy FileDownloader class 10 years ago
Philipp Hagemeister 53eb217661 Add another great example for the --extractor-descriptions output 10 years ago
Philipp Hagemeister db964a33a1 Remove unused imports 10 years ago
Sergey M․ 5e95cb27d6 Credit @hassaanaliw for cracked (#3274) 10 years ago