所以我想将我的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"
当我想添加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"
产生以下错误:
[Parsed_subtitles_0 @ 00000000259c840] No filename provided!
[AVFilterGraph @ 000000000094dc20] Error initializing filter 'subtitles' with args ''
似乎某种程度上它没有获取字幕的文件名。那是什么处理呢?
答案 0 :(得分:3)
好的我已经通过执行以下操作而不是-vf ...
来修复它:
-filter_complex "subtitles='[X] File - 1 [Y].mkv'"
如果要使用路径,请使用以下(正斜杠):
-filter_complex "subtitles='X\:/Users/~/[X] File - 1 [Y].mkv'"
答案 1 :(得分:0)
对我来说,这种语法有效
ffmpeg -i C:\Users\USER\Downloads\output.mp4 -filter_complex "subtitles='C\:/Users/USER/Downloads/subtitle.srt'" -c:v libx264 -crf 20 -c:a aac -strict experimental -b:a 192k C:\Users\USER\Downloads\foutput.mp4