Я работал с 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» команды возвращает имя файла видео, которое содержит поток.
Но значит ли это, что я должен заменить "имя файла" или "видео" на пакетную переменную?