projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
74fdba6
)
Fix broken ffmpeg (Closes #623)
author
Philipp Hagemeister
<phihag@phihag.de>
Wed, 9 Jan 2013 13:46:19 +0000
(14:46 +0100)
committer
Philipp Hagemeister
<phihag@phihag.de>
Wed, 9 Jan 2013 13:46:19 +0000
(14:46 +0100)
youtube_dl/PostProcessor.py
patch
|
blob
|
history
diff --git
a/youtube_dl/PostProcessor.py
b/youtube_dl/PostProcessor.py
index a04828518b1cd141008f4dbc228ac59cc22cd780..d7c7346d7b41f7ebe7206687101a7c05c754c26b 100644
(file)
--- 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:
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:
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 +
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:
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
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
+