mkvmerge(1) mkvmerge - Matroska(TM) mkvmerge [ ] {-o } [1] {1} [[2] {2}] [@-.json] ( ) Matroska(TM); Matroska(TM)[1]. . , << >>, . -v, --verbose . -q, --quiet . -o, --output - -. , . --split . -w, --webm , WebM. , -- <>. . VP8, VP9 Opus, Vorbis. DocType <>. . mkvmerge(1) , . --title , , . --default-language - , , --language . <<>> -- und. ( ) --segmentinfo -.xml XML. UID , UID , UID . DTD MKVToolNix. XML- . --segment-uid SID1,SID2,... UID . 128- UID UID: "0x" , , 32 . SID =, Matroska, UID . , UID . UID , , UID . UID, , UID. ( ) --chapter-language - ISO 639-2, . 'eng'. . , , , ., MP4 OGM. , , --generate-chapters. --chapter-charset , UTF-8 . , , mkvmerge(1) . , , Ogg/OGM MP4. . --chapter-sync d[,o[/p]] d . --sync -2 ( << >>). o/p: o/p, . p 1. o p . : ( d = 0 o/p = 1.0). , , . --generate-chapters mkvmerge(1) . : o 'when-appending' - , . <<:>> <<-:>>. (, <<+>>). mkvmerge(1) , , . . . o 'interval:time-spec' -- time-spec. HH: MM: SS.nnnnnnnnn , 's', 'ms' 'us7'. : --generate-chapters interval:45s --generate-chapters-name-template. --chapter-language, --generate-chapters. --generate-chapters-name-template , --generate-chapters. , "Chapter ". , , . <<>> . <<>> . <<>> <<>> . . , , . <<'>>, , <<>>. , . , , . , '%H:%M:%S'. : o %h - o %H - , o %m - o %M - , o %s - o %S - , o %n - o %<1-9>n - (, %3n) --cue-chapter-name-format mkvmerge(1) CUE . CUE PERFORMER TITLE . mkvmerge(1) . , . , mkvmerge(1) "%p - %t" (, , , ). , , -, , - : o %p PERFORMER, o %t TITLE, o %n o %N , < 10. --chapters - -. . --global-tags - -. . ( ) --track-order FID1:TID1,FID2:TID2,... , . , . (FID1), , 0. (TID1) . , , , . , . , . . --cluster-length . spec n d <>. , mkvmerge(1) n . -- 65535. d <>, mkvmerge(1) d . d -- <<100 >> <<32000 >>. mkvmerge(1) 65535 5000 . , , , . . --clusters-in-meta-seek mkvmerge(1) , . Matroska(TM). --timestamp-scale . 1000..10000000 -1. mkvmerge(1) 1000000, , 1 . , , mkvmerge(1) , . , . -1, mkvmerge(1) , - . --enable-durations . . --no-cues mkvmerge(1) cue, AVI. Matroska(TM) cue, , , . , . --cues, . --no-date mkvmerge(1) "" . C . --disable-lacing . , . . --disable-track-statistics-tags mkvmerge(1) . , . : BPS, DURATION, NUMBER_OF_BYTES NUMBER_OF_FRAMES. mkvmerge(1) . --disable-language-ietf mkvmerge(1) IETF BCP 47 , . , . --normalize-language-ietf IETF BCP 47 <>, <> off. . , , . , , <> <> <> <>. . , , . , , <> <>, <>, <> . --stop-after-video-ends , . , , ( ) --split . , . , . mkvmerge(1) : 1. . : --split [size:]d[k|m|g] : --split size:700m --split 150000000 d <> <> <>, , , . . , . 'size:' . 2. . : --split [duration:]HH:MM:SS.nnnnnnnnn|ds : --split duration:00:60:00.000 --split 3600s HH:MM:SS.nnnnnnnnn d, <> . HH -- , MM -- , SS -- , nnnnnnnnn -- . , . . , , . 'duration:' . 3. . : --split timestamps:A[,B[,C...]] : --split timestamps:00:45:00.000,01:20:00.250,6300s A, B, C . . , , (. ). . , , . , . 'timestamps:' . 4. , , . Syntax: --split parts:start1-end1[,[+]start2-end2[,[+]start3-end3...]] : 1. --split parts:00:01:20-00:02:45,00:05:50-00:10:30 2. --split parts:00:01:20-00:02:45,+00:05:50-00:10:30 3. --split parts:-00:02:45,00:05:50- parts mkvmerge(1) . , , parts: . , --split (, 00:01:20 80s ). , . , (. 3). , , mkvmerge(1) (. 3). . , . +. mkvmerge(1) , , . , , . 1 mkvmerge(1) . 00:01:20 00:02:45. 00:05:50 00:10:30. 2 mkvmerge(1) . 00:01:20 00:02:45, 00:05:50 00:10:30. 3 mkvmerge(1) . 00:02:45. 00:05:50 . , mkvmerge(1) . , . , , mkvmerge(1) , . 5. , /, . : --split parts-frames:start1-end1[,[+]start2-end2[,[+]start3-end3...]] : 1. --split parts-frames:137-258,548-1211 2. --split parts-frames:733-912,+1592-2730 3. --split parts-frames:-430,2512- parts-frames mkvmerge(1) /, . parts-frames: . /. 1. , . , (. 3). , , mkvmerge(1) (. 3). . , . +. mkvmerge(1) , , . , , . , mkvmerge(1) . , . , / , mkvmerge(1) , . 1 mkvmerge(1) . , 137, 258. 548 1211. 2 mkvmerge(1) . , 733 912, , 1592 2730. 3 mkvmerge(1) . 430. 2512 . . , . , , Matroska(TM). Matroska(TM) ( ) ( ). mkvmerge . : 25- , 50 ( ). 6. /. : --split frames:A[,B[,C...]] : --split frames:120,237,891 A, B, C . 1. / . , / , . , . 'frames:' . . , . , , Matroska(TM). Matroska(TM) ( ) ( ). mkvmerge . : 25- , 50 ( ). 7. . : --split chapters:all or --split chapters:A[,B[,C...]] : --split chapters:5,8 A, B, C . 1. . , , . , 0s, . , all. 'chapters:' . Matroska(TM) , << >> << >>. . , . printf, <<%d>>, , . <<%02d>>. , . , <<-%03d>>: <<-o output.mkv>> <>' . . , <<-%03d>>. <<%c>>, . , <<%c>>, <<-%03d>> . --link . . --link-to-previous segment-UID UID , segment-UID. . SID =, Matroska, UID . --link-to-next segment-UID UID , segment-UID. . SID =, Matroska, UID . --append-mode . mode : "file" "track". mkvmerge ( 'track2_1') ( 'file2') ( 'track1_1') ( 'file1'), 'track2_1' . 'file' , 'file1', , 'track1_1'. -- 'track1_1'. , mkvmerge , . 'file'. 'file' , ; , AVI MP4. 'track' , , , VOB EVO. , "file" , "track". --append-to SFID1:STID1:DFID1:DTID1[,...] , . : , , . , << >> << >>, , . , << >> << >>, , . , . . , mkvmerge -o output.mkv part1.mkv +part2.mkv. + <<+>> , . <<+>> . : $ mkvmerge -o .mkv 1.mkv + 2.mkv $ mkvmerge -o .mkv 1.mkv +2.mkv [ 1 2 ] , , . <<+>> . : $ mkvmerge -o .mkv 1.mkv + 2.mkv $ mkvmerge -o .mkv '[' 1.mkv 2.mkv ']' = ( MPEG, VOB) mkvmerge(1) , , (, <>, <>, <> . .) , . , . . <<=>>, mkvmerge . <<=>> . : $ mkvmerge -o .mkv = 1.vob $ mkvmerge -o .mkv =1.vob ( 1 2 ) , , , . , , VOB, DVD MPEG. , , , AVI MP4. mkvmerge(1) , =. : $ mkvmerge -o .mkv = .mkv $ mkvmerge -o .mkv '(' .mkv ')' : 1. . 2. . , , . 3. . , , . ( ) --attachment-description . --attach-file --attach-file-once. --attachment-mime-type MIME MIME . --attach-file --attach-file-once. MIME , , IANA[2]. MIME . MIME, . --attachment-name , . , , --attach-file --attach-file-once. --attach-file -, --attach-file-once - Matroska(TM). MIME. , , --attach-file, , , --attach-file-once, . , . mkvextract(1) Matroska(TM). --enable-legacy-font-mime-types MIME . , <> TrueType <>. , MIME , , MIME . MIME: <>, <> <>; <> <>, <>. , -a, --audio-tracks [!]n,m,... n, m . -- , --identify. (. ). : . ISO 639-2. , . : . !, : , , !. -d, --video-tracks [!]n,m,... n, m . -- , --identify. (. ). : . ISO 639-2. , . !, : , , !. -s, --subtitle-tracks [!]n,m,... n, m . -- , --identify. (. ). : . ISO 639-2. , . !, : , , !. -b, --button-tracks [!]n,m,... n, m . -- , --identify. (. ). : . ISO 639-2. , . !, : , , !. --track-tags [!]n,m,... n, m . -- , --identify (. ). . : . !, : , !. -m, --attachments [!]n[:all|first],m[:all|first],... n, m . . . ':all' ( , ) ':first'. , , ':all', , . , . . !, : , !. -A, --no-audio . -D, --no-video . -S, --no-subtitles . -B, --no-buttons . -T, --no-track-tags . --no-chapters . -M, --no-attachments . --no-global-tags . -y, --sync TID:d[,o[/p]] TID d. , , --identify (. ). o/p: o/p, . p 1. o p . : ( d = 0 o/p = 1.0). , , . --cues TID:none|iframes|all , CUE () , (. ). 'none' cue. 'iframes' (= I- ) cue. 'all' mkvmerge(1) cue , . -- <> <> . --no-cues, cue, --cues. , , . --default-track-flag TID[:bool] << >> (. ), bool 1 . , , . , , << >>, , , , . , , . --track-enabled-flag TID[:bool] << >> (. ) bool (0 1, 1, ). , , . , << >>. , , . --forced-display-flag TID[:bool] << >> (. ), bool 1 . , . , , . --hearing-impaired-flag TID[:bool] << >> (. ), bool 1 . , . , , . --visual-impaired-flag TID[:bool] <<>> (. ), bool 1 . , . , , . --text-descriptions-flag TID[:bool] << >> (. ), bool 1 . , , . , , . --original-flag TID[:bool] << >> (. ), bool 1 . , ( ). , , . --commentary-flag TID[:bool] <<>> (. ), bool 1 . , . , , . --track-name TID: (. ) name. --language TID: (. ). ISO 639-2, ISO 639-1. . , ISO 639-2, --list-languages. , , . -t, --tags TID:- TID -. . --aac-is-sbr TID[:0|1] mkvmerge(1), ID TID -- SBR AAC ( HE-AAC AAC+). , ) ( Matroska(TM)) ) AAC SBR AAC. , AAC SBR AAC AAC. AAC mkvmerge(1) . SBR AAC . , . Matroska(TM), CodecID SBR AAC. , CodecID , , . mkvmerge AAC SBR, ':0' . --audio-emphasis TID:n|symbolic-name TID. n ( 0 16) . --list-audio-accession. --reduce-to-core TID , . mkvmerge(1) , . mkvmerge(1) , . DTS. TrueHD, AC-3, , , . DTS , HD - TrueHD. --remove-dialog-normalization-gain TID , ( ). mkvmerge(1) (gain), . AC-3, DTS TrueHD. --timestamps TID:- , file-name. , mkvmerge(1) . . --default-duration TID:x . , . x 's', 'ms', 'us', 'ns', 'fps', 'p' 'i', , , , , << >>, << >> << >> . x . , mkvmerge / , , AVC/H.264 MPEG-2. . --fix-bitstream-timing-information TID[:0|1] mkvmerge(1) ( /), . . : (. --default-duration), . AVC/H.264. --compression TID:n , . , . : <>, <> <>/<>. <>/<> , << >> MPEG4 part 2. <>. , . , <>, . , -f, --fourcc TID:FourCC FourCC. "MS compatibility mode". --display-dimensions TID:widthxheight Matroska(TM) , , : . , ., <<1:640x480>>. --aspect-ratio --aspect-ratio-factor (. ). . --aspect-ratio TID:ratio|width/height Matroska(TM) , , : . mkvmerge(1) , . , '/', '16/9'. --aspect-ratio-factor --display-dimensions (. ). . --aspect-ratio-factor TID:factor|n/d -- . , . --aspect-ratio --display-dimensions (. ). . --cropping TID:,,, . --color-matrix-coefficients TID:n , , . n 0 10. : 0: GBR, 1: BT709, 2: unspecified, 3: reserved, 4: FCC, 5: BT470BG, 6: SMPTE 170M, 7: SMPTE 240M, 8: YCOCG, 9: BT2020 non-constant luminance, 10: BT2020 constant luminance --color-bits-per-channel TID:n . 0 , . --chroma-subsample TID:hori,vert , Cr Cb /. : 4:2:0 TID:1,1. --cb-subsample TID:hori,vert , Cb . --chroma-subsample. : 4:2:1, --chroma-subsample TID:1,0 Cb TID:1,0. --chroma-siting TID:hori,vert , / (0: , 1: , 2: ). --color-range TID:n (0: , 1: , 2: ( ), 3: MatrixCoefficients/TransferCharacteristics). --color-transfer-characteristics TID:n . : 0: reserved, 1: ITU-R BT.709, 2: unspecified, 3: reserved, 4: gamma 2.2 curve, 5: gamma 2.8 curve, 6: SMPTE 170M, 7: SMPTE 240M, 8: linear, 9: log, 10: log sqrt, 11: IEC 61966-2-4, 12: ITU-R BT.1361 extended color gamut, 13: IEC 61966-2-1, 14: ITU-R BT.2020 10 bit, 15: ITU-R BT.2020 12 bit, 16: SMPTE ST 2084, 17: SMPTE ST 428-1; 18: ARIB STD-B67 (HLG) --color-primaries TID:n . : 0: reserved, 1: ITU-R BT.709, 2: unspecified, 3: reserved, 4: ITU-R BT.470M, 5: ITU-R BT.470BG, 6: SMPTE 170M, 7: SMPTE 240M, 8: FILM, 9: ITU-R BT.2020, 10: SMPTE ST 428-1, 22: JEDEC P22 phosphors --max-content-light TID:n (Maximum Content Light Level) (/2). n . --max-frame-light TID:n (Maximum Frame-Average Light Level) (/2). n . --chromaticity-coordinates TID:red-x,red-y,green-x,green-y,blue-x,blue-y // , CIE 1931. --white-color-coordinates TID:x,y , CIE 1931. --max-luminance TID:float (/2). 9999,99. --min-luminance TID:float (/^2). 999,99. --projection-type TID:method . : 0 ( ), 1 ( ), 2 ( ) 3 ( ). --projection-private TID: , . <<0x>> , . --projection-pose-yaw TID:float . --projection-pose-pitch TID:float . --projection-pose-roll TID:float . --field-order TID:n TID. : 0: ; 1: , ; 2: ; 6: , ; 9: , ; 14: , --stereo-mode TID:n|symbolic-name TID. n 0 14 . --list-stereo-modes. , --sub-charset TID: UTF-8 UTF-8 . , . , Matroska(TM) Kate, UTF-8. , , mkvmerge(1) . , , . -i, --identify - mkvmerge(1) , , , . , . --identification-format. -J - <<--identification-format json --identify ->>. -F, --identification-format , --identify. : text ( , ) json. 1. text . (, , . .). . , mkvmerge(1) (. --ui-language). 2. json JSON. JSON, : mkvmerge-identification-output-schema-v18.json[3] JSON , . --probe-range-percentage , MPEG (.vob, .m2ts), , , . 0,3% 10 , , . , , , . 10 . --list-audio-emphasis --audio-emphasis. --list-languages ISO 639-2, --language. --list-stereo-modes --stereo-mode. -l, --list-types . --priority , mkvmerge(1). -- 'lowest', 'lower', 'normal', 'higher' 'highest'. , 'normal'. Unix- mkvmerge(1) nice(2). 'higher' 'highest'. Windows . " " , mkvmerge(1) - . --command-line-charset . . : --title, --track-name --attachment-description. --output-charset , . . -r, --redirect-output - file-name . , , : . , --output-charset, . --flush-on-close , , , . . , , mkvmerge , . #2469 #2480 MKVToolNix, . --ui-language (., <> ). <> , . --abort-on-warnings mkvmerge . 1. --deterministic seed , , mkvmerge(1) , . , <<>> . . - : 1. mkvmerge(1), libEBML libMatroska. 2. -. 3. ( --output ...). mkvmerge(1) , , . --debug . . --engage . mkvinfo --engage list. . --gui-mode . . -- '#GUI#message'. , '#GUI#message#key1=value1#key2=value2...'. . @-.json options-file. . --capabilities , . . , , . : o <> -- FLAC FLAC , Ogg(TM) Matroska(TM). -h, --help . -V, --version . , mkvmerge(1) . , -o. ( ) -l. . , << >>, . . : 1. , . , --command-line-charset, --output --title. . 2. , . . , ( ), , . : --no-chapters --chapter-charset. : --default-duration --language. . , . <<- >> : $ mkvmerge -o .mkv --title '' .avi --title '' , --language , . , , , , : $ mkvmerge -o .mkv --language 0:fre francais.ogg --language 0:deu deutsch.ogg , -.avi , <<-.wav>>. OggVorbis(TM): $ oggenc -q4 -o-.ogg -.wav : $ mkvmerge -o ---.mkv -.avi -.ogg AVI , ( mkvmerge(1) ). , $ mkvmerge -o ---.mkv -A -.avi -.ogg , <>. : $ oggenc -q4 -o----.ogg ----.wav $ mkvmerge -o -.mkv ---.mkv ----.ogg $ mkvmerge -o -.mkv -A -.avi -.ogg ----.ogg mplayer(TM) . ( ), mplayer(TM)' , '-vid' '-aid'. 0 . , . Vorbis $ mkvmerge --identify .ogg : $ mkvmerge -o .mkv -A .avi -y 12345:200 .ogg 200 12345, 'out of sync.ogg'. , . , - . , , . , 0,2 77340 . 29,97 /c 0,2 6 . $ mkvmerge -o .mkv -y 23456:0,77346/77340 .mkv . . Windows ( SubRipper(TM)) subrip(TM), transcode(1) <>. : 1. : $ tccat -i /path/to/copied/dvd/ -T 1 -L | tcextract -x ps1 -t vob -a 0x20 | subtitle2pgm -o 2. PGM gocr: $ pgm2txt 3. : $ ispell -d american *txt 4. SRT: $ srttool -s -w -i .srtx -o .srt mkvmerge(1): $ mkvmerge -o .mkv .avi .srt , . ISO 639-2 . mkvmerge(1) : $ mkvmerge --list-languages . , Matroska(TM) , 2 3. $ mkvmerge -o --.mkv --language 2:ger --language 3:dut --.mkv , --language . , , . , , , , . $ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut --default-track-flag 3 without-lang-codes.mkv --language 0:eng english.srt --default-track-flag 0 --language 0:fre french.srt , mkvinfo(1), , , . . $ mkvmerge -o -.mkv --compression -1:none -.avi --compression -1:none .srt mkvmerge(1) , . , mkvmerge(1) --identify. : $ mkvmerge -i v.mkv 'v.mkv': Matroska(TM) ID 0: video (V_MS/VFW/FOURCC, DIV3) ID 1: audio (A_MPEG/L3) , MKV, . , , . , . 'file1.ext' 'mkvmerge --identify' , 'file1.ext' . ID : o AVI: 0. , 1. o AAC, AC-3, MP3, SRT WAV: <<>> 0. o : , , 0. , , 'TID'. : -- audio-tracks, --video-tracks, --subtitle-tracks, --button-tracks --track-tags. , . <<-1>> , . '-2' . --sync . --sync -2:... --chapter-sync .... Matroska(TM) : , <>, ISO 639-2 alpha 3, <>, IETF BCP 47. mkvmerge(1), , BCP 47. mkvmerge(1) <> BCP 47, . JSON <> language_ietf. mkvmerge(1) <>, <> <> ( ). ; ISO 639-2 BCP 47. , sr-Cyrl-RS, <> sr-Cyrl-RS, <> srp. ( Matroska, XML . .), <<...LanguageIETF">> . "<<..LanguageIETF>> <<...Language>>. --disable-language-ietf, . --normalize-language-ietf , . MKVToolNix, mkvmerge(1). Matroska(TM) UTF-8. , mkvmerge(1) , , , , UTF-8. , mkvmerge(1) UTF-8, , - --ui-language , Matroska(TM). mkvmerge(1) (: BOM) . , , , mkvmerge(1) . (BOM) , BOM, UTF. mkvmerge(1) : UTF-8, UTF-16 Little Big Endian, UTF-32 Little Big Endian. BOM UTF-8. , (, --sub-charset), . Linux Unix- , macOS Unix- mkvmerge(1) setlocale()3, , , LANG, LC_ALL LC_CYPE. UTF-8 ISO-8859-* . Windows Windows , , GetACP(). GetCommandLineW(), Unicode. --command-line-charset Windows. : 1. --redirect-output, UTF-8. --output-charset. 2. cmd.exe , mkvinfo file.mkv > info.txt, UTF-8 . 3. ( ) Windows WriteConsoleW() --output-charset . Unicode, (, Windows). : o --sub-charset , , (. Ogg), o --chapter-charset , , (, Ogg , . .; MP4 ), o --command-line-charset - , o --output-charset , , --redirect-output. Windows- . Windows UTF-8 --redirect-output cmd.exe, , mkvinfo file.mkv > info.txt. , mkvmerge(1) . , , , . JSON. JSON, JSON. UTF-8. (BOM), , . JSON JSON, RFC 7159[4]. <<@>>. <> JSON , , <>: [ "-o", "c:\\Matroska\\ .mkv", "--title", "#65", "-A", ".avi", ".ogg" ] <>. Matroska(TM) , , . , , Matroska(TM). , , Matroska(TM), << >>, << >> . 128- UID . UID mkvmerge(1). UID (: SID) / . mkvinfo(1) SID, . , 0, , . , (, ). , 0 . mkvmerge(1) . , --link. , . , , mkvmerge(1) SID. --link-to-previous --link-to-next. SID , mkvinfo(1): 16 0x00 0xff, '0x', , '0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93'. : 16 0x00 0xff '0x' , '41da7366d9cfb21eae78ebb45ecab393'. , SID, --link-to-previous, SID, --link-to-next. , SID. Matroska(TM) , . , , . , mkvinfo(1), -- . ('eng'), . , --language 0:eng , mkvinfo(1). , Matroska(TM), SSA TrueType(TM), . Matroska(TM). , . ( <<>>) ( << TrueType(TM)>>). TrueType(TM) : $ mkvmerge -o output.mkv -A video.avi sound.ogg \ --attachment-description "Me and the band behind the stage in a small get-together" \ --attachment-mime-type image/jpeg \ --attach-file me_and_the_band.jpg \ --attachment-description "The real rare and unbelievably good looking font" \ --attachment-mime-type application/octet-stream \ --attach-file really_cool_font.ttf Matroska(TM) , mkvmerge(1) . , , , --attachments --no-attachments. Matroska(TM) , , OGM. Matroska(TM)[1]. mkvmerge(1) . << >> , OGM. -- XML, Matroska(TM). mkvmerge(1) (, MP4, Ogg, Blu-rays DVD). , <> <> . , . : CHAPTER01=00:00:00.000 CHAPTER01NAME=Intro CHAPTER02=00:02:30.000 CHAPTER02NAME=Baby prepares to rock CHAPTER03=00:02:42.300 CHAPTER03NAME=Baby rocks the house mkvmerge(1) ChapterAtom Matroska(TM). - ChapterTrackNumbe, , . , . , mkvmerge(1) . XML XML, : 00:00:30.000 00:01:20.000 A short chapter eng 00:00:46.000 00:01:10.000 A part of that short chapter eng , : 1. , 2. , 3. . mkvtoolnix , doc . XML, : Chapters (master) EditionEntry (master) EditionUID (unsigned integer, valid range: 1 <= value) EditionFlagHidden (unsigned integer, valid range: 0 <= value <= 1) EditionFlagDefault (unsigned integer, valid range: 0 <= value <= 1) EditionFlagOrdered (unsigned integer, valid range: 0 <= value <= 1) ChapterAtom (master) ChapterAtom (master) ChapterUID (unsigned integer, valid range: 1 <= value) ChapterTimeStart (unsigned integer) ChapterTimeEnd (unsigned integer) ChapterFlagHidden (unsigned integer, valid range: 0 <= value <= 1) ChapterFlagEnabled (unsigned integer, valid range: 0 <= value <= 1) ChapterSegmentUID (binary, valid range: 1 <= length in bytes) ChapterSegmentEditionUID (unsigned integer, valid range: 1 <= value) ChapterPhysicalEquiv (unsigned integer) ChapterTrack (master) ChapterTrackNumber (unsigned integer, valid range: 1 <= value) ChapterDisplay (master) ChapterString (UTF-8 string) ChapterLanguage (UTF-8 string) ChapterCountry (UTF-8 string) ChapterProcess (master) ChapterProcessCodecID (unsigned integer) ChapterProcessPrivate (binary) ChapterProcessCommand (master) ChapterProcessTime (unsigned integer) ChapterProcessData (binary) Blu-ray mkvmerge(1) Blu-ray. MPLS --chapters. : --chapters /srv/blurays/BigBuckBunny/BDMV/PLAYLIST/00001.mpls DVD MKVToolNix libdvdread(TM), mkvmerge(1) DVD. DVD --chapters. DVD- , , . 1. : --chapters /srv/dvds/BigBuckBunny/VIDEO_TS:2 mkvmerge(1) . , , , . mkvmerge(1) Matroska(TM), --no-chapters. ( Matroska(TM), Ogg, MP4, ) , ChapterEdition. Matroska(TM) XML, UID , ChapterEdition. , mkvextract(1) XML, . Matroska(TM) : KEY=VALUE. Matroska(TM) , KEY, VALUE . example-tags-2.xml , . Matroska(TM) . : , . Matroska(TM)[5] . , Targets Matroska(TM) , UID, , , mkvmerge(1) . UID , mkvmerge(1) ( , Matroska(TM)) , Matroska(TM). , UID , mkvmerge(1). mkvmerge(1) , Matroska(TM): --global-tags --tags. , , --global-tags, , Targets. , --tags, UID, mkvmerge(1) , TID --tags. , , AVI. mkvmerge --identify file.avi , ( UID!) 0. , , Targets mkvmerge(1): $ mkvmerge -o .mkv --tags 0:.xml .avi mkvmerge(1) XML. Matroska(TM)[5]. , MKVToolNix example-tags-2.xml, . : o . o XML. o . Matroska(TM) : UTF-8 . , . XML mkvmerge(1) . XML '@', . Matroska(TM). , Base64. , ASCII , , . mkvextract(1) , Base64 . , Matroska(TM). mkvmerge(1) , . XML XML, : Tags (master) Tag (master) Targets (master) TargetTypeValue (unsigned integer) TargetType (UTF-8 string) TrackUID (unsigned integer) EditionUID (unsigned integer) ChapterUID (unsigned integer) AttachmentUID (unsigned integer) Simple (master) Simple (master) Name (UTF-8 string) TagLanguage (UTF-8 string) DefaultLanguage (unsigned integer) String (UTF-8 string) Binary (binary) XML- << >> Matroska(TM). . << >> , XML. , , --title --timestamp-scale. , , XML. : DateUTC ( << >>), MuxingApp, WritingApp Duration. mkvmerge(1) . XML, : Info (master) SegmentUID (binary, valid range: length in bytes == 16) SegmentFilename (UTF-8 string) PreviousSegmentUID (binary, valid range: length in bytes == 16) PreviousSegmentFilename (UTF-8 string) NextSegmentUID (binary, valid range: length in bytes == 16) NextSegmentFilename (UTF-8 string) SegmentFamily (binary, valid range: length in bytes == 16) ChapterTranslate (master) ChapterTranslateEditionUID (unsigned integer) ChapterTranslateCodec (unsigned integer) ChapterTranslateID (binary) Matroska(TM) Matroska(TM) . mkvmerge(1) . : [ EBML] [ { #1} [ ] [ ] {} {} [ 1] { 2} ... { n} {cue} { #2} {}] . : o 1 1, : , , cue, , 2. mkvmerge(1) - . , . . 2, 1 2. o , , . Matroska(TM) : [ EBML] [ [ ] [ ] [ 1]] , . mkvmerge(1) . . , Matroska(TM). , . , AC-3 , 1536 . , , . , , v1.avi v2.avi, , : $ mkvmerge ... --timestamps 0:__.txt v1.avi +v2.avi , mkvmerge(1). . , , , <<#>>, . v1 . . , : (0 -- ), . FPS -- '.' . , FPS. : # timestamp format v1 assume 27.930 800,1000,25 1500,1700,30 v2 . . , . , . . 25 : # timestamp format v2 0 40 80 v3 , . . , . . 0,0 . , 'gap', . : # timestamp format v3 assume 0.0 25.325 7.530,38.236 gap, 10.050 2.000,38.236 v4 v2. , . - . mkvmerge(1) : o 0 -- , . o 1 -- mkvmerge(1) , . 'Warning:'. , . . o 2 -- . mkvmerge(1) . - , - / - . mkvmerge(1) , (: LANG LC_*). : MKVMERGE_DEBUG, MKVTOOLNIX_DEBUG MTX_DEBUG , --debug. MKVMERGE_ENGAGE, MKVTOOLNIX_ENGAGE MTX_ENGAGE , --engage. mkvinfo(1), mkvextract(1), mkvpropedit(1), mkvtoolnix-gui(1) MKVToolNix[6]. 1. Matroska(TM) https://www.matroska.org/ 2. IANA https://www.iana.org/assignments/media-types/ 3. mkvmerge-identification-output-schema-v18.json https://mkvtoolnix.download/doc/mkvmerge-identification-output- schema-v18.json 4. RFC 7159 https://tools.ietf.org/html/rfc7159 5. Matroska(TM) https://www.matroska.org/technical/specs/index.html 6. MKVToolNix https://mkvtoolnix.download/ MKVToolNix 83.0 2024-03-10 mkvmerge(1)