浏览代码

FFmpegPostProcessor: print the command line used if the --verbose option is given

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

+ 2 - 0
youtube_dl/PostProcessor.py

@@ -83,6 +83,8 @@ class FFmpegPostProcessor(PostProcessor):
                + opts +
                [encodeFilename(self._ffmpeg_filename_argument(out_path))])
 
+        if self._downloader.params.get('verbose', False):
+            self._downloader.to_screen(u'[debug] ffmpeg command line: %s' % shell_quote(cmd))
         p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
         stdout,stderr = p.communicate()
         if p.returncode != 0:

+ 5 - 0
youtube_dl/utils.py

@@ -9,6 +9,7 @@ import io
 import json
 import locale
 import os
+import pipes
 import platform
 import re
 import socket
@@ -927,3 +928,7 @@ class locked_file(object):
 
     def read(self, *args):
         return self.f.read(*args)
+
+
+def shell_quote(args):
+    return ' '.join(map(pipes.quote, args))