无法将选项值 xxx.srt 解析为 ffmpeg 中的图像大小

Unable to parse option value xxx.srt as image size in ffmpeg

我已经在我的 windows 中为 ffmpeg 设置了环境变量,想用 ffmpeg 将 srt 文件嵌入到我的 mp4 文件中:

ffmpeg -i f:\sample\dance.mp4 -vf subtitles='f:\sample\dance.srt'  f:\sample\out.mp4

遇到奇怪的错误:

Press [q] to stop, [?] for help
[subtitles @ 0000000002c2fd00] Unable to parse option value "sampledance.srt" as
 image size
    Last message repeated 1 times
[subtitles @ 0000000002c2fd00] Error setting option original_size to value sampl
edance.srt.
[Parsed_subtitles_0 @ 00000000005410c0] Error applying options to the filter.
[AVFilterGraph @ 0000000002940440] Error initializing filter 'subtitles' with ar
gs 'f:\sample\dance.srt'
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #0:0
Conversion failed!

我将文件 dance.mp4dance.srt 复制到 f:\ffmpeg\bin,然后执行以下操作:

cd  \d  f:\ffmpeg\bin
ffmpeg -i dance.mp4 -vf subtitles=dance.srt   out.mp4

没问题,如何让ffmpeg正确解析选项值f:\sample\dance.srt,让命令在我的windows中正常执行?

ffmpeg -i f:\sample\dance.mp4 -vf subtitles='f:\sample\dance.srt'  f:\sample\out.mp4

@kesh,写成这样是没有用的:

ffmpeg -i f:\sample\dance.mp4 -vf "subtitles='f:\sample\dance.srt'"  f:\sample\out.mp4

FFmpeg 过滤器图的解析规则与用于其他参数的规则不同。

由于'e\sample\dance.srt'是过滤图参数的值,我们必须在每个特殊字符前添加一个转义字符:

ffmpeg -i e:\sample\dance.mp4 -vf subtitles='e\:\sample\dance.srt' e:\sample\out.mp4

主题在 Notes on filtergraph escaping(以及其他地方)中有描述。