Extraindo vídeo, audio e legendas de container de vídeo

E aí, pessoal, tudo bem?

Quem nunca se deparou com algum arquivo de vídeo com legenda que nem estava separada, e nem embutida no vídeo e já quis extrair aquela legenda?

Ou mesmo as pessoas que gostam de criar vídeos com um áudio diferente no fundo, e para isso precisam extrair o vídeo sem o áudio para sincronizar com outro áudio?

Ou quando você quer também extrair um áudio de um vídeo e usá-lo em outro?

Se você já passou ou passa por essas situações, esse tutorial é pra você.

Informações importantes:

Usaremos o programa chamado MKVToolNix.

Esse programa tem algumas características interessantes:

  1. Ele é multiplataforma (roda em várias distribuições linux, Windows e no Mac). Para instalação é só procurar seu sistema operacional na página de download do projeto
  2. É um conjunto de vários programas: mkvmerge, mkvinfo, mkvextract, mkvpropedit
  3. Tem boa documentação
  4. O nome ele tenha MKV no nome, e isso sugere que ele logcamente trabalha com o formato de vídeo matroska porém ele funciona com vários outros formatos abertos e com os mais conhecidos como AVI, MP4 e RMVB.
  5. Pode ser usado tanto pela interface gráfica quando pela linha de comando no terminal. Esse tutorial é demonstrando como utilizar através da linha de comando.

Apesar de todo esse poder, hoje vamos apenas utilizar uma pequena funcionalidade dele, que está apenas relacionada ao mkvextract pois vamos apenas extrair as faixas de arquivos que compõem o container. E vamos usar a forma mais simplificada. Para uma pesquisa de funcionalidades complexas, use a documentação já citada acima no post.

Instalação:

Ubuntu:

Fedora: acesse aqui

Arch Linux: acesse aqui

Para outras distribuições linux, basta usar seu gerenciador de pacotes padrão, que normalmente o nome da biblioteca a ser instalada será mkvtoolnix (ou mkvtoolnix-gui cado prefira instalar a interface gráfica do programa) mas existe uma lista de distribuições na página de downloads do projeto. O mesmo vale para outros sistemas operacionais.

Descobrindo as informações do container:

Primeiro acesse a pasta em que seu vídeo está.

Eu meu exemplo, eu tenho em tenho em minha pasta “Vídeos” dentro da minha pasta pessoa um vídeo com o nome disturbed.mkv

Então o comando para ver as informações será o seguinte:

A Resposta do meu comando foi a seguinte:

Repare que a Track ID 1 é do tipo video, a Track ID 2 é do tipo audio e a Track ID 3 é do tipo subtitles (legenda).

Obs: É importante sempre dar esse comando antes de tentar extrair os arquivos pois eles nem sempre estão nessa ordem. É bem comum por exemplo o primeiro Track ID ser 0 (zero). Então se você não tiver o número certo da Track ID o comando de extração não irá funcionar.

Extraindo de fato os arquivos do container

Sabendo já os Track IDs, nossa tarefa será muito simples.

Veja os exemplos:

Para extrair apenas uma track, por exemplo a da legenda:

Após esse comando, o arquivo “disturbed.ssa” aparecerá na mesma pasta que o arquivo de origem (no nosso caso o arquivo disturbed.mkv) está.

Agora, se você quiser entender o comando:

  • O parâmetro “tracks” está ali indicando que a forma de extração que usaremos será usando as tracks como referência.
  • “disturbed.mkv” como já vimos é o nome do arquivos de origem, do qual eu extraí a legenda.
  • O número “3” é o número da track que estamos extraindo seguido do nome do arquivo que está na track (no nosso exemplo é o disturbed.ssa).

Para extrair mais de uma track de uma só vez o comando é o mesmo. Basta apenas dar espaço e acrescentar as tracks. Por exemplo, vou extrair as 3 tracks desse arquivo com apenas 1 comando:

Esse comando gerará um arquivo com cada track na sua pasta. Um somente com o video, outro somente com o audio e outro somente com a legenda.

Obs: Existem arquivos com mais tracks, como é o exemplo de arquivos “dual-audio” que como o nome diz tem 2 áudios, e você poderia querer remover uma dessas traks para montar em outro container com apenas 1 áudio.

O truque para extrair sempre é verificar no comando de informação que eu mostrei primeiro os números das tracks para saber qual delas extrair no segundo comando.

Fácil, né?

Da próxima vez vou postar explicando como se cria um container usando arquivos de áudio, vídeo e legenda como tracks.

Até lá!

Author Description

hiper4tivo

Tão hiperativo que começou a preencher isso aqui e...

There are 3 comments. Add yours

  1. 4th janeiro 2013 | giovanni says: Responder
    amigo e para inserir uma faixa nova de audio em mp3 por exemplo como faz??
  2. 27th setembro 2013 | Pedro says: Responder
    Muito bom artigo, Sempre me interesei, por extrair legenda interna e saber como introduzí-la ao countainer, além da idéia de usar, um programa que pega um audio de um DVD em português, compara com outra faixa de audio (outras) em outro idioma e por uma subtração extrai a trilha sonora.
  3. 6th maio 2015 | Leandro says: Responder
    Valeu deu certo!

Join the Conversation