mkvextract - Matroska 파일에서
다른 파일로 트랙
추출
개요
mkvextract {소스-파일명}
{모드1} [옵션] [추출-스펙1]
[모드2] [옵션] [추출-스펙2]
[...]
설명
이 프로그램은 Matroska
파일에서 특정 부분을
다른 유용한 형식으로
추출합니다. 첫 번째
인수는 소스 파일의
이름이며 Matroska
파일이어야 합니다.
다른 모든 인수는
특정 추출 모드로
전환하거나, 현재 활성
모드에 대한 옵션을
변경하거나, 무엇을
어떤 파일에 추출할
것인지를 지정합니다.
Mkvextract의 동일한 호출에서
여러 모드를 사용하여
한 번에 여러 항목을
추출할 수 있습니다.
대부분의 옵션은 모든
모드에 적용되는 몇
가지 옵션이 있는 특정
모드에서만 사용할 수
있습니다.
현재 지원되는 것은
트랙, 태그, 첨부 파일,
챕터, 큐 시트,
타임스탬프 및 큐의
추출입니다.
공통 옵션
다음 옵션은 모든
모드에서 사용
가능하고 이 부분에서
단 한번만
설명합니다.
-f, --parse-fully
분석 모드를
'전부'로 설정합니다.
기본 모드는 전체
파일을 분석하지
않지만 소스 파일의
필요한 요소를 찾기
위해 메타 탐색 요소를
사용합니다. 이것은 99%
가량의 모든 경우에
충분합니다. 그러나
메타 탐색 요소를
포함하지 않거나
손상된 파일에서
사용자는 이 모드를
사용해야 할 지
모릅니다. 빠른 스캔은
몇 초밖에 안 걸리지만,
파일 전체 스캔은 이
삼분 걸릴 수
있습니다.
--command-line-charset 문자셋
명령행에 주어진
문자열을 변환할
문자셋을 정합니다.
기본값은 현재 시스템
로케일에 따른
문자셋입니다.
--output-charset 문자셋
출력할 문자열을
변환할 문자셋을
정합니다. 기본값은
현재 시스템 로케일에
따른 문자셋입니다.
-r, --redirect-output
파일명
모든 메시지를
콘솔 화면 대신
파일명 파일에
기록합니다. 이것은
출력 방향 전환으로
쉽게 할 수 있지만 이
옵션이 필요한 경우가
있습니다: 터미널이
파일에 출력하기 전에
출력을 재해석할 때.
문자셋 설정은 --output-charset
을 준수합니다.
--flush-on-close
Tells the program to flush all data cached in memory to
storage when closing files opened for writing. This can be used to prevent
data loss on power outages or to circumvent certain problems in the operating
system or drivers. The downside is that multiplexing will take longer as
mkvmerge will wait until all data has been written to the storage before
exiting. See issues #2469 and #2480 on the MKVToolNix bug tracker for in-depth
discussions on the pros and cons.
--ui-language 코드
언어
코드의
번역을 강제로
사용합니다 (예: 강제
사용할 독일어 번역
코드는 'de_DE'). 'list'를
코드로 입력하면
mkvextract(1) 에서 이용
가능한 번역 목록을
출력할 것입니다.
--abort-on-warnings
Tells the program to abort after the first warning is
emitted. The program's exit code will be 1.
--debug 토픽
특정 기능에
대해 디버깅을 켭니다.
이 기능은
개발자에게만
유용합니다.
--engage 기능
실험적인 기능을
켭니다. 이용 가능한
기능 목록은 mkvextract --engage
list로 요청할 수
있습니다. 이 기능들은
보통 상황에서는
사용하면 안 됩니다.
--gui-mode
GUI 모드를 켭니다.
이 모드에서는 GUI 동작시
무슨 일이 일어나는지
알려줄 수 있는
특별하게 형식화된
줄을 출력할 것입니다.
이 메시지들은 '#GUI#message'
형식을 따릅니다. 이
메시지 뒤에
'#GUI#message#key1=value1#key2=value2...' 형태의
키/값 쌍이 붙을 수
있습니다. 메시지나
키값들은 결코
번역되지 않고 항상
영어로 출력됩니다.
-v, --verbose
읽어들인 모든
중요한 Matroska 요소를
자세하게 보여
줍니다.
-h, --help
사용법에 관한
정보를 표시하고
종료합니다.
-V, --version
버전 정보를
표시하고
종료합니다.
@옵션 파일.json
추가 명령행
인수는
옵션-파일
파일에서 읽어보세요.
이러한 파일용 지원
형식에 대한 자세한
설명은
mkvmerge(1) man page에서
"옵션 파일"이라는
섹션을 참고하세요.
트랙 추출 모드
구문: mkvextract
소스-파일명
트랙
[옵션]
TID1:대상-파일명1
[TID2:대상-파일명2 ...]
다음 명령행 옵션은
'트랙' 추출 모드에서
각 트랙에 대해 사용할
수 있습니다. 이
옵션들은 적용이 되야
하는 트랙 사양(아래
참고) 의 앞쪽에
나타나야 합니다.
-c 문자셋
다음 자막
트랙을 변환할
문자셋을 설정합니다.
다음 트랙 ID가 텍스트
자막 트랙을 대상으로
하는 경우에만
유효합니다. 기본값은
UTF-8.
--blockadd 수준
이 수준까지만
BlockAddition을 유지합니다.
기본값은 모든 수준을
유지하는 것입니다. 이
옵션은 WAVPACK4같은 특정한
코덱에만 효과가
있습니다.
--cuesheet
mkvextract(1)로
큐시트를 챕터
정보에서 추출하고
다음 트랙의 데이터를
파일명이 트랙의 출력
이름이고 확장자가 '.cue'
인 파일에 태그로
기록합니다.
--raw
컨테이너에서
원시 데이터를 파일로
추출합니다.
--fullraw
플래그와 다르게 이
플래그는 CodecPrivate 요소의
내용이 그 파일에
기록되지 않습니다. 이
모드는 모든 CodecIDs와
동작합니다. 그 외에
mkvextract(1)가 지원하지 않는
CodecIDs에서도 동작이
됩니다. 다만 그 결과로
나오는 파일은 아마도
사용하지 못할
것입니다.
--fullraw
원시 데이터를
컨테이너에 넣지 않고
단순한 파일로
추출합니다. CodecPrivate
요소의 내용은 만약
트랙이 그런 헤더
요소를 포함하고
있으면 파일에 먼저
기록될 것입니다. 이
모드는 모든 CodecIDs과
mkvextract(1) 가 지원하지
않는 CodecIDs에서도
동작하지만 그 결과로
나오는 파일은 아마도
사용하지 못할
것입니다.
TID:출력이름
소스 파일에
TID
ID의 트랙이 있으면
출력이름 파일로
추출합니다. 이 옵션은
여러 번 사용할 수
있습니다. 트랙 ID는
mkvmerge(1)'s
--identify 옵션으로
나오는 것과 같습니다.
각 출력 이름은 한
번만 사용해야 합니다.
RealAudio와 RealVideo 트랙은
예외적입니다. 다른
트랙들에 같은 이름을
사용하면 해당
트랙들은 같은 파일에
저장이 될 것입니다.
예:
$ mkvextract input.mkv tracks 0:video.h264 2:output-two-vobsub-tracks.idx 3:output-two-vobsub-tracks.idx
첨부 파일 추출
모드
구문: mkvextract
소스-파일명
attachments [옵션]
AID1:출력명1
[AID2:출력명2 ...]
AID:출력이름
소스 파일에 ID
AID의 첨부 파일이
있으면
출력이름
파일로 추출합니다.
출력이름이 없으면
소스 Matroska 파일 안의 첨부
파일명을 대신
사용합니다. 이 옵션은
여러 번 사용할 수
있습니다. 첨부 파일 ID는
mkvmerge(1)'s
--identify 옵션으로
나오는 출력과
같습니다.
챕터 추출 모드
구문: mkvextract
소스-파일명
챕터
[옵션]
출력-파일명.xml
-s, --simple
챕터 정보를 OGM
도구에서 사용되는
단순 형식(CHAPTER01=...
CHAPTER01NAME=...)으로 내보냅니다.
이 모드에서 몇몇
정보는 폐기되어야만
합니다. 기본값은
챕터를 XML 형식으로
출력하는 것입니다.
--simple-language 언어
간단한 형식이
활성화된 경우
mkvextract(1)는
챕터 아톰에 두 개
이상의 챕터 이름이
있어도, 마주치는 각
챕터 아톰에 대해 단일
항목만 출력합니다.
기본적으로
mkvextract(1)는 그
언어와 상관없이 각
아톰에 대해 찾은 첫
번째 챕터 이름을
사용합니다.
이 옵션을 사용시
아톰이 둘 이상의 챕터
이름을 포함하는 경우,
출력할 챕터 이름을
결정할 수 있습니다.
언어 매개 변수는 ISO 639-1
또는 ISO 639-2 코드여야
합니다.
The chapters are written to specified output file. By default the
XML format understood by mkvmerge(1) is used. If no chapters are
found in the file, the output file is not created.
태그 추출 모드
Syntax: mkvextract source-filename
tags [options]
output-filename.xml
The tags are written to specified output file in the XML format
understood by mkvmerge(1). If no tags are found in the file, the
output file is not created.
큐시트 추출 모드
Syntax: mkvextract source-filename
cuesheet [options]
output-filename.cue
The cue sheet is written to specified output file. If no chapters
or tags are found in the file, the output file is not created.
타임스탬프 추출
모드
Syntax: mkvextract source-filename
timestamps_v2 [options]
TID1:dest-filename1
[TID2:dest-filename2 ...]
TID:출력이름
Causes extraction of the timestamps for the track with
the ID
TID into the file
outname if such a track exists in the
source file. This option can be given multiple times. The track IDs are the
same as the ones output by
mkvmerge(1)'s
--identify option.
예:
$ mkvextract input.mkv timestamps_v2 1:ts-track1.txt 2:ts-track2.txt
큐 추출 모드
Syntax: mkvextract source-filename
cues [options]
TID1:dest-filename1
[TID2:dest-filename2 ...]
TID:대상 파일명
Causes extraction of the cues for the track with the ID
TID into the file
outname if such a track exists in the source
file. This option can be given multiple times. The track IDs are the same as
the ones output by
mkvmerge(1)'s
--identify option and not the
numbers contained in the CueTrack element.
The format output is a simple text format: one line per CuePoint
element with key=value pairs. If an optional element is not present in a
CuePoint (e.g. CueDuration) then a dash will be output as the value.
예:
timestamp=00:00:13.305000000 duration=- cluster_position=757741 relative_position=11
가능한 키:
타임스탬프
The cue point's timestamp with nanosecond precision. The
format is HH:MM:SS.nnnnnnnnn. This element is always set.
지속 시간
The cue point's duration with nanosecond precision. The
format is HH:MM:SS.nnnnnnnnn.
클러스터_위치
The absolute position in bytes inside the Matroska file
where the cluster containing the referenced element starts.
Note
Inside the Matroska file the CueClusterPosition is relative to the segment's
data start offset. The value output by
mkvextract(1)'s cue extraction
mode, however, contains that offset already and is an absolute offset from the
beginning of the file.
상대적인_위치
The relative position in bytes inside the cluster where
the BlockGroup or SimpleBlock element the cue point refers to starts.
Note
Inside the Matroska file the CueRelativePosition is relative to the cluster's
data start offset. The value output by
mkvextract(1)'s cue extraction
mode, however, is relative to the cluster's ID. The absolute position inside
the file can be calculated by adding cluster_position and relative_position.
예:
$ mkvextract input.mkv cues 1:cues-track1.txt 2:cues-track2.txt
보기
Extracting both chapters and tags in their respective XML formats
at the same time:
$ mkvextract movie.mkv chapters movie-chapters.xml tags movie-tags.xml
Extracting a couple of tracks and their respective timestamps at
the same time:
$ mkvextract "Another Movie.mkv" tracks 0:video.h265 "1:main audio.aac" "2:director's comments.aac" timestamps_v2 "0:timestamps video.txt" "1:timestamps main audio.txt" "2:timestamps director's comments.txt"
Extracting chapters in the Ogg/OGM format and re-encoding a text
subtitle track to another character set:
$ mkvextract "My Movie.mkv" chapters --simple "My Chapters.txt" tracks -c MS-ANSI "2:My Subtitles.srt"
텍스트 파일과
문자셋 변환
For an in-depth discussion about how all tools in the MKVToolNix
suite handle character set conversions, input/output encoding, command line
encoding and console encoding please see the identically-named section in
the mkvmerge(1) man page.
출력 파일 형식
The decision about the output format is based on the track type,
not on the extension used for the output file name. The following track
types are supported at the moment:
A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC
All AAC files will be written into an AAC file with ADTS
headers before each packet. The ADTS headers will not contain the deprecated
emphasis field.
A_AC3, A_EAC3
These will be extracted to raw AC-3 files.
A_ALAC
ALAC tracks are written to CAF files.
A_DTS
These will be extracted to raw DTS files.
A_FLAC
FLAC tracks are written to raw FLAC files.
A_MPEG/L2
MPEG-1 Audio Layer II streams will be extracted to raw
MP2 files.
A_MPEG/L3
These will be extracted to raw MP3 files.
A_OPUS
Opus tracks are written to OggOpus files.
A_PCM/INT/LIT, A_PCM/INT/BIG
Raw PCM data will be written to a WAV file. Big-endian
integer data will be converted to little-endian data in the process.
A_REAL/*
RealAudio tracks are written to RealMedia files.
A_TRUEHD, A_MLP
These will be extracted to raw TrueHD/MLP files.
A_TTA1
TrueAudio tracks are written to TTA files. Please note
that due to Matroska's limited timestamp precision the extracted file's header
will be different regarding two fields: data_length (the total number
of samples in the file) and the CRC.
A_VORBIS
Vorbis 오디오는 OggVorbis
파일로 기록될
것입니다.
A_WAVPACK4
WavPack tracks are written to WV files.
S_HDMV/PGS
PGS subtitles will be written as SUP files.
S_HDMV/TEXTST
S_KATE
Kate streams will be written within an Ogg
container.
S_TEXT/SSA, S_TEXT/ASS, S_SSA, S_ASS
SSA and ASS text subtitles will be written as SSA/ASS
files respectively.
S_TEXT/UTF8, S_TEXT/ASCII
Simple text subtitles will be written as SRT files.
S_VOBSUB
VobSub subtitles will be written as SUB files along with
the respective index files, as IDX files.
S_TEXT/USF
USF text subtitles will be written as USF files.
S_TEXT/WEBVTT
WebVTT text subtitles will be written as WebVTT
files.
V_MPEG1, V_MPEG2
MPEG-1 and MPEG-2 video tracks will be written as MPEG
elementary streams.
V_MPEG4/ISO/AVC
H.264 / AVC video tracks are written to H.264 elementary
streams which can be processed further with e.g. MP4Box from the GPAC
package.
V_MPEG4/ISO/HEVC
H.265 / HEVC video tracks are written to H.265 elementary
streams which can be processed further with e.g. MP4Box from the GPAC
package.
V_MS/VFW/FOURCC
Fixed FPS video tracks with this CodecID are written to
AVI files.
V_REAL/*
RealVideo tracks are written to RealMedia files.
V_THEORA
Theora streams will be written within an Ogg
container
V_VP8, V_VP9
VP8 / VP9 tracks are written to IVF files.
태그
Tags are converted to a XML format. This format is the
same that
mkvmerge(1) supports for reading tags.
첨부 파일
Attachments are written to they output file as they are.
No conversion whatsoever is done.
챕터
Chapters are converted to a XML format. This format is
the same that
mkvmerge(1) supports for reading chapters. Alternatively
a stripped-down version can be output in the simple OGM style format.
타임스탬프
Timestamps are first sorted and then output as a
timestamp v2 format compliant file ready to be fed to
mkvmerge(1). The
extraction to other formats (v1, v3 and v4) is not supported.
종료 코드
mkvextract(1) exits with one of three exit codes:
•0 -- This exit codes means that extraction
has completed successfully.
•
1 -- In this case
mkvextract(1) has
output at least one warning, but extraction did continue. A warning is
prefixed with the text 'Warning:'. Depending on the issues involved the
resulting files might be ok or not. The user is urged to check both the
warning and the resulting files.
•
2 -- This exit code is used after an error
occurred.
mkvextract(1) aborts right after outputting the error
message. Error messages range from wrong command line arguments over
read/write errors to broken files.
환경 변수
mkvextract(1) uses the default variables that determine the
system's locale (e.g. LANG and the LC_* family). Additional
variables:
MKVEXTRACT_DEBUG, MKVTOOLNIX_DEBUG and its short
form MTX_DEBUG
The content is treated as if it had been passed via the
--debug option.
MKVEXTRACT_ENGAGE, MKVTOOLNIX_ENGAGE and its short
form MTX_ENGAGE
The content is treated as if it had been passed via the
--engage option.
The latest version can always be found at the MKVToolNix
homepage[1].
Moritz Bunkus <moritz@bunkus.org>
개발자
- 1.
- the MKVToolNix homepage
https://mkvtoolnix.download/