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

Publicado por Danillo Costa em 14/11/2011

[ Hits: 19.139 ]

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

Extraindo áudio em mp3 de um swf

Shell Script - Imprimindo nome da própria função em execução

Instalando o KDE 4.2 stable no Ubuntu 8.10 Linux

D-Link 500G da BRT sem provedor

Instalando Firefox 1.5 sem prejudicar o Gaim

Leitura recomendada

Criando thumbnail com o Gimp [vídeo]

Livre S.O. - Distro nacional entregue em casa

Alternativa ao Format Factory para Linux

Enlightenment no Debian Jessie

Erro ao executar VirtualBox: "Kernel driver not installed (rc=-1908)" [Resolvido]

  

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