W skrócie: napisy w pliku MKV występują w dwóch zasadniczo różnych formach, a metoda ekstrakcji zależy od tego, którą masz. Jeśli MKV zawiera tekstową ścieżkę napisów (SRT lub ASS), jedno darmowe polecenie — ffmpeg albo mkvextract z MKVToolNix — zapisuje plik napisów w kilka sekund. Ale dwa częste przypadki w ogóle nie zawierają tekstu: ścieżki obrazkowe (PGS i VobSub, standard w ripach Blu-ray i ripach DVD) oraz napisy wtopione bezpośrednio w obraz. Oba te przypadki wymagają OCR. Ten poradnik omawia wszystkie cztery przypadki z dokładnymi poleceniami, zaczynając od 10-sekundowego sprawdzenia, który przypadek dotyczy Ciebie.
Jak sprawdzić, jakie ścieżki napisów ma plik MKV?
Zanim cokolwiek wyodrębnisz, wypisz strumienie napisów. Z zainstalowanym ffmpeg (brew install ffmpeg na Macu) uruchom:
ffprobe -v error -select_streams s \
-show_entries stream=index,codec_name:stream_tags=language,title \
-of default=noprint_wrappers=1 input.mkv
Albo, jeśli już używasz MKVToolNix, mkvmerge -i input.mkv wypisuje te same informacje prostszym językiem. Wartość codec_name w wyniku mówi Ci wszystko:
| codec_name | Co to jest | Jak uzyskać SRT |
|---|---|---|
subrip | Napisy w czystym tekście (SRT) | Jedno polecenie ffmpeg — gotowe w kilka sekund |
ass | Stylizowane napisy tekstowe (częste w anime) | Jedno polecenie ffmpeg; stylizacja jest tracona w SRT |
hdmv_pgs_subtitle | Obrazkowe napisy Blu-ray (obrazy tekstu) | Wymagany OCR |
dvd_subtitle | Obrazkowe napisy DVD (VobSub) | Wymagany OCR |
| Brak jakiegokolwiek wyniku | Brak ścieżki napisów — napisy, jeśli są widoczne, są wtopione w obraz | OCR samego filmu |
Jeśli ffprobe pokazuje subrip albo ass, ekstrakcja jest darmowa i trwa kilka sekund; jeśli pokazuje hdmv_pgs_subtitle albo dvd_subtitle, ścieżka zawiera obrazy tekstu i żadne narzędzie nie zamieni jej w SRT bez OCR. To rozróżnienie jest najczęstszym źródłem nieporozumień wokół napisów w MKV i decyduje o wszystkim, co dalej.
Jak wyodrębnić napisy SRT z MKV za pomocą ffmpeg?
Dla ścieżek tekstowych ffmpeg to najszybsza droga i działa tak samo na Macu, Windows i Linuksie:
# Extract the first subtitle track as SRT
ffmpeg -i input.mkv -map 0:s:0 subtitles.srt
# Extract the second subtitle track (0:s:1 = second, and so on)
ffmpeg -i input.mkv -map 0:s:1 subtitles.srt
# Pick a track by language instead of position
ffmpeg -i input.mkv -map 0:s:m:language:eng english.srt
# Keep an ASS track in its original format (preserves styling)
ffmpeg -i input.mkv -map 0:s:0 -c copy subtitles.ass
Warto wiedzieć dwie rzeczy. Po pierwsze, konwersja ścieżki ASS do SRT po cichu usuwa całą stylizację — czcionki, kolory, pozycjonowanie, efekty karaoke — bo format SRT nie potrafi ich zapisać; jeśli potrzebujesz stylizacji, wyodrębnij do .ass . Po drugie, -map 0:s:0 liczy tylko strumienie napisów, więc nie jest to ten sam numer co indeks strumienia wypisywany przez ffprobe.
ffmpeg konwertuje formaty napisów podczas ekstrakcji, dlatego ffmpeg -i input.mkv -map 0:s:0 subtitles.srt działa zarówno dla ścieżek SRT, jak i ASS — ale nie potrafi zamienić ścieżek obrazkowych (PGS/VobSub) na tekst i zakończy się błędem enkodera, jeśli spróbujesz.
Jak wyodrębnić napisy za pomocą MKVToolNix (mkvextract)?
MKVToolNix (darmowy, mkvtoolnix.download lub brew install mkvtoolnix) wyodrębnia ścieżki bit w bit w ich oryginalnym formacie. Najpierw wypisz ID ścieżek, a potem wyodrębnij według ID:
# List tracks with their IDs
mkvmerge -i input.mkv
# Track ID 0: video (HEVC) / Track ID 1: audio (AAC) / Track ID 2: subtitles (SubRip/SRT)
# Extract track 2 as SRT
mkvextract input.mkv tracks 2:subtitles.srt
# Extract several tracks in one run
mkvextract input.mkv tracks 2:english.srt 3:spanish.srt
Pułapka, na którą wpada niemal każdy, kto tego szuka: GUI MKVToolNix nie ma funkcji wyodrębniania — ekstrakcja jest dostępna tylko jako narzędzie wiersza poleceń mkvextract. GUI służy do multipleksowania (dodawania ścieżek), edycji nagłówków i dzielenia plików, więc szukanie w nim przycisku „extract” z założenia kończy się niczym.
Rozszerzenie zapisywanego pliku musi pasować do kodeka ścieżki: .srt dla SubRip, .ass dla ASS/SSA, .sup dla PGS, a dla VobSub mkvextract zapisuje parę .idx + .sub . To prowadzi nas do przypadku, w którym wyodrębniony plik w ogóle nie jest tekstem.
Jeśli wyodrębnione napisy otwierają się jako krzaki, plik może używać starszego kodowania zamiast UTF-8. Użyj Naprawiacza kodowania napisów , aby podejrzeć poprawne dekodowanie i zapisać czystą kopię w UTF-8 w przeglądarce.
Co, jeśli ścieżka napisów to PGS lub VobSub (obrazkowa)?
Ripy Blu-ray prawie zawsze zawierają ścieżki hdmv_pgs_subtitle , a ripy DVD — ścieżki dvd_subtitle (VobSub). Te ścieżki przechowują każdy napis jako wyrenderowany obraz, który odtwarzacz nakłada na film — nie ma w nich tekstu. Ekstrakcja daje plik .sup albo .idx/.sub , którego edytory napisów i platformy wideo nie odczytają jako tekstu.
Konwersja napisów PGS do SRT nadal wymaga OCR, ale nie musisz najpierw wtapiać ścieżki w film. Na Macu wyodrębnij ścieżkę PGS jako plik .sup za pomocą mkvextract:
# Find the PGS track ID first
mkvmerge -i input.mkv
# Replace 2 with the actual PGS track ID
mkvextract input.mkv tracks 2:subtitles.sup
Następnie przeciągnij subtitles.sup do panelu GeekLink. Wybierz język napisów, gdy pojawi się pytanie; GeekLink rozpoznaje przez OCR bezpośrednio każdy obraz PGS, zachowuje kody czasowe kwestii ze ścieżki i lokalnie zapisuje SRT. Nie ma ponownego kodowania ani wysyłania filmu. Ta bezpośrednia ścieżka SUP/PGS jest przeznaczona dla PGS; VobSub (.idx/.sub) wymaga osobnej konwersji lub OCR filmu.
Co, jeśli MKV w ogóle nie ma ścieżki napisów (napisy wtopione)?
To najczęstszy przypadek przy pobranym anime, odcinkach dram i ponownie zakodowanych filmach: ffprobe nie pokazuje żadnego strumienia napisów, a mimo to wyraźnie widzisz napisy podczas odtwarzania. Jeśli ffprobe nie pokazuje żadnego strumienia napisów, a napisy są widoczne podczas odtwarzania, są wtopione w sam obraz — żaden ekstraktor, demuxer ani konwerter ich nie wyciągnie, a OCR filmu to jedyny sposób.
- Zaimportuj MKV do GeekLink na swoim komputerze — bez konwersji, MKV jest obsługiwany bezpośrednio.
- Uruchom ekstrakcję OCR. Aplikacja odczytuje tekst napisów z klatek i scala go w linie napisów z kodami czasowymi.
- Wyeksportuj jako SRT — albo najpierw przetłumacz i wyeksportuj plik dwujęzyczny.
OCR działa lokalnie i przetwarza całą partię za jednym uruchomieniem, więc cały sezon odcinków można ustawić w kolejce naraz. Pełny przewodnik znajdziesz tutaj: Jak wyodrębnić wtopione (wypalone) napisy za pomocą OCR; jeśli wybierasz narzędzie, zobacz Najlepsze narzędzia do wyodrębniania wtopionych napisów w 2026. Nie wiesz, czy Twoje napisy są osadzone, czy wtopione? Różnicę wyjaśnia artykuł Napisy osadzone vs wtopione.
Jak przetłumaczyć wyodrębnione napisy?
Ekstrakcja to często pierwszy krok projektu lokalizacyjnego. Plik SRT wyodrębniony z MKV można zaimportować bezpośrednio do GeekLink i przetłumaczyć za pomocą AI na ponad 40 języków, zachowując oryginalną synchronizację — bez ponownej transkrypcji. Wyeksportuj wynik jako przetłumaczony SRT, dwujęzyczny SRT albo wtop tłumaczenie w film. Pełny proces: Jak przetłumaczyć wtopione napisy.
FAQ
Jak wyodrębnić napisy z pliku MKV?
Jeśli MKV ma tekstową ścieżkę napisów, uruchom ffmpeg -i input.mkv -map 0:s:0 subtitles.srt — trwa to kilka sekund i jest darmowe. Jeśli ścieżka jest obrazkowa (PGS/VobSub) albo napisy są wtopione w obraz, nie ma tekstu do wyodrębnienia; potrzebujesz oprogramowania OCR, które odczyta je z klatek.
Czy GUI MKVToolNix potrafi wyodrębniać napisy?
Nie. GUI MKVToolNix multipleksuje ścieżki do plików MKV, ale nie ma funkcji wyodrębniania. Ekstrakcję wykonuje się za pomocą mkvextract, narzędzia wiersza poleceń instalowanego razem z nim: mkvmerge -i input.mkv , aby znaleźć ID ścieżki, a potem mkvextract input.mkv tracks 2:subtitles.srt.
Czy VLC potrafi wyodrębnić napisy z MKV?
Nie. VLC potrafi wyświetlać osadzone ścieżki napisów i przełączać się między nimi, ale nie ma funkcji eksportu ścieżki do pliku napisów. Użyj ffmpeg lub mkvextract dla ścieżek tekstowych albo OCR dla napisów obrazkowych i wtopionych.
Dlaczego moje napisy wyszły jako plik .sup lub .idx/.sub zamiast SRT?
Bo ścieżka jest obrazkowa: .sup to PGS z Blu-ray, a .idx/.sub to VobSub z DVD. Oba formaty przechowują napisy jako obrazy, więc ekstrakcja zachowuje obrazy. Konwersja do SRT wymaga OCR — żaden konwerter formatów tego nie zrobi, bo w pliku nie ma tekstu do konwersji.
Jak wydobyć oficjalne napisy z płyty Blu-ray?
Najpierw zgraj płytę do pliku MKV za pomocą MakeMKV — odczyt Blu-ray wymaga napędu Blu-ray, zwykle zewnętrznego na USB, bo żaden Mac i prawie żaden laptop go nie ma. Rip zachowuje oficjalne ścieżki napisów z płyty, które są obrazami PGS (.sup), a nie tekstem. Wyodrębnij ścieżkę PGS za pomocą mkvextract, przeciągnij powstały plik .sup do GeekLink i wybierz język napisów do OCR. GeekLink zachowuje oryginalne kody czasowe kwestii. Jeśli w danej wersji tekst jest wtopiony w obraz zamiast zapisany w ścieżce, zaimportuj film i rozpoznaj przez OCR bezpośrednio jego klatki.
Jak przekonwertować napisy PGS do SRT na Macu?
Wyodrębnij ścieżkę PGS za pomocą mkvextract, przeciągnij powstały plik .sup do GeekLink i wybierz język napisów. GeekLink rozpoznaje obrazy PGS bezpośrednio przez OCR i eksportuje SRT z oryginalnymi kodami czasowymi kwestii ze ścieżki, w całości lokalnie na Twoim komputerze.