
Я использую следующий скрипт для наложения потока DVDSub и видеопотока;
avconv -i input.mkv \
-i subtitles.sub -filter_complex "[0:v:0][1:s:0]overlay[vid]" -map "[vid]" \
-s hd720 -sws_flags lanczos \
-vcodec libx264 -crf 20 -preset medium \
~/Desktop/test.mkv
Я получаю следующую ошибку;
Stream specifier ':s:0' in filtergraph description [0:v:0][1:s:0]overlay[vid] matches no streams.
Что бы я ни делал, я просто не могу заставить это работать. Может кто-нибудь сказать мне, как «врезать» субтитры с помощью avconv (или ffmpeg)?
решение1
Для тех, кому интересно, я разобрался... avconv этого не может, ffmpeg может. Теперь я перешел на ffmpeg и откажусь от avconv.
Я скомпилировал последнюю версию ffmpeg (v 2.3.3). Я преобразовал свои субтитры формата 'sup' в формат 'sub/idx', затем указал файл '.idx' в качестве файла субтитров, и процесс наложения заработал на ура.
Последняя команда:
ffmpeg -i input.mkv -i subtitles.idx -filter_complex '[0:v][1:s]overlay[vid]' -map '[vid]' -s hd720 -sws_flags lanczos -vcodec libx264 -crf 20 -preset medium ~/Desktop/test.mkv
Конечно, настройки x264 можно настроить по желанию.