1 ffmpeg
所以我想用硬编码的 subs 将我的 mkv 文件转换为 mp4
虽然这工作正常:
ffmpeg.exe -i "[X] File - 1 [Y].mkv" -c:v libx264 -preset veryfast -b:v 2750k -pass 1 -c:a aac "file_out.mp4"
Run Code Online (Sandbox Code Playgroud)
当我想添加 ASS 字幕(来自同一个 MKV 文件)时,如下所示:
ffmpeg.exe -i "[X] File - 1 [Y].mkv" -vf subtitles="[X] File - 1 [Y].mkv" -c:v libx264 -preset veryfast -b:v 2750k -pass 1 -c:a aac "file_out.mp4"
Run Code Online (Sandbox Code Playgroud)
产生以下错误:
[Parsed_subtitles_0 @ 00000000259c840] No filename provided!
[AVFilterGraph @ 000000000094dc20] Error initializing filter 'subtitles' with args ''
Run Code Online (Sandbox Code Playgroud)
似乎不知何故它没有获取字幕的文件名。那么这有什么关系呢?
小智 5
好吧,我已经通过执行以下操作而不是修复了它-vf ...:
-filter_complex "subtitles='[X] File - 1 [Y].mkv'"
如果您想使用路径,请使用以下内容(正斜杠):
-filter_complex "subtitles='X\:/Users/~/[X] File - 1 [Y].mkv'"