diff options
author | Sergey M․ <dstftw@gmail.com> | 2015-07-11 21:58:12 +0600 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2015-07-11 21:58:12 +0600 |
commit | ac9ed061ec08ad360a0422ddb68060bdcc72baa2 (patch) | |
tree | 61cabec165c6a9438bc1c66905c7e66dfc1ef265 /youtube_dl/postprocessor | |
parent | d919fa3344463f94a152a10ba65981cd290d9ec8 (diff) | |
parent | aa5d9a79d6b5c354ee4a6bfbb43f94c2485ab9b4 (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.py | 4 | ||||
-rw-r--r-- | youtube_dl/postprocessor/ffmpeg.py | 11 |
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 |