Como sobrepor legendas em vídeo usando avconv?

1

Estou usando o seguinte script para sobrepor um fluxo dvdsub e um fluxo de vídeo;

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

Eu recebo o seguinte erro:

Stream specifier ':s:0' in filtergraph description [0:v:0][1:s:0]overlay[vid] matches no streams.

Não importa o que eu faça, não consigo fazer isso funcionar. Alguém pode me dizer como 'queimar' legendas usando avconv (ou ffmpeg)?

    
por hatterman 23.08.2014 / 21:41

1 resposta

2

Para qualquer um que esteja interessado, eu descobri ..... o avconv não pode fazer isso, o ffmpeg pode. Eu fiz agora a mudança para o ffmpeg e vou deixar o avconv.

Eu compilei a última versão do ffmpeg (v 2.3.3). Eu converti minhas legendas 'sup' para o formato 'sub / idx', depois especifiquei o arquivo '.idx' como o arquivo de legenda e o processo de sobreposição funcionou.

O comando final é:

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

configurações x264 podem ser configuradas como desejado, fora do curso.

    
por hatterman 25.08.2014 / 11:40