gpt4 book ai didi

python - 尝试通过 Subprocess 发送命令以使用 ffmpeg

转载 作者:行者123 更新时间:2023-12-04 23:14:58 26 4
gpt4 key购买 nike

我正在尝试构建一个脚本,通过 Python 3 中的 ffmpeg 转换视频文件。
通过 Windows PowerShell,我通过以下命令成功获得了所需的结果:

ffmpeg -i test.webm -c:v libx264 converted.mp4

但是,如果我尝试通过以下代码在 python 中重复相同的操作:
import subprocess
from os import getcwd

print(getcwd()) # current directory
subprocess.call(["ffmpeg", " -f test.webm -c libx264 converted.mp4"])

我收到以下错误:
Output #0, mp4, to ' -f test.webm -c libx264 converted.mp4':
Output file #0 does not contain any stream

我在文件所在的正确文件夹中。你有更好的方法通过 Python 在 shell 中执行命令吗?这应该最好在不同的平台上工作。

最佳答案

尝试这个:

import shlex

cmd = shlex.split("ffmpeg -f test.webm -c libx264 converted.mp4")
subprocess.call(cmd)

您需要将每个参数作为列表中的单个元素传递,这就是 argv 的工作方式,或者让 shell 进行拆分:
subprocess.call("ffmpeg -f test.webm -c libx264 converted.mp4", shell=True)

关于python - 尝试通过 Subprocess 发送命令以使用 ffmpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47911289/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com