TL; DR: คำบรรยายในไฟล์ MKV มีสองรูปแบบโดยพื้นฐานที่แตกต่างกัน และวิธีการแตกไฟล์จะขึ้นอยู่กับว่าคุณมีรูปแบบใด หาก MKV มีแทร็กคำบรรยายข้อความ (SRT หรือ ASS) ให้ใช้คำสั่งฟรีหนึ่งคำสั่ง — ffmpeg หรือ MKVToolNix mkvextract — saves the subtitle file in seconds. But two common cases contain no text at all: image-based tracks (PGS and VobSub, standard in Blu-ray and DVD rips) and subtitles burned directly into the picture. Both of those need OCR. This guide covers all four cases, with the exact commands, starting with a 10-second check that tells you which case yours is.
ฉันจะตรวจสอบได้อย่างไรว่าคำบรรยายในไฟล์ MKV มีอะไรบ้าง
ก่อนที่จะแยกสิ่งใด ให้แสดงรายการสตรีมคำบรรยาย เมื่อติดตั้ง ffmpeg (brew install ffmpeg on a Mac), run:
ffprobe -v error -select_streams s \
-show_entries stream=index,codec_name:stream_tags=language,title \
-of default=noprint_wrappers=1 input.mkv
หรือหากคุณใช้ MKVToolNix อยู่แล้ว mkvmerge -i input.mkv prints the same information in plainer language. The codec_name in the output tells you everything:
| ตัวแปลงสัญญาณ_ชื่อ | มันคืออะไร | การเดินทาง รฟท |
|---|---|---|
subrip | คำบรรยายข้อความธรรมดา (SRT) | หนึ่งคำสั่ง ffmpeg — เสร็จในไม่กี่วินาที |
ass | คำบรรยายข้อความสไตล์ (ทั่วไปในอะนิเมะ) | หนึ่งคำสั่ง ffmpeg; สไตล์หายไปใน SRT |
hdmv_pgs_subtitle | คำบรรยายภาพ Blu-ray (รูปภาพข้อความ) | ต้องใช้โอซีอาร์ |
dvd_subtitle | คำบรรยายภาพ DVD (VobSub) | ต้องใช้โอซีอาร์ |
| ไม่มีเอาท์พุตเลย | ไม่มีแทร็กคำบรรยาย — หากมองเห็นได้ คำบรรยายจะถูกเขียนลงในรูปภาพ | OCR บนวิดีโอนั่นเอง |
ถ้ารายการ ffprobe subrip or ass, extraction is free and takes seconds; if it lists hdmv_pgs_subtitle or dvd_subtitle, the track contains pictures of text, and no tool can turn it into SRT without OCR. ความแตกต่างดังกล่าวเป็นจุดที่ทำให้เกิดความสับสนเกี่ยวกับคำบรรยาย MKV ที่พบบ่อยที่สุด และจะตัดสินทุกสิ่งที่ตามมา
ฉันจะแยกคำบรรยาย SRT จาก MKV ด้วย ffmpeg ได้อย่างไร
สำหรับแทร็กข้อความ ffmpeg เป็นบรรทัดทางที่เร็วที่สุดและทำงานได้เหมือนกันบน Mac, Windows และ 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
สองสิ่งที่ควรรู้ ขั้นแรก การแปลงแทร็ก ASS เป็น SRT จะยกเลิกสไตล์ทั้งหมด — แบบอักษร สี ตำแหน่ง เอฟเฟกต์คาราโอเกะ — เนื่องจากรูปแบบ SRT ไม่สามารถเป็นตัวแทนได้ หากคุณต้องการสไตล์ ให้แตกไฟล์ไปที่ .ass instead. Second, -map 0:s:0 counts subtitle streams only, so it is not the same number as the stream index ffprobe prints.
ffmpeg แปลงระหว่างรูปแบบคำบรรยายในระหว่างการแตกไฟล์ ซึ่งเป็นสาเหตุ ffmpeg -i input.mkv -map 0:s:0 subtitles.srt works on both SRT and ASS tracks — but it cannot convert image-based tracks (PGS/VobSub) to text, and will fail with an encoder error if you try.
ฉันจะแยกคำบรรยายด้วย MKVToolNix (mkvextract) ได้อย่างไร
MKVToolNix (ฟรี, mkvtoolnix.ดาวน์โหลดหรือ brew install mkvtoolnix) extracts tracks bit-exact in their original format. First list the track IDs, then extract by 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
gotcha หนึ่งที่ทำให้เกือบทุกคนค้นหาสิ่งนี้: MKVToolNix GUI ไม่มีฟังก์ชันการแยก - การแตกไฟล์จะจัดส่งเฉพาะเป็นเครื่องมือบรรทัดคำสั่งเท่านั้น mkvextract. GUI ครอบคลุมมัลติเพล็กซ์ (การใส่แทร็ก) การแก้ไขส่วนหัว และการแยกไฟล์ ดังนั้นการมองหาปุ่ม "แตกไฟล์" ข้างในจึงว่างเปล่าจากการออกแบบ
นามสกุลไฟล์ที่คุณเขียนจะต้องตรงกับตัวแปลงสัญญาณของแทร็ก: .srt for SubRip, .ass for ASS/SSA, .sup for PGS, and for VobSub, mkvextract writes an .idx + .sub pair. Which brings us to the case where the extracted file is not text at all.
จะเกิดอะไรขึ้นหากแทร็กคำบรรยายเป็น PGS หรือ VobSub (แบบรูปภาพ)
Blu-ray ริพแทบจะพกติดตัวอยู่เสมอ hdmv_pgs_subtitle tracks, and DVD rips carry dvd_subtitle (VobSub). These tracks store each subtitle as a rendered picture that the player overlays on the video — there is no text inside them. Extracting gives you a .sup or .idx/.sub file that subtitle editors and video platforms cannot read as text.
การแปลงคำบรรยาย PGS หรือ VobSub เป็น SRT ต้องใช้ OCR เสมอ เนื่องจาก "คำบรรยาย" เป็นภาพบิตแมปของข้อความ ไม่ใช่ข้อความ บน Mac บรรทัดทางที่ใช้งานได้จริงคือแสดงแทร็กบนวิดีโอหนึ่งครั้งด้วย ffmpeg จากนั้นเรียกใช้ OCR คำบรรยายกับผลลัพธ์:
# Burn the image-subtitle track onto the video (one-time re-encode)
ffmpeg -i input.mkv -filter_complex "[0:v][0:s:0]overlay[v]" \
-map "[v]" -map 0:a? -c:a copy burned.mp4
แล้วนำเข้า burned.mp4 into GeekLink และเรียกใช้การแยก OCR โดยจะตรวจจับขอบเขตคำบรรยาย อ่านข้อความของแต่ละเฟรม รวมเฟรมที่ซ้ำกันเป็นคิวเดียว และส่งออก SRT ที่สะอาดและตรงเวลาอย่างถูกต้อง — ในเครื่องคอมพิวเตอร์ของคุณ โดยไม่มีการอัปโหลดใดๆ การเข้ารหัสใหม่จะต้องดีเพียงพอสำหรับ OCR จึงจะอ่านได้ ดังนั้นการตั้งค่าเริ่มต้นจึงใช้ได้
จะเกิดอะไรขึ้นถ้า MKV ไม่มีแทร็กคำบรรยายเลย (คำบรรยายแบบเบิร์นอิน)?
นี่เป็นกรณีที่พบบ่อยที่สุดกับการดาวน์โหลดอนิเมะ ตอนของละคร และวิดีโอที่เข้ารหัสใหม่: ffprobe lists no subtitle stream, yet you clearly see subtitles when the video plays. หาก ffprobe ไม่แสดงสตรีมคำบรรยาย แต่มองเห็นคำบรรยายได้ในระหว่างการเล่น คำบรรยายเหล่านั้นจะถูกเบิร์นลงในรูปภาพ — ไม่มีโปรแกรมแยกไฟล์ demuxer หรือตัวแปลงใดที่สามารถดึงออกมาได้ และ OCR บนวิดีโอเป็นวิธีเดียวเท่านั้น
- นำเข้า MKV เข้าไป GeekLink บนคอมพิวเตอร์ของคุณ — ไม่จำเป็นต้องแปลงไฟล์ รองรับ MKV โดยตรง
- เรียกใช้การแยก OCR โดยจะอ่านข้อความคำบรรยายจากเฟรมและรวมเข้ากับบรรทัดคำบรรยายพร้อมเวลา
- ส่งออกเป็น SRT — หรือแปลก่อนแล้วส่งออกไฟล์สองภาษา
OCR ทำงานภายในเครื่องและประมวลผลทั้งชุดในการฉายครั้งเดียว จึงสามารถจัดคิวตอนทั้งซีซันได้ในคราวเดียว คำแนะนำแบบสมบูรณ์อยู่ที่นี่: วิธีแยกคำบรรยายแบบฮาร์ดโค้ด (เบิร์นอิน) โดยใช้ OCR; หากคุณกำลังเลือกเครื่องมือ โปรดดู เครื่องมือที่ดีที่สุดในการแยกคำบรรยายแบบฮาร์ดโค้ดในปี 2569. ไม่แน่ใจว่าคำบรรยายของคุณฝังอยู่หรือถูกเบิร์นใช่ไหม? ความแตกต่างมีอธิบายไว้ใน คำบรรยายแบบฝังและแบบเบิร์นอิน.
คุณจะแปลคำบรรยายที่คุณแยกออกมาได้อย่างไร?
การแตกข้อมูลมักเป็นขั้นตอนหนึ่งของงานการแปลเป็นภาษาในเครื่อง ไฟล์ SRT ที่แยกจาก MKV สามารถนำเข้าโดยตรงไปยัง GeekLink และแปลด้วย AI เป็นกว่า 40 ภาษา โดยคงเวลาเดิมไว้ โดยไม่จำเป็นต้องถอดเสียงซ้ำ ส่งออกผลลัพธ์เป็น SRT ที่แปล, SRT สองภาษา หรือเบิร์นการแปลลงในวิดีโอ ขั้นตอนการทำงานแบบเต็ม: วิธีแปลคำบรรยายแบบฮาร์ดโค้ด.
คำถามที่พบบ่อย
ฉันจะแยกคำบรรยายจากไฟล์ MKV ได้อย่างไร
หาก MKV มีแทร็กคำบรรยายข้อความ ให้เรียกใช้ ffmpeg -i input.mkv -map 0:s:0 subtitles.srt — it finishes in seconds and is free. If the track is image-based (PGS/VobSub) or the subtitles are burned into the picture, there is no text to extract; you need OCR software to read them from the frames.
MKVToolNix GUI สามารถแยกคำบรรยายได้หรือไม่
ไม่ MKVToolNix GUI มัลติเพล็กซ์จะติดตามเป็นไฟล์ MKV แต่ไม่มีฟังก์ชันแตกไฟล์ การแตกไฟล์เสร็จสิ้นด้วย mkvextract ซึ่งเป็นเครื่องมือบรรทัดคำสั่งที่ติดตั้งข้างๆ: mkvmerge -i input.mkv to find the track ID, then mkvextract input.mkv tracks 2:subtitles.srt.
VLC สามารถแยกคำบรรยายจาก MKV ได้หรือไม่
ไม่ได้ VLC สามารถแสดงและสลับระหว่างแทร็กคำบรรยายที่ฝังไว้ได้ แต่ไม่มีคุณสมบัติในการส่งออกแทร็กเป็นไฟล์คำบรรยาย ใช้ ffmpeg หรือ mkvextract สำหรับแทร็กข้อความ หรือใช้ OCR สำหรับคำบรรยายตามรูปภาพและคำบรรยายแบบเบิร์นอิน
เพราะเหตุใดคำบรรยายของฉันจึงออกมาเป็นไฟล์ .sup หรือ .idx/.sub แทนที่จะเป็น SRT
เนื่องจากแทร็กเป็นแบบรูปภาพ: .sup คือ Blu-ray PGS และ .idx/.sub คือ DVD VobSub เก็บคำบรรยายไว้เป็นรูปภาพ ดังนั้นการแตกไฟล์จึงเก็บรูปภาพไว้ การแปลงเป็น SRT ต้องใช้ OCR ไม่มีตัวแปลงรูปแบบใดสามารถทำได้ เนื่องจากไม่มีข้อความในไฟล์ที่จะแปลง
ฉันจะรับคำบรรยายอย่างเป็นทางการจากแผ่นดิสก์ Blu-ray ได้อย่างไร
ขั้นแรกริปแผ่นดิสก์เป็นไฟล์ MKV ด้วย MakeMKV การอ่าน Blu-ray ต้องใช้ไดรฟ์ Blu-ray ซึ่งโดยทั่วไปหมายถึงไดรฟ์ USB ภายนอก เนื่องจากไม่มี Mac และแทบไม่มีแล็ปท็อปจัดส่งด้วย การริพจะเก็บแทร็กคำบรรยายอย่างเป็นทางการของแผ่นดิสก์ ซึ่งเป็น PGS (.sup) images, not text, so from there it is the same job as any MKV: pull the PGS track with mkvextract and OCR it to a timed SRT. On a Mac, render the PGS onto the video and run GeekLink's OCR (see above). If a version has the text burned into the picture instead of a track, you OCR the frames directly.
ฉันจะแปลงคำบรรยาย PGS เป็น SRT บน Mac ได้อย่างไร
เรนเดอร์แทร็ก PGS ลงบนวิดีโอด้วยคำสั่ง ffmpeg หนึ่งคำสั่ง (ดูคำแนะนำด้านบน) จากนั้นเรียกใช้ OCR คำบรรยายของ GeekLink กับผลลัพธ์ โดยจะอ่านข้อความคำบรรยายจากเฟรมและส่งออก SRT แบบกำหนดเวลาทั้งหมดภายในเครื่องคอมพิวเตอร์ของคุณ