mkvextract - sávok kivonása Matroska(TM)
fájlokból más fájlokba
mkvextract {source-filename} {mode1} [options]
[extraction-spec1] [mode2] [options] [extraction-spec2] [...]
Ez a program egy Matroska(TM) fájlból bizonyos
részeket más hasznos formátumba von ki. Az első
argumentum a forrásfájl neve, amelynek egy Matroska(TM)
fájlnak kell lennie.
Az összes többi argumentum vagy átvált
egy bizonyos extrahálási módra, vagy
megváltoztatja az aktuálisan aktív mód
beállításait, vagy megadja, hogy melyik fájlba
mit kell extrahálni. Az mkvextract egyazon meghívásakor
többféle mód is használható, ami
lehetővé teszi több dolog egyetlen menetben
történő kinyerését. A legtöbb
opció csak bizonyos üzemmódokban
használható, néhány opció azonban minden
üzemmódra vonatkozik.
Jelenleg támogatott a sávok, tagok,
csatolmányok, fejezetek, CUE lapok, időbélyegek
és cues.
Közös lehetőségek
A következő beállítások minden
üzemmódban rendelkezésre állnak, és ebben
a szakaszban csak egyszer kerülnek ismertetésre.
-f, --parse-fully
Az elemzési módot 'full'-ra
állítja. Az alapértelmezett mód nem elemzi a
teljes fájlt, hanem a meta seek elemeket használja a
forrásfájl szükséges elemeinek
megtalálására. Az esetek 99%-ában ez
elegendő. De olyan fájlok esetében, amelyek nem
tartalmaznak meta seek elemeket, vagy amelyek sérültek, a
felhasználónak esetleg ezt a módot kell
használnia. Egy fájl teljes átvizsgálása
néhány percig is eltarthat, míg a gyors
átvizsgálás csak másodperceket vesz
igénybe.
--command-line-charset karakterkészlet
Beállítja a karakterkészletet,
amelyből a parancssorban megadott karakterláncokat
konvertálni kell. Alapértelmezés szerint a rendszer
aktuális területi beállítása által
megadott karakterkészlet.
--output-charset karakterkészlet
Beállítja azt a karakterkészletet,
amelybe a kimeneti karakterláncokat konvertálja.
Alapértelmezés szerint a rendszer aktuális
területi beállítása által megadott
karakterkészlet.
-r, --redirect-output file-name
Az összes üzenetet a konzol helyett a
fájlnév fájlba írja. Bár ez
könnyen elvégezhető a kimenet
átirányításával, vannak olyan esetek,
amikor szükség van erre az opcióra: amikor a
terminál újraértelmezi a kimenetet, mielőtt
kiírná azt egy fájlba. A --output-charset
karakterkészletet tiszteletben tartja.
--flush-on-close
Megmondja a programnak, hogy az írásra
megnyitott fájlok bezárásakor a memóriában
tárolt összes adatot törölje a
tárolóba. Ez arra használható, hogy
megakadályozza az adatvesztést áramkimaradás
esetén, vagy hogy megkerülje az operációs rendszer
vagy az illesztőprogramok bizonyos problémáit.
Hátránya, hogy a multiplexelés tovább tart, mivel
az mkvmerge a kilépés előtt megvárja, amíg
minden adat kiíródik a tárolóba. Az
előnyök és hátrányok részletes
megvitatásáért lásd az MKVToolNix
hibakövetőjének #2469 és #2480
kérdéseit.
--ui-language code
Kényszeríti a nyelv kód
fordításainak használatát (pl. 'de_DE' a
német fordításokhoz). A 'list' mint kód
megadásával a program kiadja a rendelkezésre
álló fordítások listáját.
--abort-on-warnings
A program megszakítására
utasítja a programot az első figyelmeztetés
megjelenése után. A program kilépési kódja
1 lesz.
--debug topic
A hibakeresés bekapcsolása egy adott
funkcióhoz. Ez az opció csak fejlesztők
számára hasznos.
--engage feature
Kapcsolja be a kísérleti funkciókat.
Az elérhető funkciók listája a mkvextract
--engage list paranccsal kérhető le. Ezek a funkciók
nem használhatók normál helyzetekben.
--gui-mode
Bekapcsolja a GUI módot. Ebben az
üzemmódban speciálisan formázott sorokat adhat ki,
amelyekkel a vezérlő GUI-nak elmondhatja, hogy mi
történik. Ezek az üzenetek a '#GUI#message'
formátumot követik. Az üzenetet kulcs/érték
párok követhetik, mint a
'#GUI#üzenet#key1=value1#key2=value2...'. Sem az üzenetek, sem a
kulcsok nem kerülnek lefordításra, és mindig angol
nyelven kerülnek kiadásra.
-v, --verbose
Legyen bőbeszédű, és mutassa
meg az összes fontos Matroska(TM) elemet olvasás
közben.
-h, --help
Használati információk
megjelenítése és kilépés.
-V, --version
Verzióinformációk
megjelenítése és kilépés.
@options-file.json
További parancssori argumentumokat olvas be a
options-file fájlból. Az ilyen fájlok
támogatott formátumainak teljes magyarázatát
lásd az
mkvmerge(1) man oldal "Opciós
fájlok" című szakaszában.
Szintaxis: mkvextract
forrás-fájlnév
tracks [options]
TID1:dest-fájlnév1
[TID2:dest-fájlnév2 ...]
A következő parancssori opciók állnak
rendelkezésre minden egyes sávhoz a 'tracks' extrakciós
módban. Ezeknek az opcióknak a
sávspecifikáció előtt kell állniuk
(lásd alább), amelyre alkalmazni kell őket.
-c karakterkészlet
Beállítja a következő
szöveges felirat-sáv
átkonvertálásának karakterkészletét.
Csak akkor érvényes, ha a következő sáv
azonosítója szöveges felirat-sávot céloz
meg. Alapértelmezés szerint UTF-8.
--blockadd szint
Csak a BlockAdditions-t tartsa meg ezen a szinten. Az
alapértelmezett beállítás az összes szint
megtartása. Ez az opció csak bizonyos típusú
kodekeket érint, mint például a WAVPACK4.
--kódex
Az
mkvextract(1) a következő
szám fejezetinformációiból és
címkeadataiból egy CUE lap kivonására egy olyan
fájlba, amelynek neve a szám kimeneti neve és a
hozzá csatolt '.cue'.
---nyers
A nyers adatok kivonása egy fájlba, a
körülötte lévő tároló adatok
nélkül. A
--fullraw jelzővel ellentétben ez
a jelző nem okozza a CodecPrivate elem tartalmának a
fájlba írását. Ez az üzemmód minden
CodecID-val működik, még azokkal is, amelyeket az
mkvextract(1) egyébként nem támogat, de az
eredményül kapott fájlok nem biztos, hogy
használhatóak lesznek.
----fullraw
A nyers adatok kivonása egy fájlba, a
körülötte lévő tároló adatok
nélkül. A CodecPrivate elem tartalma kerül
először a fájlba, ha a track tartalmaz ilyen
fejlécelemet. Ez a mód minden CodecID elemmel
működik, még azokkal is, amelyeket az
mkvextract(1) egyébként nem támogat, de az
eredményül kapott fájlok esetleg nem
használhatóak.
TID:outname.
A
TID azonosítóval rendelkező
sáv kivonását okozza a
outname fájlba, ha
létezik ilyen sáv a forrásfájlban. Ez az
opció többször is megadható. A
sávazonosítók megegyeznek az
mkvmerge(1)
--identify opció által kiadottakkal.
Minden kimeneti név csak egyszer használható.
Kivételt képeznek a RealAudio és RealVideo
sávok. Ha ugyanazt a nevet használja
különböző sávokhoz, akkor ezek a
sávok ugyanabba a fájlba lesznek mentve. Példa:
$ mkvextract input.mkv sávok 0:video.h264 2:output-két-vobsub-sáv.idx 3:output-két-vobsub-sáv.idx
Szintaxis: mkvextract
forrás-fájlnév
attachments [options]
AID1:outname1 [AID2:outname2 ...]
AID:külső név
A
AID azonosítóval rendelkező
csatolmány kivonását okozza a
outname
fájlba, ha létezik ilyen csatolmány a
forrásfájlban. Ha a
outname üresen marad, akkor
helyette a forrás Matroska(TM) fájlban lévő
csatolmány neve kerül felhasználásra. Ez az
opció többször is megadható. A csatolmányok
azonosítói megegyeznek az
mkvmerge(1) --identify
opció által kiadottakkal.
Szintaxis: mkvextract
forrás-fájlnév
fejezetek [opciók]
kimenet-fájlnév.xml.
-s, --simple
A fejezetinformációk
exportálása a OGM eszközökben használt
egyszerű formátumban (CHAPTER01=..., CHAPTER01NAME=...). Ebben a
módban néhány információt el kell dobni.
Alapértelmezés szerint a fejezeteket XML. formátumban
adja ki.
--simple-language language
Ha az egyszerű formátum engedélyezve
van, akkor az
mkvextract(1) csak egyetlen bejegyzést ad ki
minden egyes fejezetatomhoz, még akkor is, ha egy fejezetatom
egynél több fejezetnevet tartalmaz. Alapértelmezés
szerint az
mkvextract(1) minden atomhoz az első talált
fejezetnevet fogja használni, függetlenül annak
nyelvétől.
Ezzel az opcióval a felhasználó
meghatározhatja, hogy mely fejezetnevek kerüljenek ki, ha az
atomok egynél több fejezetnevet tartalmaznak. A nyelv
paraméternek ISO 639-1 vagy ISO 639-2 kódnak kell lennie.
A fejezetek a megadott kimeneti fájlba kerülnek
kiírásra. Alapértelmezés szerint az
mkvmerge(1) által értett XML. formátumot
használja. Ha a fájlban nem található fejezet, a
kimeneti fájl nem jön létre.
Szintaxis: mkvextract
forrás-fájlnév
tags [options]
kimenet-fájlnév.xml
-T, --no-track-tags
Exports only tags that aren't track-specific.
A címkék az mkvmerge(1) által
értett XML. formátumban kerülnek a megadott kimeneti
fájlba. Ha a fájlban nem találunk
címkéket, a kimeneti fájl nem jön
létre.
Szintaxis: mkvextract
forrás-fájlnév
táblalap [opciók]
kimenet-fájlnév.cue.
A cue sheet a megadott kimeneti fájlba
íródik. Ha a fájlban nem található
fejezet vagy címke, a kimeneti fájl nem jön
létre.
Szintaxis: mkvextract source-filename
timestamps_v2 [options]
TID1:dest-filename1
[TID2:dest-filename2 ...]
TID:outname.
A
TID azonosítóval rendelkező
sáv időbélyegeinek kivonását okozza a
outname fájlba, ha létezik ilyen sáv a
forrásfájlban. Ez az opció többször is
megadható. A sávazonosítók megegyeznek az
mkvmerge(1) --identify opció által kiadottakkal.
Példa:
$ mkvextract input.mkv timestamps_v2 1:ts-track1.txt 2:ts-track2.txt
Szintaxis: mkvextract
forrás-fájlnév
cues [options]
TID1:dest-fájlnév1
[TID2:dest-fájlnév2 ...]
TID:dest-filename
A
TID azonosítóval rendelkező
sávhoz tartozó cue-ok kivonását okozza a
outname fájlba, ha létezik ilyen sáv a
forrásfájlban. Ez az opció többször is
megadható. A sávazonosítók megegyeznek az
mkvmerge(1) --identify opció által kimeneti
azonosítókkal, nem pedig a CueTrack elemben szereplő
számok.
A kimeneti formátum egyszerű szöveges
formátum: egy sor CuePoint elemenként key=value
párokkal. Ha egy opcionális elem nincs jelen a CuePoint-ban
(pl. CueDuration), akkor értékként egy
kötőjelet kapunk.
Példa:
timestamp=00:00:13.305000000 duration=- cluster_position=757741 relative_position=11
A lehetséges kulcsok a következők:
időbélyegző
A cue pont időbélyege nanoszekundumos
pontossággal. A formátum HH:MM:SS.nnnnnnnnnnnnn. Ez az elem
mindig be van állítva.
időtartam
A jelzőpont időtartama nanoszekundumos
pontossággal. A formátum HH:MM:SS.nnnnnnnnnnnnn.
cluster_position
A Matroska(TM) fájlon belüli
abszolút pozíció bájtokban, ahol a hivatkozott
elemet tartalmazó klaszter kezdődik.
Note
A Matroska(TM) fájlban a CueClusterPosition a szegmens adatainak
kezdő eltolásához viszonyítva van. Az
mkvextract(1) cue extrakciós módja által kimeneti
érték azonban már tartalmazza ezt az eltolást,
és a fájl elejétől számított
abszolút eltolás.
relative_position
A klaszteren belüli relatív
pozíció bájtokban, ahol a BlockGroup vagy SimpleBlock
elem, amelyre a cue point utal, kezdődik.
Note
Az Matroska(TM) fájlban a CueRelativePosition a klaszter adatainak
kezdő eltolásához viszonyítva van. Az
mkvextract(1) cue extrakciós mód által kimeneti
érték azonban a klaszter azonosítójához
viszonyítva van. Az abszolút pozíció a
fájlon belül a cluster_position és a relative_position
összeadásával számítható ki.
Példa:
$ mkvextract input.mkv cues 1:cues-sáv1.txt 2:cues-sáv2.txt
Mind a fejezetek, mind a címkék kivonása a
megfelelő XML. formátumokban egyszerre:
$ mkvextract movie.mkv fejezetek movie-chapters.xml címkék movie-tags.xml
Néhány zeneszám és a hozzájuk
tartozó időbélyegzők egyidejű
kivonása:
$ mkvextract "Another Movie.mkv" trackek 0:video.h265 "1:main audio.aac" "2:rendezői megjegyzések.aac" timestamps_v2 "0:timestamps video.txt" "1:timestamps main audio.txt" "2:időbélyegek rendezői megjegyzések.txt"
Fejezetek kivonása Ogg/OGM formátumban és
szöveges feliratsáv újrakódolása
más karakterkészletbe:
$ mkvextract "My Movie.mkv" chapters --simple "My Chapters.txt" tracks -c MS-ANSI "2:My Subtitles.srt"
Az MKVToolNix csomagban található összes
eszköz karakterkészlet-konverziójának, a be-
és kimeneti kódolásnak, a parancssori
kódolásnak és a konzol kódolásnak a
kezeléséről részletesebben az mkvmerge(1)
man oldal azonos nevű szakaszában olvashat.
A kimeneti formátumról szóló
döntés a sáv típusán alapul, nem pedig a
kimeneti fájlnévhez használt kiterjesztésen.
Jelenleg a következő sávtípusok
támogatottak:
A_AAC/MPEG2/*, A_AAC/MPEG4/*, A_AAC
Minden AAC fájl egy AAC fájlba
íródik, minden csomag előtt ADTS fejléccel. Az
ADTS fejlécek nem tartalmazzák a deprecated emphasis
mezőt.
A_AC3, A_EAC3
Ezeket nyers AC-3 fájlokká kell
kicsomagolni.
A_ALAC
A ALAC zeneszámok CAF fájlokba
íródnak.
A_DTS
Ezeket nyers DTS fájlokká kell
kicsomagolni.
A_FLAC
A FLAC sávok nyers FLAC fájlokba
íródnak.
A_MPEG/L2
Az MPEG-1 Audio Layer II adatfolyamokat nyers MP2
fájlokká vonja ki.
A_MPEG/L3
Ezeket nyers MP3 fájlokká fogjuk
kinyerni.
A_OPUS
Opus(TM) tracks are written to OggOpus(TM) files.
A_PCM/INT/LIT, A_PCM/INT/BIG
A nyers PCM adatok egy WAV fájlba
íródnak. A big-endian egész számadatokat a
folyamat során little-endian adatokká konvertálja.
A_REAL/*
RealAudio(TM) tracks are written to RealMedia(TM)
files.
A_TRUEHD, A_MLP
Ezeket nyers TrueHD/MLP fájlokká kell
kicsomagolni.
A_TTA1
TrueAudio(TM) tracks are written to TTA files. Please
note that due to Matroska(TM)'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
A Vorbis hang egy OggVorbis(TM) fájlba
kerül kiírásra.
A_WAVPACK4
WavPack(TM) tracks are written to WV files.
S_HDMV/PGS
A PGS feliratok SUP fájlként lesznek
kiírva.
S_HDMV/TEXTST
TextST A feliratok egy speciális
fájlformátumban kerülnek kiírásra, amelyet
az
mkvmerge(1) és
mkvextract(1) számára
találtak ki.
S_KATE
Kate(TM) streams will be written within an Ogg(TM)
container.
S_TEXT/SA, S_TEXT/ASS, S_SSA, S_ASS
A SSA és ASS szöveges feliratokat SSA/ASS
fájlként írjuk ki.
S_TEXT/UTF8, S_TEXT/ASCII
Az egyszerű szöveges feliratokat SRT
fájlként írja ki.
S_VOBSUB
VobSub(TM) subtitles will be written as SUB files along
with the respective index files, as IDX files.
S_TEXT/USF
A USF szöveges feliratokat USF
fájlként írja ki.
S_TEXT/WEBVTT
A WebVTT szöveges feliratokat WebVTT
fájlként írja ki.
V_MPEG1, V_MPEG2
A MPEG-1 és MPEG-2 videósávok MPEG
elemi folyamként kerülnek kiírásra.
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(TM) from the GPAC(TM)
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(TM) from the GPAC(TM)
package.
V_MS/VFW/FOURCC
Javított FPS videósávok ezzel a
CodecID kóddal AVI fájlba íródnak.
V_REAL/*
RealVideo(TM) tracks are written to RealMedia(TM)
files.
V_THEORA
Theora(TM) streams will be written within an Ogg(TM)
container
V_VP8, V_VP9
A VP8 / VP9 sávok IVF fájlokba
íródnak.
Címkék
A címkéket XML. formátumra
konvertáljuk. Ez a formátum ugyanaz, mint amit az
mkvmerge(1) támogat a címkék
olvasásához.
Mellékletek
A mellékletek változatlanul a kimeneti
fájlba kerülnek. Semmilyen átalakítás nem
történik.
Fejezetek
A fejezetek XML. formátumra vannak
konvertálva. Ez a formátum ugyanaz, mint amit az
mkvmerge(1) támogat a fejezetek olvasásához.
Alternatívaként egy lecsupaszított változatot is
ki lehet adni az egyszerű OGM stílusú
formátumban.
Időbélyegek
Az időbélyegeket először
rendezi, majd kimeneti időbélyeg v2 formátumú
fájlként kész a
mkvmerge(1) -be való
betáplálásra. A más formátumba (v1, v3
és v4) történő kivonás nem
támogatott.
mkvextract(1) a három kilépési
kód egyikével lép ki:
•0 -- Ez a kilépési
kód azt jelenti, hogy az extrakció sikeresen
befejeződött.
•
1 -- Ebben az esetben az
mkvextract(1) legalább egy figyelmeztetést adott ki, de
az extrakció folytatódott. A figyelmeztetés előtt
a 'Figyelmeztetés:' szöveg áll. Az érintett
problémáktól függően az
eredményül kapott fájlok lehetnek rendben vagy nem. A
felhasználót arra kérjük, hogy ellenőrizze
mind a figyelmeztetést, mind a kapott fájlokat.
•<állandó>2</állandó>
-- Ezt a kilépési kódot hiba esetén
használjuk.
mkvextract(1) a hibaüzenet kiadása
után azonnal megszakad. A hibaüzenetek a hibás
parancssori argumentumoktól kezdve az
olvasási/írási hibákon át a
törött fájlokig terjednek.
KöRNYEZETI VáLTOZóK
mkvextract(1) az alapértelmezett
változókat használja, amelyek
meghatározzák a rendszer nyelvjárását
(pl. LANG és a LC_* család). További
változók:
MKVEXTRACT_DEBUG, MKVTOOLNIX_DEBUG és annak
rövidített formája MTX_DEBUG.
A tartalmat úgy kezeli, mintha a --debug
opcióval adta volna át.
MKVEXTRACT_ENGAGE, MKVTOOLNIX_ENGAGE és annak
rövidített formája MTX_ENGAGE.
A tartalmat úgy kezeli, mintha a --engage
opcióval adta volna át.
A legfrissebb verzió mindig megtalálható a
az MKVToolNix honlapon[1].
Moritz Bunkus <moritz@bunkus.org>
Fejlesztő
- 1.
- az MKVToolNix honlapon