Como gravar uma legenda em um arquivo de vídeo mp4

9

Eu gostaria de fazer um arquivo de legenda para fazer parte de um arquivo de vídeo mp4, para que eu não tenha que lidar com dois arquivos separados.

Eu imagino duas maneiras:

  • Transforme a legenda em uma parte intrínseca do vídeo. Isso exigirá recodificação de vídeo.
  • Transforme o subtítulo em um fluxo separado, mas ainda incorporado no mesmo arquivo de vídeo. Isso é muito mais preferível, especialmente porque eu posso desativá-lo (ao contrário da outra abordagem), ou até mesmo brincar com o tipo / tamanho da fonte.

Como faço as coisas da segunda maneira? Também seria kool saber como funciona a primeira abordagem.

    
por Tshepang 10.02.2011 / 21:24

3 respostas

7

O formato de contêiner Matroska (mkv) suporta legendas baseadas em texto incorporadas como um fluxo separado no arquivo.

Você pode usar o mkvmerge para enviar o arquivo para .mkv e incluir as legendas no arquivo. saída, que você pode ativar / desativar ao reproduzir o vídeo. Observe que esse método NÃO recodificará o vídeo ou o áudio, apenas colocará os mesmos dados em um formato de contêiner diferente, por isso não diminuirá a qualidade do vídeo.

mkvmerge -o output.mkv video.mp4 subtitles.srt
    
por 24.02.2011 / 17:00
2

Em um pacote chamado gpac , existe um utilitário CLI chamado MP4Box

Aqui está um exemplo do que funcionou para mim ...

MP4Box  -add ~/file.noaudio.mp4 \
        -add ~/file.mp3 \
        -add ~/file.srt \
             ~/file.MP4Box.mp4   

Eu usei apenas um vídeo e apenas áudio, mas ele certamente funcionará (?) com um "filme" normal de áudio + vídeo .... É muito tarde, então vou deixar por aí ...

Nota: As legendas funcionam no Totem, mas não no SMPlayer ...

    
por 11.02.2011 / 05:13
0

Tente algo como:

mencoder -oac copy -ovc copy -sub subs.srt video.mp4 -o new_video.mp4
    
por 11.02.2011 / 09:48