在我的 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' 执行,但没有成功。有谁知道其中的窍门吗?非常感谢。
将整个过滤器图表放在单引号中并转义逗号,如下所示:
-vf 'subtitles=subtitles.srt:force_style=argument1\,argument2\,argument3'