![Как наложить субтитры на видео с помощью avconv?](https://rvso.com/image/1047586/%D0%9A%D0%B0%D0%BA%20%D0%BD%D0%B0%D0%BB%D0%BE%D0%B6%D0%B8%D1%82%D1%8C%20%D1%81%D1%83%D0%B1%D1%82%D0%B8%D1%82%D1%80%D1%8B%20%D0%BD%D0%B0%20%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%20%D1%81%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E%20avconv%3F.png)
Я использую следующий скрипт для наложения потока 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 можно настроить по желанию.