설치 · 사용법

MKV 자막 추출 방법

먼저 확인

MKV 안에 독립된 자막 트랙이 있으면 MKVToolNix의 mkvextract로 별도 파일을 얻을 수 있습니다. 먼저 트랙의 언어·코덱·ID를 확인하세요. 텍스트 자막은 SRT·ASS 등으로, 이미지 자막은 SUP 또는 IDX·SUB로 나오며 화면에 붙은 글자는 이 명령으로 분리할 수 없습니다. 아래는 Windows PowerShell 기준입니다.

추출 조건

대상
MKV 내부의 독립 자막 트랙
필요한 번호
mkvmerge가 보여 준 실제 track ID
텍스트 출력
코덱에 맞는 SRT·ASS·SSA
이미지 출력
PGS는 SUP · VobSub은 IDX+SUB

1. 자막 추출 순서

  1. 1. 입력·출력 위치 준비

    원본 MKV를 보관하고 비어 있는 출력 폴더를 준비합니다. MKVToolNix의 CLI 파일이 있는 폴더에서 PowerShell을 엽니다.

  2. 2. 자막 트랙 확인

    mkvmerge의 JSON 식별 결과에서 type이 subtitles인 트랙의 ID·언어·코덱을 확인합니다.

  3. 3. 출력 형식 선택

    S_TEXT/UTF8은 SRT, S_TEXT/ASS는 ASS처럼 실제 코덱에 맞춰 파일 이름을 정합니다. 이미지 자막도 별도 형식으로 구분합니다.

  4. 4. 실제 ID로 추출

    mkvextract에 입력 MKV와 해당 ID:출력경로를 지정합니다. 아래 예시의 경로·번호는 자신의 파일에 맞게 바꿉니다.

  5. 5. 종료 코드와 내용 확인

    종료 코드·출력 파일을 확인하고 문자·언어·시작/종료 시간·스타일을 검수합니다. 플레이어에서 외부 자막을 선택해 원본과 비교합니다.

2. 실행 위치

원본 MKV와 추출 파일을 서로 다른 위치에 두세요. 출력 폴더는 먼저 만들어 두고, 이전 결과와 겹치지 않는 파일 이름을 정합니다. 영상 재생만 필요하면 플레이어에서 내장 자막을 선택하는 것으로 충분할 수 있습니다.

MKVToolNix가 없다면 MKVToolNix의 공식 배포 선택을 확인하세요. 아래 명령은 프로젝트의 Windows 설치형 또는 포터블에 있는 mkvmerge.exe와 mkvextract.exe를 사용합니다. Microsoft Store판은 CLI 직접 호출 경로로 안내하지 않습니다.

두 실행 파일이 있는 폴더를 탐색기로 열고 그 위치에서 PowerShell을 시작하세요. 명령의 .\는 현재 폴더를 뜻합니다. 다른 폴더에서 실행한다면 실행 파일의 전체 경로를 쓰고, 파일 경로는 공백·한글이 있어도 따옴표로 감쌉니다. 예시의 D 드라이브와 폴더는 자신의 실제 위치로 바꿉니다.

3. 트랙 확인

다음은 입력 파일의 정보를 JSON으로 읽어 트랙 ID·종류·언어·코덱만 보여 주는 예시입니다. 먼저 입력 MKV 경로를 바꾸세요.

$info = & ".\mkvmerge.exe" -J "D:\영상\sample.mkv" | ConvertFrom-Json
$info.tracks | ForEach-Object {
[PSCustomObject]@{
ID = $_.id
Type = $_.type
Language = $_.properties.language
Codec = $_.properties.codec_id
}
}

Type이 subtitles인 줄을 찾아 ID와 Codec을 확인합니다. Language가 kor이면 한국어 표시지만, und처럼 언어가 지정되지 않은 트랙도 있으므로 추출한 실제 글자도 확인해야 합니다. 영상·음성 트랙의 ID는 선택하지 않습니다.

자체 제작한 시험 MKV의 식별 결과 예시
ID·종류 언어·코덱
0 · video und · V_MS/VFW/FOURCC
1 · subtitles kor · S_TEXT/UTF8
2 · subtitles eng · S_TEXT/ASS

번호는 파일마다 다릅니다

이 표의 1·2는 시험 파일의 ID입니다. 재생기의 자막 순번이나 FFmpeg 스트림 번호를 그대로 쓰지 말고, 자신의 mkvmerge 식별 결과에서 확인한 ID를 사용하세요.

4. 출력 형식

자막 코덱에 따른 mkvextract 출력
Codec 값 결과 파일
S_TEXT/UTF8 · S_TEXT/ASCII SRT (.srt)
S_TEXT/ASS · S_TEXT/SSA ASS·SSA (.ass·.ssa)
S_HDMV/PGS SUP (.sup) 이미지 자막
S_VOBSUB IDX와 SUB 두 파일 (.idx + .sub)
S_TEXT/WEBVTT WebVTT (.vtt)

mkvextract의 출력 형식은 트랙 코덱이 결정합니다. ASS 트랙의 출력 이름을 .srt로 적어도 SRT로 변환되지 않습니다. 스타일을 유지하려면 ASS로 분리하고, SRT가 꼭 필요한 경우에는 추출 뒤 별도 자막 변환 작업을 검토하세요.

PGS·VobSub은 글자를 그림으로 담은 자막입니다. SUP나 IDX·SUB를 얻는 것과 OCR로 SRT 텍스트를 만드는 것은 다른 작업입니다. IDX·SUB는 한 쌍으로 보관하며, 이 가이드는 OCR 절차나 화면에 붙은 자막의 인식을 다루지 않습니다.

