浏览代码

FFmpegPostProcessor: decode stderr first and then get the last line (closes #837)

Jaime Marquínez Ferrándiz 12 年之前
父节点
当前提交
fb2f83360c
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      youtube_dl/PostProcessor.py

+ 2 - 1
youtube_dl/PostProcessor.py

@@ -85,8 +85,9 @@ class FFmpegPostProcessor(PostProcessor):
         p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
         stdout,stderr = p.communicate()
         if p.returncode != 0:
+            stderr = stderr.decode('utf-8', 'replace')
             msg = stderr.strip().split('\n')[-1]
-            raise FFmpegPostProcessorError(msg.decode('utf-8', 'replace'))
+            raise FFmpegPostProcessorError(msg)
 
     def _ffmpeg_filename_argument(self, fn):
         # ffmpeg broke --, see https://ffmpeg.org/trac/ffmpeg/ticket/2127 for details