[英]Python : call ffmpeg command line with subprocess
我正在尝试使用subprocess.call调用简单的ffmpeg命令行。 (示例: ffmpeg -i input\\video.mp4 -r 30 input\\video.avi
)
通过直接键入ffmpeg命令,它可以工作,但是当我尝试使用subprocess.call('ffmpeg -i input\\video.mp4 -r 30 input\\video.avi', shell=True)
调用它时: subprocess.call('ffmpeg -i input\\video.mp4 -r 30 input\\video.avi', shell=True)
有没有错误,但不会产生任何结果。
知道哪里可能是问题吗? (我正在使用python 3.4或2.7,我都尝试过)
终于发现了问题:使用子流程时,必须使用
/
为您的文件位置而不是
\
编辑 :或者您可以使用原始字符串文字-> r'ffmpeg -i input\\video.mp4 ...'
(注意:r''),也可以将它们加倍' \\\\
' 感谢JF Sebastian
x=subprocess.Popen('ffmpeg -i input\video.mp4 -r 30 input\video.avi', shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
output,err=x.communicate()
if output:
print "success ",output
else:
print "error ",err
您可以尝试此操作,并检查输出和错误(如果有)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.