aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/postprocessor
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2015-07-11 21:58:12 +0600
committerSergey M․ <dstftw@gmail.com>2015-07-11 21:58:12 +0600
commitac9ed061ec08ad360a0422ddb68060bdcc72baa2 (patch)
tree61cabec165c6a9438bc1c66905c7e66dfc1ef265 /youtube_dl/postprocessor
parentd919fa3344463f94a152a10ba65981cd290d9ec8 (diff)
parentaa5d9a79d6b5c354ee4a6bfbb43f94c2485ab9b4 (diff)
Merge branch 'master' of https://github.com/aurium/youtube-dl into aurium-master
Diffstat (limited to 'youtube_dl/postprocessor')
-rw-r--r--youtube_dl/postprocessor/common.py4
-rw-r--r--youtube_dl/postprocessor/ffmpeg.py11
2 files changed, 11 insertions, 4 deletions
diff --git a/youtube_dl/postprocessor/common.py b/youtube_dl/postprocessor/common.py
index 3b0e8ddd8..bee64c457 100644
--- a/youtube_dl/postprocessor/common.py
+++ b/youtube_dl/postprocessor/common.py
@@ -22,12 +22,14 @@ class PostProcessor(object):
of the chain is reached.
PostProcessor objects follow a "mutual registration" process similar
- to InfoExtractor objects.
+ to InfoExtractor objects. And it can receive parameters from CLI trough
+ --postprocessor-args.
"""
_downloader = None
def __init__(self, downloader=None):
+ self._extra_cmd_args = downloader.params.get('postprocessor_args')
self._downloader = downloader
def set_downloader(self, downloader):
diff --git a/youtube_dl/postprocessor/ffmpeg.py b/youtube_dl/postprocessor/ffmpeg.py
index fe7e0a8ee..d4ba3572b 100644
--- a/youtube_dl/postprocessor/ffmpeg.py
+++ b/youtube_dl/postprocessor/ffmpeg.py
@@ -295,15 +295,20 @@ class FFmpegVideoConvertorPP(FFmpegPostProcessor):
def run(self, information):
path = information['filepath']
prefix, sep, ext = path.rpartition('.')
- outpath = prefix + sep + self._preferedformat
+ ext = self._preferedformat
+ options = self._extra_cmd_args
+ if self._preferedformat == 'xvid':
+ ext = 'avi'
+ options.extend(['-c:v', 'libxvid', '-vtag', 'XVID'])
+ outpath = prefix + sep + ext
if information['ext'] == self._preferedformat:
self._downloader.to_screen('[ffmpeg] Not converting video file %s - already is in target format %s' % (path, self._preferedformat))
return [], information
self._downloader.to_screen('[' + 'ffmpeg' + '] Converting video from %s to %s, Destination: ' % (information['ext'], self._preferedformat) + outpath)
- self.run_ffmpeg(path, outpath, [])
+ self.run_ffmpeg(path, outpath, options)
information['filepath'] = outpath
information['format'] = self._preferedformat
- information['ext'] = self._preferedformat
+ information['ext'] = ext
return [path], information