5. 파일로 분리

아래는 ID 1이 S_TEXT/UTF8로 확인된 경우의 예시입니다. 입력 경로·ID·출력 경로를 자신의 파일에 맞게 바꾸고, 출력 폴더가 있는지 확인한 뒤 실행하세요.

& ".\mkvextract.exe" "D:\영상\sample.mkv" tracks "1:D:\자막출력\sample.ko.srt"
$LASTEXITCODE

결과 파일이 생겼는지 확인하세요. $LASTEXITCODE는 바로 앞 네이티브 도구의 종료 코드입니다. 0은 정상 완료, 1은 경고가 있으므로 출력과 경고 내용을 확인, 2는 오류로 작업이 중단된 상태입니다.

자막 두 개가 필요한 경우에는 각각의 실제 ID와 코덱에 맞는 출력 이름을 한 명령에 지정할 수 있습니다. 다음은 시험 파일의 SRT1·ASS2를 함께 분리한 예시입니다.

& ".\mkvextract.exe" "D:\영상\sample.mkv" tracks "1:D:\자막출력\sample.ko.srt" "2:D:\자막출력\sample.ass"

6. 결과 검수

  • 추출한 텍스트를 열어 한국어·영어와 줄바꿈이 올바른지 확인합니다. 다른 언어라면 트랙 선택을 다시 확인하세요.
  • 첫 자막과 중간 자막의 시작·종료 시간이 원본 재생과 맞는지 비교합니다. 파일이 만들어졌다는 사실만으로 실제 영상의 싱크가 맞는 것은 아닙니다.
  • ASS에는 스타일 정보가 남을 수 있지만 MKV의 첨부 폰트가 자막 트랙과 함께 자동 추출되는 것은 아닙니다. 원래 글꼴·배치가 필요한 경우에는 첨부 파일과 재생 환경을 따로 확인합니다.
  • VLC 등 사용하는 플레이어에서 외부 자막 파일을 명시적으로 선택하고, 내장 자막과 전환해 같은 언어·내용인지 비교합니다.
  • 원본 MKV는 결과를 확인한 뒤에도 보관하세요. 추출 파일의 확장자만 바꾸거나 검수 전에 원본을 삭제할 필요가 없습니다.

확인한 시험 범위

Windows 64비트 MKVToolNix 102.0에서 직접 만든 5프레임 영상과 두 줄 SRT·ASS로 트랙 선택, 문자·시간, ASS 스타일을 확인했습니다. 잘못된 확장자와 없는 ID의 동작, 추출 전후 원본 지문도 대조했습니다. 이미지 자막 OCR이나 실제 녹화 음성의 싱크를 시험한 결과는 아닙니다.

7. 안 될 때

증상에 따라 다시 확인할 곳
상태 확인할 내용
subtitles 트랙이 없음 화면에 붙은 글자·음성 인식과 구분합니다. 독립 자막 트랙이 있는 원본인지 확인하세요.
없는 트랙 ID 오류 현재 파일을 다시 식별해 실제 ID를 사용합니다.
실행 파일을 찾지 못함 현재 폴더와 mkvmerge.exe·mkvextract.exe 위치를 확인합니다.
출력 파일이 없거나 쓰기 오류 출력 폴더 존재·권한·경로·따옴표와 종료 코드2를 확인합니다.
.srt인데 ASS 내용이 보임 확장자를 붙여도 코덱 변환이 되지 않습니다. 실제 코덱에 맞는 이름으로 다시 추출합니다.
SUP 또는 IDX·SUB가 나옴 이미지 자막의 정상 출력인지 먼저 확인합니다. SRT가 필요하면 별도 OCR이 필요합니다.

자막 트랙이 없고 음성에서 글자를 새로 만들어야 한다면 녹음 텍스트 변환 안내에서 다른 과업으로 검토하세요. 영상 컨테이너를 MP4로 바꾸는 것이 목적이면 MKV MP4 변환 안내가 맡습니다. MP4 변환만으로 자막이 별도 파일로 추출되는 것은 아닙니다.

8. 자주 묻는 질문

MKVToolNix GUI에서 추출 버튼을 누르면 되나요?

+

이 가이드의 추출은 명령줄 도구 mkvextract를 사용합니다. GUI의 트랙 넣기·리먹스와 구분하고 프로젝트 배포의 CLI 파일 위치를 확인하세요.

자막이 보이는데 subtitles 트랙이 없으면 어떻게 하나요?

+

화면 자체에 붙은 글자일 수 있습니다. 독립 트랙을 분리하는 명령으로는 이를 글자로 얻을 수 없습니다. 화면 OCR 또는 음성에서 새 글자를 만드는 작업인지 따로 구분하세요.

ASS 파일 이름을 SRT로 바꾸면 SRT가 되나요?

+

아닙니다. mkvextract 출력은 트랙의 코덱에 따라 결정됩니다. 이름만 .srt로 바꿔도 ASS 내용이 남습니다. 변환과 스타일 손실 여부는 추출 후 별도 작업으로 확인하세요.

추출하면 원본 영상 화질이 바뀌나요?

+

이 명령은 기존 자막 트랙을 별도 파일로 분리하는 작업입니다. 새 영상 인코딩을 하는 절차가 아니며 원본 입력과 다른 출력 자막 경로를 사용합니다. 예시 시험에서도 원본 지문이 같음을 확인했습니다.

9. 참고 자료

관련 가이드

함께 보면 좋은