gpt4 book ai didi

python - 使用 subprocess.call() 将参数传递给 FFMPEG

转载 作者:行者123 更新时间:2023-12-04 23:25:34 24 4
gpt4 key购买 nike

我正在处理 this answer对于 FFMPEG 问题,该命令可以通过 Windows 10 命令提示符正常工作(我只更改了输入和输出文件名):

ffmpeg -i test.mp4  -filter:v "select='gt(scene,0.4)',showinfo" -f null  - 2> test.txt

我的 Python 3 脚本为 subprocess.call() 提供参数(作为列表)功能并适用于许多基本的 FFMPEG 操作,但不是这个!似乎在决赛中失败了 null - 2> test.txt部分,根据我拆分参数的方式显示以下错误消息:
[NULL @ 000001c7e556a3c0] [error] Unable to find a suitable output format for 'pipe:'
[error] pipe:: Invalid argument

[error] Unrecognized option '2> test.txt'.
[fatal] Error splitting the argument list: Option not found

[error] Unrecognized option '2>'.
[fatal] Error splitting the argument list: Option not found

这是我一直在尝试的基本参数列表:
args=['C:\\Program Files\\ffmpeg\\ffmpeg.exe',
'-i',
'test.mp4',
'-filter:v "select=\'gt(scene,0.4)\',showinfo"',
'-f null',
'-',
'2>',
'test.txt']

加上各种排列组合和拆分最后几个元素。

请问有人可以帮助我通过Python 3使用这些参数运行FFMPEG的正确语法吗?

非常感谢 - 我只是看不出我要去哪里错了:(

最佳答案

这并没有深入了解我的语法中出了什么问题,但是以下答案为我提供了一种解决方法,基本上是使用 shell=True并将所有参数作为组合字符串传递:
subprocess call ffmpeg (command line)

这是我更新的电话:

subprocess.call("ffmpeg -i test.mp4 -filter:v \"select='gt(scene,0.4)',showinfo\" -f null - 2> output.txt",shell=True)

感谢 Pythonista 咖啡馆的好人为我找到了那个 :)

关于python - 使用 subprocess.call() 将参数传递给 FFMPEG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50228676/

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