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?
O MP4Box gratuito e multiplataforma funciona apenas com contêineres MP4 ou 3GP. Você pode instalá-lo a partir da página inicial. Primeiro, você deseja examinar as diferentes faixas e ver qual ID pertence à faixa de legenda.
MP4Box -info input.mp4
Veja o ID ao lado da faixa de legendas. Em seguida, com base no ID da faixa que <trackId>
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
Para extrair legendas dos arquivos Matroska (MKV), você precisa dos mkvtoolnix
pacotes gratuitos e de código aberto . Eles vêm para Windows e Linux, e em um Mac você pode instalá-los através do Homebrew with 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, onde <trackID>
é o que você identificou acima. <output>
é apenas um nome falso, 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
MP4Box
nogpac
pacote disponível via apt-getMP4Box
no Arch Linux, você precisa instalar agpac
partir do repositório da comunidade.Aqui está uma solução para praticamente qualquer formato de arquivo suportado
ffmpeg
(até arquivos remotos são suportados):ffmpeg
está presente nas versões mais recentes do Ubuntu, por padrão, para Mac OS X e Windows, você terá que instalá-lo ( baixando-o do site oficial ou via homebrew).Aqui
video.mp4
está o nome do arquivo de vídeo local ou remoto de origem esubtitle.srt
o nome do arquivo de legenda de saída. É importante especificar a extensão do arquivo para saída, poisffmpeg
detecta exatamente o que você deseja extrair. Ou seja, você pode especificar a.mp3
extensão do arquivo para extrair o áudio mp3 do arquivo de vídeo ou simplesmente definir outro contêiner de vídeo para converter entre formatos.fonte