Como extrair legendas de filmes MP4 e MKV

24

Estou tentando extrair legendas de filmes MP4 e MKV. Estou usando o mp4box (no OS X), mas não consigo descobrir como funciona.

Alguma dica?

    
por flow 24.02.2012 / 22:46

2 respostas

42

arquivos MP4 e 3GP

A MP4Box gratuita e de plataforma cruzada funciona apenas com contêineres MP4 ou 3GP. Você pode instalá-lo a partir da página inicial. Primeiro, você quer ver as diferentes faixas e ver qual ID pertence à faixa de legendas.

MP4Box -info input.mp4

Veja o ID ao lado da faixa de legendas. Em seguida, com base na ID da faixa <trackId> que você deseja extrair, chame o seguinte comando:

MP4Box -raw <trackID> input.mp4

Ou para exportar para o formato SRT comumente usado:

MP4Box -srt <trackID> input.mp4

arquivos MKV

Para extrair legendas dos arquivos Matroska (MKV), você precisa do código aberto e gratuito mkvtoolnix pacotes. Eles vêm para Windows e Linux, e em um Mac você pode instalá-los por meio do Homebrew com brew install mkvtoolnix .

Em seguida, inspecione o arquivo:

mkvmerge -i input.mkv

Isso listará as faixas, por exemplo, assim:

File 'input.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_AAC)
Track ID 3: subtitles (S_TEXT/UTF8)

Com base no ID da faixa, chame o seguinte comando, em que <trackID> é o que você identificou acima. <output> é apenas um nome fictício, você pode usar o que quiser.

mkvextract tracks input.mkv <trackID>:<output>.srt

Então, no nosso caso, isso teria sido:

mkvextract tracks input.mkv 3:subs.srt
    
por 24.02.2012 / 23:03
7

Aqui está uma solução para praticamente qualquer formato de arquivo que seja suportado por ffmpeg (até mesmo arquivos remotos são suportados):

ffmpeg -i video.mp4 subtitle.srt

ffmpeg está presente nas versões mais recentes do Ubuntu por padrão, para o Mac OS X e o Windows você terá que instalá-lo (por fazer o download dele do site oficial ou via homebrew).

Aqui video.mp4 é o nome do arquivo de vídeo local ou remoto de origem e subtitle.srt é o nome do arquivo de legenda de saída. É importante especificar a extensão do arquivo para saída, pois ffmpeg detecta exatamente o que você deseja extrair por ele. Ou seja, você pode especificar a extensão de arquivo .mp3 para extrair o áudio mp3 do arquivo de vídeo ou apenas definir outro contêiner de vídeo para converter entre os formatos.

    
por 06.03.2017 / 09:12