Resumo: as legendas de um arquivo MKV vêm em duas formas fundamentalmente diferentes, e o método de extração depende de qual delas você tem. Se o MKV contém uma faixa de legenda em texto (SRT ou ASS), um comando gratuito — ffmpeg ou o mkvextract do MKVToolNix — salva o arquivo de legenda em segundos. Mas dois casos comuns não contêm texto algum: faixas baseadas em imagem (PGS e VobSub, padrão em rips de Blu-ray e DVD) e legendas gravadas diretamente na imagem. Ambos exigem OCR. Este guia cobre os quatro casos, com os comandos exatos, começando por uma verificação de 10 segundos que diz qual é o seu caso.
Como verifico quais faixas de legenda um arquivo MKV tem?
Antes de extrair qualquer coisa, liste os fluxos de legenda. Com o ffmpeg instalado (brew install ffmpeg em um Mac), execute:
ffprobe -v error -select_streams s \
-show_entries stream=index,codec_name:stream_tags=language,title \
-of default=noprint_wrappers=1 input.mkv
Ou, se você já usa o MKVToolNix, mkvmerge -i input.mkv mostra a mesma informação em linguagem mais simples. O codec_name na saída diz tudo:
| codec_name | O que é | Como obter o SRT |
|---|---|---|
subrip | Legendas em texto simples (SRT) | Um comando ffmpeg — pronto em segundos |
ass | Legendas em texto estilizado (comuns em anime) | Um comando ffmpeg; o estilo é perdido no SRT |
hdmv_pgs_subtitle | Legendas em imagem de Blu-ray (imagens de texto) | OCR necessário |
dvd_subtitle | Legendas em imagem de DVD (VobSub) | OCR necessário |
| Nenhuma saída | Sem faixa de legenda — as legendas, se visíveis, estão embutidas na imagem | OCR no próprio vídeo |
Se o ffprobe listar subrip ou ass, a extração é gratuita e leva segundos; se listar hdmv_pgs_subtitle ou dvd_subtitle, a faixa contém imagens de texto, e nenhuma ferramenta consegue transformá-la em SRT sem OCR. Essa distinção é o ponto de confusão mais comum sobre legendas em MKV, e decide tudo o que vem depois.
Como extraio legendas SRT de um MKV com ffmpeg?
Para faixas em texto, o ffmpeg é o caminho mais rápido e funciona igual em Mac, Windows e Linux:
# Extrai a primeira faixa de legenda como SRT
ffmpeg -i input.mkv -map 0:s:0 subtitles.srt
# Extrai a segunda faixa de legenda (0:s:1 = segunda, e assim por diante)
ffmpeg -i input.mkv -map 0:s:1 subtitles.srt
# Escolhe uma faixa por idioma em vez de por posição
ffmpeg -i input.mkv -map 0:s:m:language:eng english.srt
# Mantém uma faixa ASS no formato original (preserva o estilo)
ffmpeg -i input.mkv -map 0:s:0 -c copy subtitles.ass
Duas coisas vale conhecer. Primeira, converter uma faixa ASS para SRT descarta silenciosamente todo o estilo — fontes, cores, posicionamento, efeitos de karaokê — porque o formato SRT não consegue representá-los; se você precisa do estilo, extraia para .ass. Segunda, -map 0:s:0 conta apenas os fluxos de legenda, então não é o mesmo número do índice de fluxo que o ffprobe exibe.
O ffmpeg converte entre formatos de legenda durante a extração, e é por isso que ffmpeg -i input.mkv -map 0:s:0 subtitles.srt funciona tanto em faixas SRT quanto ASS — mas ele não consegue converter faixas baseadas em imagem (PGS/VobSub) para texto, e falhará com um erro de encoder se você tentar.
Como extraio legendas com o MKVToolNix (mkvextract)?
O MKVToolNix (gratuito, mkvtoolnix.download, ou brew install mkvtoolnix) extrai faixas de forma bit-exata no formato original. Primeiro liste os IDs das faixas, depois extraia por ID:
# Lista as faixas com seus IDs
mkvmerge -i input.mkv
# Track ID 0: video (HEVC) / Track ID 1: audio (AAC) / Track ID 2: subtitles (SubRip/SRT)
# Extrai a faixa 2 como SRT
mkvextract input.mkv tracks 2:subtitles.srt
# Extrai várias faixas em uma única execução
mkvextract input.mkv tracks 2:english.srt 3:spanish.srt
Uma armadilha que confunde quase todo mundo que procura por isso: a interface gráfica do MKVToolNix não tem função de extração — a extração é oferecida apenas pela ferramenta de linha de comando mkvextract. A interface cobre multiplexação (colocar faixas), edição de cabeçalhos e divisão de arquivos, então procurar um botão de "extrair" dentro dela não leva a nada, por design.
A extensão de arquivo que você escreve precisa combinar com o codec da faixa: .srt para SubRip, .ass para ASS/SSA, .sup para PGS, e para VobSub o mkvextract grava um par .idx + .sub. O que nos leva ao caso em que o arquivo extraído não é texto de forma alguma.
E se a faixa de legenda for PGS ou VobSub (baseada em imagem)?
Rips de Blu-ray quase sempre trazem faixas hdmv_pgs_subtitle, e rips de DVD trazem dvd_subtitle (VobSub). Essas faixas armazenam cada legenda como uma imagem renderizada que o player sobrepõe ao vídeo — não há texto dentro delas. A extração te dá um arquivo .sup ou .idx/.sub que editores de legenda e plataformas de vídeo não conseguem ler como texto.
Converter legendas PGS ou VobSub para SRT sempre exige OCR, porque as "legendas" são imagens de bitmap de texto, não texto. Em um Mac, o caminho prático é renderizar a faixa sobre o vídeo uma vez com o ffmpeg e depois rodar OCR de legenda no resultado:
# Grava a faixa de legenda em imagem sobre o vídeo (recodificação única)
ffmpeg -i input.mkv -filter_complex "[0:v][0:s:0]overlay[v]" \
-map "[v]" -map 0:a? -c:a copy burned.mp4
Depois importe o burned.mp4 no GeekLink e rode a extração por OCR. Ele detecta a região da legenda, lê o texto de cada quadro, mescla quadros duplicados em legendas únicas e exporta um SRT limpo e com tempos corretos — localmente no seu Mac, sem nada enviado para a nuvem. A recodificação só precisa ser boa o suficiente para o OCR ler, então as configurações padrão servem.
E se o MKV não tiver nenhuma faixa de legenda (legendas embutidas)?
Este é o caso mais comum com animes baixados, episódios de dramas e vídeos recodificados: o ffprobe não lista nenhum fluxo de legenda, mas você claramente vê legendas quando o vídeo toca. Se o ffprobe não mostra nenhum fluxo de legenda mas as legendas estão visíveis durante a reprodução, elas estão embutidas (queimadas) na própria imagem — nenhum extrator, demuxer ou conversor consegue tirá-las, e o OCR no vídeo é o único caminho.
- Importe o MKV no GeekLink no seu Mac — não precisa converter, o MKV é suportado diretamente.
- Rode a extração por OCR. Ele lê o texto da legenda dos quadros e o mescla em linhas de legenda com tempos.
- Exporte como SRT — ou traduza primeiro e exporte um arquivo bilíngue.
O OCR roda localmente e processa um lote inteiro em uma única execução, então uma temporada completa de episódios pode ser enfileirada de uma vez. O passo a passo completo está aqui: Como Extrair Legendas Embutidas (Queimadas) Usando OCR; se você está escolhendo uma ferramenta, veja Melhores Ferramentas para Extrair Legendas Embutidas em 2026. Não tem certeza se suas legendas são incorporadas ou embutidas? A diferença é explicada em Legendas Incorporadas vs Embutidas.
Como traduzir as legendas que você extraiu?
A extração costuma ser o passo um de um trabalho de localização. Um arquivo SRT extraído de um MKV pode ser importado direto no GeekLink e traduzido com IA para mais de 40 idiomas, mantendo os tempos originais — sem retranscrição. Exporte o resultado como um SRT traduzido, um SRT bilíngue, ou grave a tradução no vídeo. Fluxo completo: Como Traduzir Legendas Embutidas.
Perguntas frequentes
Como extraio legendas de um arquivo MKV?
Se o MKV tem uma faixa de legenda em texto, rode ffmpeg -i input.mkv -map 0:s:0 subtitles.srt — termina em segundos e é gratuito. Se a faixa for baseada em imagem (PGS/VobSub) ou as legendas estiverem embutidas na imagem, não há texto para extrair; você precisa de um software de OCR para lê-las dos quadros.
A interface gráfica do MKVToolNix consegue extrair legendas?
Não. A interface gráfica do MKVToolNix multiplexa faixas em arquivos MKV mas não tem função de extração. A extração é feita com o mkvextract, a ferramenta de linha de comando que é instalada junto: mkvmerge -i input.mkv para encontrar o ID da faixa, depois mkvextract input.mkv tracks 2:subtitles.srt.
O VLC consegue extrair legendas de um MKV?
Não. O VLC consegue exibir e alternar entre faixas de legenda incorporadas, mas não tem recurso para exportar uma faixa como arquivo de legenda. Use ffmpeg ou mkvextract para faixas em texto, ou OCR para legendas baseadas em imagem e embutidas.
Por que minhas legendas saíram como um arquivo .sup ou .idx/.sub em vez de SRT?
Porque a faixa é baseada em imagem: .sup é PGS de Blu-ray e .idx/.sub é VobSub de DVD. Ambos armazenam legendas como imagens, então a extração preserva as imagens. Convertê-las para SRT exige OCR — nenhum conversor de formato consegue fazer isso, porque não há texto dentro do arquivo para converter.
Como converto legendas PGS para SRT em um Mac?
Renderize a faixa PGS sobre o vídeo com um comando ffmpeg (veja o guia acima), depois rode o OCR de legendas do GeekLink no resultado. Ele lê o texto da legenda dos quadros e exporta um SRT com tempos, inteiramente local no seu Mac.