youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit 712e86b999ef8ba56afb9c5b8a12699b5a0bbc5d
parent 74fdba620d5133d8c6515b0d5e7cb9b3e23beb3e
Author: Philipp Hagemeister <phihag@phihag.de>
Date:   Wed,  9 Jan 2013 14:46:19 +0100

Fix broken ffmpeg (Closes #623)

Diffstat:
Myoutube_dl/PostProcessor.py | 11+++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/youtube_dl/PostProcessor.py b/youtube_dl/PostProcessor.py @@ -86,7 +86,7 @@ class FFmpegExtractAudioPP(PostProcessor): def get_audio_codec(self, path): if not self._exes['ffprobe'] and not self._exes['avprobe']: return None try: - cmd = [self._exes['avprobe'] or self._exes['ffprobe'], '-show_streams', '--', encodeFilename(path)] + cmd = [self._exes['avprobe'] or self._exes['ffprobe'], '-show_streams', encodeFilename(self._ffmpeg_filename_argument(path))] handle = subprocess.Popen(cmd, stderr=compat_subprocess_get_DEVNULL(), stdout=subprocess.PIPE) output = handle.communicate()[0] if handle.wait() != 0: @@ -110,7 +110,7 @@ class FFmpegExtractAudioPP(PostProcessor): acodec_opts = ['-acodec', codec] cmd = ([self._exes['avconv'] or self._exes['ffmpeg'], '-y', '-i', encodeFilename(path), '-vn'] + acodec_opts + more_opts + - ['--', encodeFilename(out_path)]) + [encodeFilename(self._ffmpeg_filename_argument(out_path))]) p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout,stderr = p.communicate() if p.returncode != 0: @@ -202,3 +202,10 @@ class FFmpegExtractAudioPP(PostProcessor): information['filepath'] = new_path return information + + def _ffmpeg_filename_argument(self, fn): + # ffmpeg broke --, see https://ffmpeg.org/trac/ffmpeg/ticket/2127 for details + if fn.startswith(u'-'): + return u'./' + fn + return fn +