Subprocess.call ffmpeg制作空文件

时间:2017-04-01 08:25:33

标签: python subprocess

我正在尝试将视频从一种格式转换为其他格式。

extension = '.avi'
extension_less_url = '../uploads/video'
import subprocess
subprocess.call(['ffmpeg', '-i', extension_less_url + extension, extension_less_url + '.mp4'])

但是上面会生成名为“video.mp4”的空文件。 怎么纠正? 这是我得到的错误:

The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.

2 个答案:

答案 0 :(得分:1)

此问题适用于'.mp4'。尝试其他类似“.mkv”的内容,以获取视频的目标格式。 我已经这样做了,问题解决了

答案 1 :(得分:1)

import subprocess

subprocess.call('ffmpeg -f vfwcap -t 10 -r 25 -i 0 c:/test/sample11.avi')

python有一个子进程模块,可帮助运行exec命令。

如果要一个接一个地运行多个cmd或shell命令,可以使用以下命令:

subprocess.check_call("cd /home/pi/images; ls", shell=True)

此处:“ cd / home / pi / images”是一个用“;”分隔的命令。运行另一个命令“ ls”