应用多个过滤器 ffmpeg

问题描述

我正在尝试旋转视频并增加其声音以及更改其帧速率

ffplay -i C:/Users/thota/OneDrive/Desktop/VET/Input.mp4 -af "volume="10.0",atempo="10.0" -vf "transpose=2,transpose=2,setpts=1/"10.0"*PTS,scale="3840:2160",fps="5.0"

我正在使用 FFmpeg,因为我正在尝试构建一个视频编辑应用程序,因此当我尝试使用上述命令时,我需要结合许多操作,我收到此错误(在命令中,我正在使用 ffplay,因为我只想见输出

错误

[atempo @ 000001fdd50c7c40] [Eval @ 00000047b79fe770] Undefined constant or missing '(' in 
'vftranspose=2'
[atempo @ 000001fdd50c7c40] Unable to parse option value "10.0 -vf transpose=2"
[atempo @ 000001fdd50c7c40] [Eval @ 00000047b79fe770] Undefined constant or missing '(' in 
 'vftranspose=2'
[atempo @ 000001fdd50c7c40] Unable to parse option value "10.0 -vf transpose=2"
[atempo @ 000001fdd50c7c40] Error setting option tempo to value 10.0 -vf transpose=2.
[Parsed_atempo_1 @ 000001fdd50c7b40] Error applying options to the filter.
Error initializing filter 'atempo' with args '10.0 -vf transpose=2'

请帮我解决这个问题,并建议我在尝试使用时添加多个操作的最佳方法,这很难,所以他们的任何其他方式也是如此 如果是,请告诉我 谢谢

解决方法

您好像在两个地方缺少引号 " 字符。

以下命令有效(奇怪的音频,但没有错误):

ffplay -i C:/Users/thota/OneDrive/Desktop/VET/Input.mp4 -af "volume="10.0",atempo="10.0"" -vf "transpose=2,transpose=2,setpts=1/"10.0"*PTS,scale="3840:2160",fps="5.0""

您不需要所有的引号,您可以通过使用 '' 而不是嵌套的 "" 来提高可读性。
以下命令等效:

ffplay -i C:/Users/thota/OneDrive/Desktop/VET/Input.mp4 -af "volume=10.0,atempo=10.0" -vf "transpose=2,setpts=1/10.0*PTS,scale='3840:2160',fps=5.0"