我一直在使用 FFMPEG 对子程序进行硬编码。
$for i in *.mkv;do ffmpeg -i "$i" -map 1 -filter_complex subtitles=video.ssa -vcodec libx264 -acodec aac -copy_unknown -map_metadata:s:v 0:g "../../A/bra/ca/da/bra/SS/taging/C24/${i%.mkv*}.mp4";done
以下是我启用 libass 库后收到的错误消息;但我对视频编辑了解不够,无法理解所有内容。我的问题是关于编码的。
在 ffmpeg 文档中,AVOption:subtitle_filter_complex 部分指出编码应该说:-vf subtitles=video.srt
–– 这是字幕部分的示例 –– 并且他们指定这将采用输入字幕流并将其“刻录”到输出的视频流上。
错误代码 ffmpeg
$s[Parsed_subtitles_0 @ 0x7fe77ef00000] Unable to open video.ssa
[AVFilterGraph @ 0x7fe77ee0cf80] Error initializing filter 'subtitles' with args 'video.ssa'
Error initializing complex filters.
No such file or directory
完整错误信息:
$[Parsed_subtitles_0 @ 0x7fe77ef00000] Shaper: FriBidi 0.19.7 (SIMPLE) HarfBuzz-ng 1.7.5 (COMPLEX)
[Parsed_subtitles_0 @ 0x7fe77ef00000] Unable to open video.ssa
[AVFilterGraph @ 0x7fe77ee0cf80] Error initializing filter 'subtitles' with args 'video.ssa'
Error initializing complex filters.
No such file or directory`
我的问题是如何利用 filter_complex 来举例?
该命令的“video.ssa”部分反转为包含流的视频的文件名。
但这是否意味着我必须用批处理变量替换“文件名”或“视频”?