Yen Chi Hsuan
fbff30d2db
[xattr] Catch 'Argument list too long'
2015-05-14 14:51:00 +08:00
Yen Chi Hsuan
86c7fdb17c
[xattr] Enhance error handling to catch ENOSPC
...
Fixes #5589
2015-05-14 14:28:41 +08:00
Yen Chi Hsuan
2cc6d13547
[postprocessor/embedthumbnail] Encode arguments in calling AtomicParsley
2015-05-14 04:41:30 +08:00
Yen Chi Hsuan
bb8ca1d112
[postprocessor/embedthumbnail] Use run_ffmpeg_multiple_files
2015-05-14 02:35:28 +08:00
Yen Chi Hsuan
8e59539752
[postprocessor/embedthumbnail] Use thumbnails downloaded by YoutubeDL
2015-05-14 02:32:00 +08:00
Sergey M․
13763ce599
[postprocessor/ffmpeg] Add can_merge
method
2015-05-11 02:00:31 +06:00
Sergey M․
70484b9f8a
[postprocessor/ffmpeg] Extract check_outdated
method
2015-05-11 00:26:39 +06:00
Jaime Marquínez Ferrándiz
69b46b3d95
ExecAfterDownloadPP: fix __init__ method
2015-05-10 17:47:49 +02:00
Jaime Marquínez Ferrándiz
95c5534f8e
ExecAfterDownloadPP, YoutubeDL: remove unused parameters
2015-05-10 17:41:11 +02:00
Nikoli
083c1bb960
Add ability to embed subtitles in mkv files ( closes #5434 )
2015-05-01 11:54:40 +02:00
pulpe
2a09c1b8ab
[postprocessor/embedthumbnail] Fix mp3 embedding with avconv ( fixes #5526 )
2015-04-25 20:41:15 +02:00
Yen Chi Hsuan
bf6427d2fb
[ffmpeg] Add dfxp (TTML) subtitles support ( #3432 , #5146 )
2015-04-25 23:18:27 +08:00
Jaime Marquínez Ferrándiz
92995e6265
[postprocessor/embedthumbnail] Style fix
2015-04-24 22:08:00 +02:00
pulpe
10fb7710e8
Forgot to clean the remains of class
2015-04-24 09:17:46 +02:00
pulpe
c0ea8ebb9b
[ffmpeg] Remove unneeded class
2015-04-24 09:11:39 +02:00
pulpe
31fd9c7601
[embedthumbnail] use FFmpegPostProcessor for mp3
2015-04-24 09:08:57 +02:00
pulpe
ddbed36455
[embedthumbnail] Add support for mp3 cover embedding
2015-04-24 08:48:49 +02:00
Sergey M․
4515cb43ca
[xattrpp] Fix typo
2015-04-23 22:11:09 +06:00
Yen Chi Hsuan
8c8826176d
[xattr] Add version detection for python-pyxattr
...
For more information, see #5498 and changes to convertObj() in
iustin/pyxattr@cc84e466f6
2015-04-23 13:50:44 +08:00
Jaime Marquínez Ferrándiz
5b5fbc0867
Detect already merged videos
...
Without the '--keep-video' option the two files would be downloaded again and even using the option, ffmpeg would be run again, which for some videos can take a long time.
We use a temporary file with ffmpeg so that the final file only exists if it success
2015-04-19 17:51:41 +02:00
Jaime Marquínez Ferrándiz
d47aeb2252
FFmpegMergerPP: use the new system for specifying which files can be delete
2015-04-18 11:52:36 +02:00
Jaime Marquínez Ferrándiz
14523ed969
FFmpegEmbedSubtitlePP: remove the subtitle files if '--keep-video' is not given ( closes #5435 )
2015-04-18 11:44:42 +02:00
Jaime Marquínez Ferrándiz
592e97e855
Postprocessors: use a list for the files that can be deleted
...
We could only know if we had to delete the original file, but this system allows to specify us more files (like subtitles).
2015-04-18 11:36:42 +02:00
Jaime Marquínez Ferrándiz
ce81b1411d
FFmpegExtractAudioPP: Simplify handling of already existing files
2015-04-17 22:37:27 +02:00
Jaime Marquínez Ferrándiz
37b44fe7c1
[postprocessor/atomicparsley] Don't try to remove the temporary and original files if the format is unsupported ( fixes #5419 )
2015-04-13 22:50:40 +02:00
Sergey M․
dd29eb7f81
[postprocessor/common:postprocessor/ffmpeg] Generalize utime
2015-04-08 21:40:31 +06:00
Pete Hemery
cc55d08832
[ffmpeg] adding exception catching for call to os.utime in run_ffmpeg_multiple_files
2015-04-07 22:33:18 +01:00
Jaime Marquínez Ferrándiz
3da4b31359
[postprocessor/ffmpeg] Fix crash when ffprobe/avprobe are not installed ( closes #5349 )
...
'self.probe_basename' was None, so 'probe_executable' raised a KeyError exception
2015-04-03 14:09:50 +02:00
Jaime Marquínez Ferrándiz
70a1165b32
Don't use bare 'except:'
...
They catch any exception, including KeyboardInterrupt, we don't want to catch it.
2015-03-27 13:02:20 +01:00
Jaime Marquínez Ferrándiz
88cf6fb368
[metadatafromtitle] Some improvements and cleanup
...
* Remove the 'songtitle' field, 'title' can be used instead.
* Remove newlines in the help text, for consistency with other options.
* Add 'from __future__ import unicode_literals'.
* Call '__init__' from the parent class.
* Add test for the format_to_regex method
2015-03-14 20:06:33 +01:00
phiresky
e7db87f700
Add metadata from title parser
...
(Closes #5125 )
2015-03-14 19:46:22 +01:00
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
65bf37ef83
[ffmpeg] Remove trivial helper method
2015-02-17 17:27:29 +01:00
Philipp Hagemeister
f740fae2a4
[ffmpeg] Make available a property
2015-02-17 17:26:41 +01:00
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.
2015-02-16 21:51:08 +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
5bfd430f81
Merge remote-tracking branch 'origin/master'
2015-02-16 04:09:10 +01:00
Philipp Hagemeister
73fac4e911
[ffmpeg] Add --ffmpeg-location
2015-02-16 04:05:53 +01:00
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>'.
2015-02-13 22:25:34 +01:00
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.
2015-02-06 22:05:11 +01:00
Philipp Hagemeister
2cf0ecac7b
[ffmpeg] --add-metadata: Set comment and purl fields ( Fixes #4847 )
2015-02-03 00:16:45 +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
David Powell
bd3cbe0716
Embed description and URL as MP4 tags
2015-01-18 15:01:05 -08:00
Jaime Marquínez Ferrándiz
2875cf01bb
FFmpegEmbedSubtitlePP: simplify command
2015-01-16 13:37:37 +01:00
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.
2015-01-16 13:29:01 +01:00
Philipp Hagemeister
52afb2ac1b
[ffmpeg] Call encodeFilename on filenames
2015-01-10 06:13:18 +01:00
Philipp Hagemeister
43bc88903d
Merge remote-tracking branch 'ivan/muxed-mtime'
2015-01-10 06:10:18 +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
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 .
2015-01-09 19:02:07 +01:00
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.
2015-01-04 14:02:17 +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
Jaime Marquínez Ferrándiz
83e865a370
Fix PEP8 issue E713
2014-12-09 23:11:26 +01:00
Philipp Hagemeister
5f9b83944d
[ffmpeg] Improve version check and call it from hls ( Fixes #4377 )
2014-12-06 12:14:26 +01:00
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.
2014-11-26 20:01:22 +01:00
Philipp Hagemeister
3aa578cad2
[ffmpeg] Modernize
2014-11-26 13:05:49 +01:00
Jouke Waleson
2514d2635e
PEP8: E225,E227
2014-11-23 21:23:05 +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
Ivan Kozik
0cd64bd077
Copy the mtime from the oldest source file to the file created by ffmpeg
...
Fixes #4245
2014-11-20 06:39:07 +00: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
9580711841
[ffmpeg] Move version detection to utils
2014-11-02 10:50:30 +01:00
Philipp Hagemeister
c9f08154a3
Remove unused imports
2014-10-26 23:13:42 +01:00
Philipp Hagemeister
50b51830fb
[ffmpeg] Fix typo
2014-10-26 21:31:51 +01:00
Philipp Hagemeister
1a253e134c
[ffmpeg] Fix call to ffprobe ( Fixes #4041 )
2014-10-26 21:03:16 +01:00
Philipp Hagemeister
6194bb1419
[ffmpeg] Make downloader optional ( Fixes #4039 )
2014-10-26 21:00:42 +01:00
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.
2014-10-26 18:11:31 +01:00
Philipp Hagemeister
488447455d
[ffmpeg] Warn if ffmpeg/avconv version is too old ( Fixes #4026 )
2014-10-26 16:46:34 +01:00
Philipp Hagemeister
d28b517154
[YoutubeDL] Output avconv/ffmpeg versions if -v is given
2014-10-26 16:31:52 +01:00
Philipp Hagemeister
2aefb886fa
[ffmpeg] Improve format merging ( Closes #3935 )
2014-10-13 10:12:43 +02:00
Philipp Hagemeister
8d31fa3cce
[execafterdownload] Simplify ( #3569 )
2014-08-25 10:18:01 +02: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
d799b47b82
[ffmpeg] PEP8 and a more obvious variable name
2014-07-23 02:55:06 +02:00
rupertbaxter2
b7f8116406
Deletes temp files after postprocess merge unless -k option is specified
2014-07-23 02:53:44 +02:00
Philipp Hagemeister
f07b74fc18
[ffmpeg] Correct argument encoding on Windows with Python 2.x
...
Fixes #2924
2014-05-16 15:47:56 +02:00
Philipp Hagemeister
0a871f6880
Provide compatibility check_output for 2.6 ( Fixes #2926 )
2014-05-16 12:03:59 +02:00
Jaime Marquínez Ferrándiz
77477fa4c9
Merge branch 'atomicparsley' ( closes #2436 )
2014-04-12 15:52:42 +02:00
Jaime Marquínez Ferrándiz
a169e18ce1
[atomicparsley] Remove unneeded __init__ method
2014-04-12 15:51:40 +02:00
Philipp Hagemeister
269aecd0c0
[ffmpeg] Do not pass in byets to subprocess ( Fixes #2717 )
2014-04-07 23:33:05 +02:00
Philipp Hagemeister
62fec3b2ff
Add new --encoding option ( Fixes #2650 )
2014-03-30 06:08:22 +02:00
pulpe
39c68260c0
fix ffmpeg metadatapp
2014-03-26 15:22:52 +01:00
pulpe
149254d0d5
fix ffmpeg error, if youtube-dl runs more than once with --embed-thumbnail with same video
2014-03-26 15:22:52 +01:00
pulpe
0c14e2fbe3
add post processor
2014-03-26 15:22:51 +01:00
Jaime Marquínez Ferrándiz
e103fd46ca
FFmpegMergerPP: Print an info message with the destination before running ffmpeg
2014-01-17 14:31:23 +01:00
Jaime Marquínez Ferrándiz
76b1bd672d
Add ‘--prefer-avconv’ and ‘--prefer-ffmpeg’ options ( #2115 )
...
Affects the ffmpeg post processors, if ‘--prefer-ffmpeg’ is given and both avconv and ffmpeg are installed, it will use ffmpeg. Otherwise it will follow the old behaviour.
2014-01-08 17:53:34 +01:00
Philipp Hagemeister
bd1b906527
Remove unusued import
2014-01-07 09:42:38 +01:00
Philipp Hagemeister
a9ce0c631e
[xattr] Correct on Windows
2014-01-07 06:50:24 +01:00
Philipp Hagemeister
afc7bc33cb
[xattr] Always use UTF-8
...
On Windows and other systems, other encodings would break when trying to encode non-ASCII characters.
Simply use UTF-8, like every sane system.
2014-01-07 06:49:15 +01:00
Philipp Hagemeister
168da92b9a
[xattr] Rework
...
In particular, explicitly require NT before trying ADS, and do not try to parse process output that may be localized.
2014-01-07 06:36:34 +01:00
Philipp Hagemeister
d70ad093af
Move check_executable into a helper ufnction
2014-01-07 06:23:41 +01:00
Philipp Hagemeister
2a2e2770cc
[xattr] Always output a warning message on errors
2014-01-07 06:12:28 +01:00
Philipp Hagemeister
42cc71e80b
[xattr] Write bytestrings, not characters
2014-01-07 06:11:21 +01:00
Philipp Hagemeister
496c19234c
Split postprocessor package into multiple modules
2014-01-07 05:59:22 +01:00
Philipp Hagemeister
56327689a2
Move postprocessor into its own package
2014-01-07 05:49:17 +01:00