繁体   English   中英

Python:使用子进程调用ffmpeg命令行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM