Cách trích xuất phụ đề từ tệp MKV

Tác giả Flora Wang, chuyên gia bản địa hóa video · Đăng ngày 17/7/2026 · Cập nhật ngày 20/9/2026 · 8 phút đọc

Tóm tắt: phụ đề trong tệp MKV có hai dạng khác nhau về bản chất, và cách trích xuất phụ thuộc vào dạng bạn đang có. Nếu MKV chứa track phụ đề dạng chữ (SRT hoặc ASS), chỉ một lệnh miễn phí — ffmpeg hoặc mkvextract của MKVToolNix — là lưu được tệp phụ đề trong vài giây. Nhưng có hai trường hợp phổ biến hoàn toàn không chứa chữ: track dạng hình ảnh (PGS và VobSub, tiêu chuẩn trong bản rip Blu-ray và bản rip DVD) và phụ đề in thẳng vào hình ảnh. Cả hai trường hợp đó đều cần OCR. Hướng dẫn này bao quát cả bốn trường hợp, kèm lệnh chính xác, bắt đầu bằng một bước kiểm tra 10 giây cho biết bạn đang ở trường hợp nào.

Làm sao để kiểm tra tệp MKV có những track phụ đề nào?

Trước khi trích xuất bất cứ thứ gì, hãy liệt kê các luồng phụ đề. Khi đã cài ffmpeg (brew install ffmpeg trên Mac), hãy chạy:

ffprobe -v error -select_streams s \
  -show_entries stream=index,codec_name:stream_tags=language,title \
  -of default=noprint_wrappers=1 input.mkv

Hoặc, nếu bạn đã dùng MKVToolNix, mkvmerge -i input.mkv sẽ in ra cùng thông tin đó bằng ngôn ngữ dễ hiểu hơn. Giá trị codec_name trong kết quả cho bạn biết mọi thứ:

codec_nameĐó là gìCách lấy SRT
subripPhụ đề dạng chữ thuần (SRT)Một lệnh ffmpeg — xong trong vài giây
assPhụ đề dạng chữ có định dạng (phổ biến trong anime)Một lệnh ffmpeg; định dạng bị bỏ khi chuyển sang SRT
hdmv_pgs_subtitlePhụ đề hình ảnh Blu-ray (ảnh chụp chữ)Cần OCR
dvd_subtitlePhụ đề hình ảnh DVD (VobSub)Cần OCR
Không có kết quả nàoKhông có track phụ đề — phụ đề nếu nhìn thấy được là đã in vào hìnhOCR trên chính video

Nếu ffprobe liệt kê subrip hoặc ass, việc trích xuất miễn phí và chỉ mất vài giây; nếu nó liệt kê hdmv_pgs_subtitle hoặc dvd_subtitle, track đó chứa ảnh chụp chữ, và không công cụ nào biến nó thành SRT mà không cần OCR. Sự khác biệt đó là điểm gây nhầm lẫn phổ biến nhất về phụ đề MKV, và nó quyết định mọi bước tiếp theo.

Làm sao để trích xuất phụ đề SRT từ MKV bằng ffmpeg?

Với track dạng chữ, ffmpeg là cách nhanh nhất và hoạt động giống nhau trên Mac, Windows và Linux:

# 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

Có hai điều nên biết. Thứ nhất, chuyển track ASS sang SRT sẽ lặng lẽ bỏ hết định dạng — phông chữ, màu, vị trí, hiệu ứng karaoke — vì định dạng SRT không biểu diễn được chúng; nếu cần giữ định dạng, hãy trích xuất ra .ass thay vào đó. Thứ hai, -map 0:s:0 chỉ đếm các luồng phụ đề, nên nó không trùng với số chỉ mục luồng mà ffprobe in ra.

ffmpeg chuyển đổi giữa các định dạng phụ đề trong lúc trích xuất, đó là lý do ffmpeg -i input.mkv -map 0:s:0 subtitles.srt dùng được cho cả track SRT và ASS — nhưng nó không thể chuyển track dạng hình ảnh (PGS/VobSub) sang chữ, và sẽ báo lỗi encoder nếu bạn thử.

Làm sao để trích xuất phụ đề bằng MKVToolNix (mkvextract)?

MKVToolNix (miễn phí, mkvtoolnix.download, hoặc brew install mkvtoolnix) trích xuất track nguyên vẹn từng bit ở định dạng gốc. Trước tiên hãy liệt kê ID của các track, rồi trích xuất theo 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

Một cái bẫy khiến gần như ai tìm cách làm việc này cũng vấp phải: giao diện đồ họa MKVToolNix GUI không có chức năng trích xuất — việc trích xuất chỉ có ở công cụ dòng lệnh mkvextract. Giao diện đồ họa dùng để ghép track (multiplexing), sửa header và chia tệp, nên tìm nút “extract” trong đó sẽ không thấy — vốn được thiết kế như vậy.

Đuôi tệp bạn ghi ra phải khớp với codec của track: .srt cho SubRip, .ass cho ASS/SSA, .sup cho PGS, còn với VobSub, mkvextract ghi ra .idx + .sub thành một cặp. Điều này dẫn ta đến trường hợp tệp trích xuất ra hoàn toàn không phải chữ.

Nếu phụ đề trích xuất được mở ra bị lỗi ký tự, có thể tệp dùng bảng mã cũ thay vì UTF-8. Hãy dùng Công cụ sửa bảng mã phụ đề để xem trước cách giải mã đúng và lưu một bản UTF-8 sạch ngay trong trình duyệt.

Nếu track phụ đề là PGS hoặc VobSub (dạng hình ảnh) thì sao?

Bản rip Blu-ray gần như luôn có track hdmv_pgs_subtitle , còn bản rip DVD có track dvd_subtitle (VobSub). Các track này lưu mỗi câu phụ đề thành một ảnh đã kết xuất để trình phát phủ lên video — bên trong không có chữ nào. Trích xuất ra, bạn nhận được một tệp .sup hoặc .idx/.sub mà trình chỉnh sửa phụ đề và nền tảng video không đọc được như chữ.

Chuyển phụ đề PGS sang SRT vẫn cần OCR, nhưng bạn không cần gắn cứng track vào video trước. Trên Mac, trích xuất track PGS thành tệp .sup bằng 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

Sau đó kéo subtitles.sup vào bảng điều khiển GeekLink. Chọn ngôn ngữ phụ đề khi được hỏi; GeekLink OCR trực tiếp từng ảnh PGS, giữ nguyên mốc thời gian của từng câu từ track và ghi ra tệp SRT ngay trên máy. Không mã hóa lại hay tải video lên. Cách chuyển trực tiếp SUP/PGS này dành cho PGS; VobSub (.idx/.sub) cần một quy trình chuyển đổi riêng hoặc OCR video.

Nếu MKV hoàn toàn không có track phụ đề (phụ đề cứng) thì sao?

Đây là trường hợp phổ biến nhất với anime tải về, các tập phim bộ và video đã mã hóa lại: ffprobe không hiện luồng phụ đề nào, vậy mà bạn vẫn thấy rõ phụ đề khi phát video. Nếu ffprobe không hiện luồng phụ đề nào nhưng khi phát vẫn thấy phụ đề, nghĩa là chúng đã được in vào chính hình ảnh — không công cụ trích xuất, tách luồng hay chuyển đổi nào lấy chúng ra được, và OCR trên video là cách duy nhất.

  1. Nhập tệp MKV vào GeekLink trên máy tính của bạn — không cần chuyển đổi, MKV được hỗ trợ trực tiếp.
  2. Chạy trích xuất OCR. Ứng dụng đọc chữ phụ đề từ các khung hình và gộp thành các dòng phụ đề có thời gian.
  3. Xuất dưới dạng SRT — hoặc dịch trước rồi xuất tệp song ngữ.

OCR chạy trên máy và xử lý cả một lô trong một lần chạy, nên có thể xếp hàng cả một mùa phim cùng lúc. Hướng dẫn đầy đủ ở đây: Cách trích xuất phụ đề cứng (burn-in) bằng OCR; nếu bạn đang chọn công cụ, hãy xem Công cụ trích xuất phụ đề cứng tốt nhất năm 2026. Chưa chắc phụ đề của bạn là phụ đề nhúng hay phụ đề cứng? Sự khác biệt được giải thích trong Phụ đề nhúng và phụ đề cứng.

Làm sao để dịch phụ đề bạn đã trích xuất?

Trích xuất thường là bước đầu tiên của một dự án bản địa hóa. Tệp SRT trích xuất từ MKV có thể nhập thẳng vào GeekLink và dịch bằng AI sang hơn 40 ngôn ngữ, giữ nguyên thời gian gốc — không cần chép lời lại. Xuất kết quả dưới dạng SRT đã dịch, SRT song ngữ, hoặc gắn cứng bản dịch vào video. Quy trình đầy đủ: Cách dịch phụ đề cứng.

FAQ

Làm sao để trích xuất phụ đề từ tệp MKV?

Nếu MKV có track phụ đề dạng chữ, hãy chạy ffmpeg -i input.mkv -map 0:s:0 subtitles.srt — xong trong vài giây và miễn phí. Nếu track là dạng hình ảnh (PGS/VobSub) hoặc phụ đề đã in vào hình, thì không có chữ để trích xuất; bạn cần phần mềm OCR để đọc chúng từ khung hình.

MKVToolNix GUI có trích xuất được phụ đề không?

Không. MKVToolNix GUI ghép track vào tệp MKV nhưng không có chức năng trích xuất. Việc trích xuất được thực hiện bằng mkvextract, công cụ dòng lệnh được cài kèm: mkvmerge -i input.mkv để tìm ID của track, rồi mkvextract input.mkv tracks 2:subtitles.srt.

VLC có trích xuất được phụ đề từ MKV không?

Không. VLC có thể hiển thị và chuyển đổi giữa các track phụ đề nhúng, nhưng không có tính năng xuất một track thành tệp phụ đề. Hãy dùng ffmpeg hoặc mkvextract cho track dạng chữ, hoặc OCR cho phụ đề dạng hình ảnh và phụ đề cứng.

Vì sao phụ đề của tôi ra tệp .sup hoặc .idx/.sub thay vì SRT?

Vì track đó là dạng hình ảnh: .sup là PGS của Blu-ray và .idx/.sub là VobSub của DVD. Cả hai đều lưu phụ đề dưới dạng ảnh, nên khi trích xuất vẫn giữ nguyên ảnh. Muốn chuyển sang SRT cần OCR — không công cụ chuyển định dạng nào làm được, vì trong tệp không có chữ để chuyển.

Làm sao để lấy phụ đề chính thức từ đĩa Blu-ray?

Trước tiên hãy rip đĩa thành tệp MKV bằng MakeMKV — đọc Blu-ray cần ổ Blu-ray, thường là ổ USB gắn ngoài vì không máy Mac nào và gần như không laptop nào có sẵn ổ này. Bản rip giữ nguyên các track phụ đề chính thức của đĩa, vốn là ảnh PGS (.sup), không phải chữ. Trích xuất track PGS bằng mkvextract, kéo tệp .sup thu được vào GeekLink và chọn ngôn ngữ phụ đề để OCR. GeekLink giữ nguyên mốc thời gian gốc của từng câu. Nếu một phiên bản có chữ in vào hình thay vì nằm trong track, hãy nhập video và OCR trực tiếp các khung hình.

Làm sao để chuyển phụ đề PGS sang SRT trên Mac?

Trích xuất track PGS bằng mkvextract, kéo tệp .sup thu được vào GeekLink và chọn ngôn ngữ phụ đề. GeekLink OCR trực tiếp các ảnh PGS và xuất SRT với mốc thời gian gốc của từng câu trong track, hoàn toàn trên máy tính của bạn.

Bài viết liên quan

Phụ đề mà ffmpeg không trích xuất được?

Với PGS/SUP, GeekLink OCR trực tiếp các ảnh phụ đề đã trích xuất; với phụ đề cứng, nó OCR video. Cả hai quy trình đều chạy trên máy và xuất SRT sạch.

Tải miễn phí