Extraindo legendas de arquivos de vídeo no formato .mkv

Publicado por Danillo Costa em 14/11/2011

[ Hits: 18.564 ]

Blog: https://nillow.com.br/

 


Extraindo legendas de arquivos de vídeo no formato .mkv



Para que extrair legenda de um arquivo de vídeo .mkv? Simples, certos televisores não conseguem reproduzir a legenda que está embutida no arquivo .mkv via pen-drive ou rede DLNA.

O pacote mkvtoolnix resolve tudo. Para quem utiliza distribuição baseada no Debian, como o Ubuntu, basta aplicar o comando:

sudo apt-get install mkvtoolnix

Ainda no terminal, navegue até o diretório onde se encontra o arquivo, e:

mkvextract tracks file.mkv 3:file.srt

Supondo que o arquivo seja "Muppets.mkv", o comando será:

mkvextract tracks Muppets.mkv 3:Muppets.srt

Obs.: Acredito que a extensão correta seja .ass em vez de .srt, porém, em meu televisor funciona em ambas extensões.

Have Fun =D

Outras dicas deste autor

Driver da Nvidia no Ubuntu 9.04

Disquete no Ubuntu 8.10

Pulseaudio, aúdio no Ubuntu Linux 9.04

Tornando seus scripts amigáveis (executáveis)

Nautilus script, sendToImageshack

Leitura recomendada

Repositórios extras para Big Linux, Ubuntu 20.04 e distribuições derivadas

Exemplos prático para VirtualBox em modo console

Crie programas sem saber absolutamente nada de programação!

Instalando o aMSN 0.98b no Mandriva Linux 2008.1

Script gerenciador e configurador para QEMU

  

Comentários
[1] Comentário enviado por eldermarco em 14/11/2011 - 17:59h

Fala Danillo,

Você pode saber qual o tive de legenda que foi embutida junto com o mkv através do comando mkvinfo. Veja por exemplo um vídeo que tenho aqui:

$ mkvinfo CAVZOD.net-Lost.Canvas.Epi.26-HD-.mkv

Produz essa saída: http://paste.archlinux-br.org/1859

Daí eu vejo que lá na faixa (track) 3 eu tenho um legenda no formato ass (S_TEXT/ASS). Além do mais, permite saber se a legenda está mesmo na faixa 3 (não ser dizer se sempre seguem essa ordem). Faz pouco tempo que conheci essa ferramenta e ela me ajudou bastante nos momentos de desespero.. rsrs


[2] Comentário enviado por hellnux em 14/11/2011 - 18:39h

@eldermarco

Obrigado pela contribuição. Acredito que a legenda sempre estará na faixa 3, pois por ser um vídeo, nada mais lógico do que o vídeo estar na faixa 1 e o áudio na faixa 2.

[3] Comentário enviado por fredericofr em 17/06/2012 - 10:08h

Danillo, muito obrigado pela contribuição.
A extração ocorreu normalmente aqui, mas alguns caracteres como ç, â, ã, etc. não estão aparecendo, e no lugar deles aparece outros caracteres estranhos.
É normal que isso ocorra?
Se não, o q posso fazer para consertar?

Desde já agradeço.

[4] Comentário enviado por hellnux em 17/06/2012 - 10:43h

@fredericofr

Isso nunca aconteceu comigo. Mas acredito que isto esteja ligado a codificação usada no arquivo de legenda ou até mesmo do player de vídeo. Tente alternar entre UTF-8 e ISO-8859-1

[5] Comentário enviado por dcoutosilva em 04/03/2016 - 17:58h

No terminal ele me responde com esse erro.
"Erro:Nenhuma faixa com o ID 3 foi encontrada no arquivo de origem."

Tentei usar o mkvinfo porém eu não consegui identificar o motivo desse erro.

Alguem poderia me auxiliar, quanto ao mkvinfo.

[6] Comentário enviado por dcoutosilva em 04/03/2016 - 18:05h


[5] Comentário enviado por dcoutosilva em 04/03/2016 - 17:58h

No terminal ele me responde com esse erro.
"Erro:Nenhuma faixa com o ID 3 foi encontrada no arquivo de origem."

Tentei usar o mkvinfo porém eu não consegui identificar o motivo desse erro.

Alguem poderia me auxiliar, quanto ao mkvinfo.


danilo@danilo:~/Downloads/Deutschland 83$ mkvinfo Deutschland.83.S01E01.Quantum.Jump.1080p.GERMAN.ENSUBBED.WEB-DL.DD5.1.H.264-RARBG.mkv
+ Cabeçalho EBML
|+ Versão do EBML: 1
|+ Versão de leitura EBML: 1
|+ Extensão máxima do ID do EBML: 4
|+ Extensão máxima do tamanho do EBML: 8
|+ Tipo de documento: matroska
|+ Versão do tipo de documento: 4
|+ Ler versão do tipo de documento: 2
+ Segmento, tamanho 1865849053
|+ Buscar cabeçalho (os sub-registros serão pulados)
|+ EbmlVoid (tamanho: 4029)
|+ Informação do segmento
| + Escala do código de tempo: 1000000
| + Aplicação de multiplexagem: libebml v1.3.0 + libmatroska v1.4.1
| + Writing application: mkvmerge v6.6.0 ('The Edge Of The In Between') built on Dec 1 2013 17:55:00
| + Duração: 2821.056s (00:47:01.056)
| + Data: Wed Jun 24 03:17:34 2015 GMT
| + UID do segmento: 0xa6 0x8f 0x1e 0xa7 0x46 0xdd 0x60 0x34 0x86 0x10 0xaa 0x3e 0x17 0x01 0x01 0x1a
|+ Faixas do segmento
| + Uma faixa
| + Número da faixa: 1 (ID da faixa para mkvmerge e mkvextract: 0)
| + UID de faixa: 10758323768889719462
| + Tipo de faixa: video
| + Lacing flag: 0
| + Cache mínimo: 1
| + ID do codec: V_MPEG4/ISO/AVC
| + Codec privado, extensão 43 (perfil h.264: High @L4.0)
| + Duração padrão: 40.000ms (25.000 frames/campos por segundo para uma faixa de vídeo)
| + Nome: Deutschland.83.S01E01.Quantum.Jump.1080p.GERMAN.ENSUBBED.WEB-DL.DD5.1.H.264-RARBG
| + Faixa de vídeo
| + Largura em pixels: 1920
| + Altura em pixels: 1080
| + Largura visualizada: 1920
| + Altura visualizada: 1080
| + Uma faixa
| + Número da faixa: 2 (ID da faixa para mkvmerge e mkvextract: 1)
| + UID de faixa: 9405656034984076951
| + Tipo de faixa: audio
| + ID do codec: A_AC3
| + Duração padrão: 32.000ms (31.250 frames/campos por segundo para uma faixa de vídeo)
| + Idioma: ger
| + Nome: Deutschland.83.S01E01.Quantum.Jump.1080p.GERMAN.ENSUBBED.WEB-DL.DD5.1.H.264-RARBG
| + Audio track
| + Frequência de amostra: 48000
| + Canais: 6
|+ EbmlVoid (tamanho: 1099)
|+ Anexos
| + Anexado
| + Nome do arquivo: cover.jpeg
| + Tipo Mime: image/jpeg
| + Dados do arquivo, tamanho 53967
| + Arquivo UID: 5518544825293484710
|+ Cluster



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts