无论如何,我的 bash 执行总是逃避我的内部争论

问题描述 投票:0回答:1

在我的 bash 脚本中,我需要运行以下命令:

ffmpeg -y -i video.mp4 -vf subtitles=subtitles.srt:force_style='argument1,argument2,argument3' out.mp4

有两个主要障碍。首先,bash 脚本总是将 subtitles=subtitles.srt 放在单引号中。第二,我需要force_style参数的单引号。但无论如何,bash 都会转义单引号。结果通常是这样的:

+ffmpeg -y -i video.mp4 -vf 'subtitles=subtitles.srt:force_style='(反斜杠)''参数(反斜杠)'''

我读过很多讨论。我尝试使用 params 数组、转义、使用 bash -c 'command' 执行,但没有成功。有谁知道其中的窍门吗?非常感谢。

bash ffmpeg escaping
1个回答
0
投票

将整个过滤器图表放在单引号中并转义逗号,如下所示:

-vf 'subtitles=subtitles.srt:force_style=argument1\,argument2\,argument3'
© www.soinside.com 2019 - 2024. All rights reserved.