Commit Graph

64 Commits (d34e79492d1d9d9babf85af3737b90c4fe55eb42)

Author SHA1 Message Date
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 65bf37ef83 [ffmpeg] Remove trivial helper method 10 years ago
Philipp Hagemeister f740fae2a4 [ffmpeg] Make available a property 10 years ago
Jaime Marquínez Ferrándiz c84dd8a90d [YoutubeDL] store the subtitles to download in the 'requested_subtitles' field
We need to keep the orginal subtitles information, so that the '--load-info' option can be used to list or select the subtitles again.
We'll also be able to have a separate field for storing the automatic captions info.
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 5bfd430f81 Merge remote-tracking branch 'origin/master' 10 years ago
Philipp Hagemeister 73fac4e911 [ffmpeg] Add --ffmpeg-location 10 years ago
Jaime Marquínez Ferrándiz cffcbc02de [postprocessor/ffmpeg] Don't let ffmpeg read from stdin (fixes #4945)
If you run 'while read aurl ; do youtube-dl --extract-audio "${aurl}"; done < path_to_batch_file'  (batch_file contains one url per line) each call to youtube-dl consumed some characters and 'read' would assing to 'aurl' a non valid url, something like 'tube.com/watch?v=<id>'.
10 years ago
Jaime Marquínez Ferrándiz 467d3c9a0c [ffmpeg] --extrac-audio: Use the same options for avconv and ffmpeg
They have been available in ffmpeg since version 0.9, and we require 1.0 or higher.
10 years ago
Philipp Hagemeister 2cf0ecac7b [ffmpeg] --add-metadata: Set comment and purl fields (Fixes #4847) 10 years ago
Philipp Hagemeister 62cd676c74 [youtube] Fixup DASH m4a headers
This fixes #2288, #2506, #2607, #3681, #4741, #4767.
10 years ago
David Powell bd3cbe0716 Embed description and URL as MP4 tags 10 years ago
Jaime Marquínez Ferrándiz 2875cf01bb FFmpegEmbedSubtitlePP: simplify command 10 years ago
Jaime Marquínez Ferrándiz e205db3bcd FFmpegEmbedSubtitlePP: don't fail if the video doesn't have an audio stream (fixes #4718)
Instead of specifying which streams ffmpeg must copy, we tell it to copy all.
10 years ago
Philipp Hagemeister 52afb2ac1b [ffmpeg] Call encodeFilename on filenames 10 years ago
Philipp Hagemeister 43bc88903d Merge remote-tracking branch 'ivan/muxed-mtime' 10 years ago
Philipp Hagemeister 6271f1cad9 [youtube|ffmpeg] Automatically correct video with non-square pixels (Fixes #4674) 10 years ago
Philipp Hagemeister b0e87c3110 [ffmpeg] Correctly encode paths on Windows
On Python 2.x on Windows, if there are any unicode arguments in the command argument list, the whole list is converted to unicode internally.
Therefore, we need to call encodeArgument on every argument.

Fixes #4337 and #4668.
10 years ago
Jaime Marquínez Ferrándiz bc3e582fe4 Don't use '-shortest' option for merging formats (closes #4220, closes #4580)
With avconv and older versions of ffmpeg the video is partially copied.
The duration difference between the audio and the video seem to be really small, so it's probably not noticeable.
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
Jaime Marquínez Ferrándiz 83e865a370 Fix PEP8 issue E713 10 years ago
Philipp Hagemeister 5f9b83944d [ffmpeg] Improve version check and call it from hls (Fixes #4377) 10 years ago
Philipp Hagemeister dcddc10a50 [test_unicode_literals] Arm unicode_literals check
From now on, the line

from __future__ import unicode_literals

should be contained in every single Python file lest we run into any more 2.x/3.x issues.
Going forward, we're likely to develop on 3.x only and would likely miss subtle bugs otherwise.
10 years ago
Philipp Hagemeister 3aa578cad2 [ffmpeg] Modernize 10 years ago
Jouke Waleson 2514d2635e PEP8: E225,E227 10 years ago
Jouke Waleson 8bcc875676 PEP8: more applied 10 years ago
Jouke Waleson 5f6a1245ff PEP8 applied 10 years ago
Ivan Kozik 0cd64bd077 Copy the mtime from the oldest source file to the file created by ffmpeg
Fixes #4245
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 9580711841 [ffmpeg] Move version detection to utils 10 years ago
Philipp Hagemeister c9f08154a3 Remove unused imports 10 years ago
Philipp Hagemeister 50b51830fb [ffmpeg] Fix typo 10 years ago
Philipp Hagemeister 1a253e134c [ffmpeg] Fix call to ffprobe (Fixes #4041) 10 years ago
Philipp Hagemeister 6194bb1419 [ffmpeg] Make downloader optional (Fixes #4039) 10 years ago
Jaime Marquínez Ferrándiz 5f82b129e0 [ffmpeg] Also look into stderr for extracting the version
At least with avconv 11, it will print 'avconv version 11, ..' to stderr, not stdout.
10 years ago
Philipp Hagemeister 488447455d [ffmpeg] Warn if ffmpeg/avconv version is too old (Fixes #4026) 10 years ago
Philipp Hagemeister d28b517154 [YoutubeDL] Output avconv/ffmpeg versions if -v is given 10 years ago
Philipp Hagemeister 2aefb886fa [ffmpeg] Improve format merging (Closes #3935) 10 years ago
Philipp Hagemeister 8d31fa3cce [execafterdownload] Simplify (#3569) 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 d799b47b82 [ffmpeg] PEP8 and a more obvious variable name 11 years ago
rupertbaxter2 b7f8116406 Deletes temp files after postprocess merge unless -k option is specified 11 years ago
Philipp Hagemeister f07b74fc18 [ffmpeg] Correct argument encoding on Windows with Python 2.x
Fixes #2924
11 years ago
Philipp Hagemeister 0a871f6880 Provide compatibility check_output for 2.6 (Fixes #2926) 11 years ago
Jaime Marquínez Ferrándiz 77477fa4c9 Merge branch 'atomicparsley' (closes #2436) 11 years ago
Jaime Marquínez Ferrándiz a169e18ce1 [atomicparsley] Remove unneeded __init__ method 11 years ago
Philipp Hagemeister 269aecd0c0 [ffmpeg] Do not pass in byets to subprocess (Fixes #2717) 11 years ago
Philipp Hagemeister 62fec3b2ff Add new --encoding option (Fixes #2650) 11 years ago