ffmpeg添加ass字幕:使用args''初始化过滤器'subtitles'时出错

时间:2017-10-20 12:09:00

标签: ffmpeg

所以我想将我的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 ''

似乎某种程度上它没有获取字幕的文件名。那是什么处理呢?

2 个答案:

答案 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