MKVMERGE(1) | Felhasználói parancsok | MKVMERGE(1) |
NAME
mkvmerge - Multimédia folyamokat egyesít egy Matroska(TM) fájlba
SZINOPSZIS
mkvmerge [global options] {-o out} [options1] {file1} [[options2] {file2}] [@options-file.json]
LEíRáS
Ez a program több médiafájl bemenetét veszi át, és egyesíti a streamjeiket (az összeset vagy csak egy kiválasztást) egy Matroska(TM) fájlba; lásd a Matroska(TM) weboldal[1].
Important
A parancssori opciók sorrendje fontos. Kérjük, olvassa el a "Opciók sorrendje" részt, ha még nem ismeri a programot.
Globális opciók
-v, --verbose
-q, --csend
-o, --output file-name
-w, --webm
A fejezetek és címkék esetében az elemeknek csak egy részhalmaza engedélyezett. mkvmerge(1) automatikusan eltávolítja a specifikáció által nem engedélyezett elemeket.
--title title
--default-language language-code
Az alapértelmezett nyelvi kód a 'und', ami a 'meghatározatlan'.
Szegmensinformációk kezelése (globális opciók)
--segmentinfo filename.xml
A részletekért lásd a segment info XML fájlok című részt.
--segment-uid SID1,SID2,...
Ha az SID =-mal kezdődik, akkor a többi része egy olyan Matroska fájl neveként értelmeződik, amelynek szegmens UID-jét beolvassa és használja.
Minden létrehozott fájl egy szegmenst tartalmaz, és minden szegmensnek egy szegmens UID-je van. Ha több szegmens UID van megadva, mint ahány szegmens létrejön, akkor a többlet UID-ket figyelmen kívül hagyjuk. Ha kevesebb UID van megadva, mint amennyi szegmens létrehozásra kerül, akkor véletlenszerű UID-ket hoz létre a szegmensekhez.
Fejezet és címke kezelése (globális opciók)
--fejezet-nyelv nyelv-kód
Ez az opció egyszerű fejezetfájlok és olyan forrásfájlok esetében is használható, amelyek tartalmaznak fejezeteket, de nem tartalmaznak információt a fejezetek nyelvéről, pl. MP4 és OGM fájlok.
Az ezzel az opcióval beállított nyelv akkor is használatos, amikor a fejezeteket a --generate-chapters opcióval generáljuk.
--chapter-charset karakterkészlet
Ez a kapcsoló azokra a fejezetekre is vonatkozik, amelyeket bizonyos tárolótípusokból, például Ogg/OGM és MP4 fájlokból másolnak. A részleteket lásd a fejezetekről szóló alábbi szakaszban.
--chapter-sync d[,o[/p]]
o/p: az időbélyegek beállítása o/p segítségével a lineáris eltolódások kijavítása érdekében. p alapértelmezett értéke 1, ha elhagyja. Mind a o, mind a p lehet lebegőpontos szám.
Alapértelmezett: nincs manuális szinkronkorrekció (ami megegyezik a d = <állandó>0</állandó> és o/p = <állandó>1.0</állandó> értékkel).
Ez az opció többször is használható egy bemeneti fájlhoz, amely több sávra vonatkozik, ha minden alkalommal más sávazonosítót választ ki.
--generate-chapters mode
Ez az üzemmód a 'parts:' és a 'parts-frames:' osztási módokkal is működik. Ezeknél a módoknál minden egyes csatolt időbélyeg-tartományhoz (azokhoz, amelyek kezdő időbélyegei előtt a '+' előtaggal szerepelnek) egy fejezetet generál.
Note
mkvmerge(1) megköveteli egy videó vagy egy hangsáv jelenlétét, hogy képes legyen meghatározni, mikor egy új fájl van hozzácsatolva. Ha egy vagy több videó sáv van muxolva, akkor az elsőt használja. Ellenkező esetben az első hangsávot használja.
Példa: --generate-chapters intervallum:45s
Az új fejezetek neveit a --generate-chapters-name-template opció vezérli. A nyelv beállítása a --chapter-language segítségével történik, amelynek a --generate-chapters előtt kell szerepelnie.
--generate-chapters-name-template template
A sablonban több változó is használható, amelyek a fejezet generálásakor a tényleges értékükre cserélődnek. A '<NUM>' karakterláncot a fejezet száma fogja helyettesíteni. A '<START>' karakterláncot a fejezet kezdő időbélyege fogja helyettesíteni.
A '<FILE_NAME>' és '<FILE_NAME_WITH_EXT>' karakterláncok csak a csatolt fájlok fejezeteinek létrehozásakor töltődnek ki. Ezek helyébe a csatolt fájl neve lép a kiterjesztés nélkül, illetve annak kiterjesztésével együtt. Vegye figyelembe, hogy csak a fájl alapneve és kiterjesztése kerül beillesztésre, a könyvtár vagy meghajtó összetevői nem.
A fejezetszám minimális helyszámát a '<NUM:helyek>' paranccsal adhatja meg, például '<NUM:3>'. A kapott számot vezető nullákkal egészíti ki, ha a helyek száma kevesebb, mint a megadott.
A <START:format> segítségével szabályozhatja a kezdő időbélyeg által használt formátumot. A formátum alapértelmezés szerint '%H:%M:%S', ha nincs megadva. Az érvényes formátumkódok a következők:
--cue-chapter-name-format format
Ha ez az opció nincs megadva, akkor az mkvmerge(1) alapértelmezés szerint a '%p - %t' formátumot használja (az előadó, majd egy szóköz, egy kötőjel, egy újabb szóköz és a cím).
Ha a formátum meg van adva, akkor a következő meta karakterek kivételével mindent úgy másolunk, ahogy van, és a meta karaktereket így helyettesítjük:
--fejezetek fájlnév
--global-tags file-name
Általános kimeneti vezérlés (speciális globális opciók)
--track-order FID1:TID1,FID2:TID2,...
Ha ez az opció nincs megadva, akkor a sávok először a típusuk & másodszor a forrásfájljuk sorrendje szerint lesznek rendezve. A videó sávok következnek először, majd a hang- és felirat-sávok. Az egyéb, ritkán használt sávtípusok az utolsó helyre kerülnek.
---cluster-length spec
Ha nem használunk egységet, akkor az mkvmerge(1) legfeljebb n adatblokkokat helyez el minden egyes klaszterbe. A blokkok maximális száma 65535.
Ha a d számhoz a 'ms' utótagot adjuk meg, akkor az mkvmerge(1) legfeljebb d milliszekundumnyi adatot tesz minden egyes klaszterbe. A d minimális értéke '100ms', a maximális értéke pedig '32000ms'.
mkvmerge(1) alapértelmezés szerint legfeljebb 65535 adatblokkot és 5000 ms adatot helyez el egy fürtben.
Azok a programok, amelyek egy bizonyos keretet keresnek, csak közvetlenül egy klasztert kereshetnek, és utána az egész klasztert kell beolvasniuk. Ezért a nagyobb klaszterek létrehozása pontatlan vagy lassú kereséshez vezethet.
----clusters-in-meta-seek
--timestamp-scale faktor
Normális esetben az mkvmerge(1) <állandó>1000000</állandó> értéket használ, ami azt jelenti, hogy az időbélyegek és időtartamok pontossága 1ms. Az olyan fájlok esetében, amelyek nem tartalmaznak videó sávot, de legalább egy hangsávot, az mkvmerge(1) automatikusan kiválaszt egy időbélyeg skálafaktort, így minden időbélyeg és időtartam egy hangminta pontosságú lesz. Ez nagyobb többletköltséget okoz, de lehetővé teszi a pontos keresést és kivonást.
Ha a <állandó>-1</állandó> speciális értéket használja, akkor az mkvmerge(1) akkor is a minta pontosságát fogja használni, ha van videó sáv.
--enable-durations
--no-cues
--no-date
--disable-lacing
--disable-track-statistics-tags
Az opció engedélyezése megakadályozza, hogy az mkvmerge(1) kiírja ezeket a címkéket, és ne érintse a már létező, azonos nevű címkéket.
--disable-language-ietf
--normalize-language-ietf mode
A kanonikus formában minden olyan alcímke, amelyhez létezik preferált érték, az adott preferált értékekkel van helyettesítve. Így pl. a 'zh-yue-jyutping'-t 'yue-jyutping'-ra vagy a 'fr-FX'-t 'fr-FR'-ra alakítja át.
A kiterjesztett nyelvi alcímkeforma esetében először a kanonikus forma épül fel. Ezután minden olyan elsődleges nyelv, amelyhez létezik kiterjesztett nyelvi alcímke, helyébe az adott kiterjesztett nyelvi alcímke és annak előtagja lép. Ez például a 'yue-jyutping'-t visszaváltja 'zh-yue-jyutping'-ra, de nincs hatással a 'fr-FR'-ra, mivel a 'fr' nem egy kiterjesztett nyelvi altag.
--stop-after-video-ends
Fájlok felosztása, összekapcsolása, csatolása és összekapcsolása (több globális opció)
--split specifikáció
Jelenleg az mkvmerge(1) a következő módokat támogatja:
Szintaxis: --split [méret:]d[k|m|g]
Példák: --split size:700m vagy --split 150000000
A d paraméter végére a 'k', 'm' vagy 'g' betűjelet lehet írni, hogy a méret KB-ban, MB-ban vagy GB-ban legyen megadva. Ellenkező esetben bájtban megadott méretet feltételezünk. Miután az aktuális kimeneti fájl elérte ezt a mérethatárt, egy új kimeneti fájl indul.
A 'size:' előtag kompatibilitási okokból elhagyható.
Szintaxis: --split [duration:]H:MM:SS.nnnnnnnnnnn|ds
Példák: --split duration:00:60:00.000 vagy --split 3600s.
A paraméternek vagy a HH:MM:SS.nnnnnnnnnnnnn formájúnak kell lennie az időtartam nanoszekundumos pontossággal történő megadásához, vagy egy számnak d, amelyet a 's' betű követ a másodpercben megadott időtartamhoz. HHH az órák száma, MM a percek száma, SS a másodpercek száma és nnnnnnnnnnnnn a nanoszekundumok száma. Az órák és a nanoszekundumok száma egyaránt elhagyható. A tizedesvessző után legfeljebb kilenc számjegy állhat. Miután az aktuális kimenet tartalmának időtartama elérte ezt a határt, egy új kimeneti fájl indul.
A 'duration:' előtag kompatibilitási okokból elhagyható.
Szintaxis: --split timestamps:A[,B[,C...]]
Példa: --split timestamps:00:45:00.000,01:20:00.250,6300s
A A, B, C stb. paramétereknek ugyanolyan formátumúnak kell lenniük, mint az időtartamhoz használtak (lásd fent). Az időbélyegek listáját vesszővel kell elválasztani. Miután a bemeneti folyam elérte az aktuális osztási pont időbélyegét, egy új fájl jön létre. Ezután a listában megadott következő felosztási pont kerül felhasználásra.
A 'timestamps:' előtag nem hagyható el.
Szintaxis: --split parts:start1-vég1[,[+]start2-vég2[,[+]start3-vég3...]]
Példák:
A parts mód azt mondja az mkvmerge(1) -nek, hogy bizonyos időbélyegtartományokat tartson meg, míg másokat dobjon el. A megtartandó tartományokat a parts: kulcsszó után kell felsorolni és vesszővel elválasztani. Maga a tartomány egy kezdő és egy vég időbélyegből áll, ugyanabban a formátumban, amelyet a --split többi változata is elfogad (pl. a 00:01:20 és a 80s is ugyanarra az időbélyegre vonatkozik).
Ha a kezdő időbélyegző kimarad, akkor alapértelmezés szerint az előző tartomány végének időbélyegzője lesz. Ha nem volt előző tartomány, akkor az alapértelmezett érték a fájl eleje (lásd a 3. példát).
Ha a vég időbélyegzőt kihagyjuk, akkor a forrásfájlok végét veszi alapértelmezés szerint, ami lényegében azt mondja az mkvmerge(1) -nek, hogy tartsa meg a többit (lásd a 3. példát).
Normális esetben minden tartomány egy új fájlba íródik. Ez megváltoztatható úgy, hogy az egymást követő tartományok ugyanabba a fájlba íródjanak. Ehhez a felhasználónak a kezdő időbélyeget egy + előtaggal kell ellátnia. Ez arra utasítja az mkvmerge(1) -t, hogy ne hozzon létre új fájlt, hanem csatolja a tartományt ugyanabba a fájlba, amelybe az előző tartományt írták. Az időbélyegek kiigazításra kerülnek, így a kimeneti fájlban nem lesz rés, még akkor sem, ha a bemeneti fájlban a két tartomány között rés volt.
Az 1. példában az mkvmerge(1) két fájlt hoz létre. Az első tartalmazza a 00:01:20-tól 00:02:45-ig terjedő tartalmat. A második fájl a 00:05:50-tól 00:10:30-ig tartó tartalmat tartalmazza.
A 2. példában az mkvmerge(1) csak egy fájlt hoz létre. Ez a fájl tartalmazza mind a 00:01:20-tól 00:02:45-ig terjedő tartalmat, mind a 00:05:50-tól 00:10:30-ig terjedő tartalmat.
A 3. példában az mkvmerge(1) két fájlt hoz létre. Az első tartalmazza a tartalmat a forrásfájlok elejétől 00:02:45-ig. A második fájl a 00:05:50-tól a forrásfájlok végéig tartó tartalmat fogja tartalmazni.
Note
Vegye figyelembe, hogy az mkvmerge(1) csak a kulcsfontosságú képkockapozíciókban hoz döntést a felosztásról. Ez az egyes tartományok elejére és végére egyaránt vonatkozik. Tehát még akkor is, ha a vég időbélyegző két kulcskocka között van, az mkvmerge(1) folytatja a képkockák kiadását a következő kulcskockáig, de kizárva a következő kulcskockát.
Szintaxis: --split parts-frames:start1-vég1[,[+]start2-vég2[,[+]start3-vég3...]]
Példák:
A parts-frames mód azt mondja az mkvmerge(1) -nek, hogy tartsa meg a képkocka/mező számok bizonyos tartományait, míg másokat el kell dobnia. A megtartandó tartományokat a parts-frames: kulcsszó után kell felsorolni és vesszővel elválasztani. Maga a tartomány egy kezdő és egy végkocka/mező számból áll. A számozás 1-től kezdődik.
Ha a kezdőszámot kihagyja, akkor alapértelmezés szerint az előző tartomány végszámát veszi fel. Ha nem volt előző tartomány, akkor az alapértelmezett érték a fájl eleje (lásd a 3. példát).
Ha a végszámot kihagyjuk, akkor a forrásfájlok végére állítja be az alapértelmezett értéket, ami lényegében azt mondja az mkvmerge(1) programnak, hogy tartsa meg a többit (lásd a 3. példát).
Normális esetben minden tartomány egy új fájlba íródik. Ez megváltoztatható úgy, hogy az egymást követő tartományok ugyanabba a fájlba íródjanak. Ehhez a felhasználónak a kezdőszám elé egy +-t kell illesztenie. Ez arra utasítja az mkvmerge(1) -t, hogy ne hozzon létre új fájlt, hanem csatolja a tartományt ugyanahhoz a fájlhoz, amelybe az előző tartományt írták. Az időbélyegek kiigazításra kerülnek, így a kimeneti fájlban nem lesz hézag, még akkor sem, ha a bemeneti fájlban a két tartomány között hézag volt.
Note
Vegye figyelembe, hogy az mkvmerge(1) csak a kulcsfontosságú képkockapozíciókban hoz döntést a felosztásról. Ez az egyes tartományok elejére és végére egyaránt vonatkozik. Tehát még akkor is, ha egy végkocka/mezőszám két kulcskocka között van, az mkvmerge(1) folytatja a képkockák kiadását a következő kulcskockáig, de kizárva a következő kulcskockát.
A 2. példában az mkvmerge(1) csak egy fájlt hoz létre. Ez a fájl tartalmazza mind a 733-tól 912-ig terjedő tartalmat, mind a 1592-tól 2730-ig terjedő tartalmat.
A 3. példában az mkvmerge(1) két fájlt hoz létre. Az első tartalmazza a tartalmat a forrásfájlok elejétől 430-ig. A második fájl a 2512-tól a forrásfájlok végéig tartó tartalmat fogja tartalmazni.
Ez az üzemmód csak az első kimeneti videó sávot veszi figyelembe. Ha nincs kimeneti videó sáv, akkor nem történik felosztás.
Note
Az ezzel az argumentummal megadott számokat a kimeneti Matroska(TM) blokkok száma alapján értelmezzük. Egyetlen Matroska(TM) blokk vagy egy teljes képkockát (progresszív tartalom esetén) vagy egyetlen mezőt (interlaced tartalom esetén) tartalmaz. Az mkvmerge nem tesz különbséget e kettő között, és egyszerűen a blokkok számát számolja. Például: Ha interlaced tartalom esetén a 25. teljes képkocka után szeretnénk szétválasztani, akkor a 50 (két mező egy teljes képkockára) értéket kell használnunk a szétválasztási pontként.
Szintaxis: --split frames:A[,B[,C...]]
Példa: --split frames:120,237,891
A A, B, C stb. paramétereknek pozitív egész számoknak kell lenniük. A számozás 1-től kezdődik. A keret/mező számok listáját vesszővel kell elválasztani. Miután a bemeneti adatfolyam elérte az aktuális felosztási pont képkocka/mező számát, egy új fájl jön létre. Ezután a listában megadott következő felosztási pont kerül felhasználásra.
A 'frames:' előtag nem hagyható el.
Ez az üzemmód csak az első kimeneti videó sávot veszi figyelembe. Ha nincs kimeneti videó sáv, akkor nem történik felosztás.
Note
Az ezzel az argumentummal megadott számokat a kimeneti Matroska(TM) blokkok száma alapján értelmezzük. Egyetlen Matroska(TM) blokk vagy egy teljes képkockát (progresszív tartalom esetén) vagy egyetlen mezőt (interlaced tartalom esetén) tartalmaz. Az mkvmerge nem tesz különbséget e kettő között, és egyszerűen a blokkok számát számolja. Például: Ha interlaced tartalom esetén a 25. teljes képkocka után szeretnénk szétválasztani, akkor a 50 (két mező egy teljes képkockára) értéket kell használnunk a szétválasztási pontként.
Szintaxis: --split chapters:all vagy --split chapters:A[,B[,C...]]
Példa: --split chapters:5,8
A A, B, C stb. paramétereknek pozitív egész számoknak kell lenniük. A számozás 1-től kezdődik. A fejezetszámok listáját vesszőkkel választjuk el. A szétválasztás közvetlenül az első olyan kulcskocka előtt történik, amelynek időbélyege egyenlő vagy nagyobb, mint azoknak a fejezeteknek a kezdő időbélyege, amelyeknek a számai fel vannak sorolva. A 0s-nál kezdődő fejezetek soha nem kerülnek felosztásra, és némán elvetésre kerülnek.
A all kulcsszó használható az összes fejezetszám kézi felsorolása helyett.
A 'chapters:' előtag nem hagyható el.
Note
A Matroska(TM) fájlformátum támogatja a tetszőlegesen mélyen egymásba ágyazott fejezetszerkezeteket, amelyeket 'kiadási bejegyzéseknek' és 'fejezetatomoknak' neveznek. Ez a mód azonban csak a fejezetek legfelső szintjét veszi figyelembe az összes kiadási bejegyzésben.
Ebben a felosztási módban a kimeneti fájlnevet másképp kezeli, mint a normál műveletnél. Tartalmazhat egy printf-szerű '%d' kifejezést, beleértve egy opcionális mezőszélességet, pl. '%02d'. Ha igen, akkor az aktuális fájlszámot megfelelően formázza, és a fájlnév ezen pontjára illeszti be. Ha nincs ilyen minta, akkor közvetlenül a fájl kiterjesztése előtt a '-%03d' mintát feltételezzük: '-o output.mkv' a 'output-001.mkv'-t eredményezné, és így tovább. Ha nincs kiterjesztés, akkor '-%03d' lesz a névhez csatolva.
Egy másik lehetséges minta a '%c', amely a fájl első fejezetének nevével lesz helyettesítve. Vegye figyelembe, hogy ha a '%c' jelen van, a '-%03d' minta nem kerül automatikusan hozzáadásra.
--link
--link-to-previous segment-UID
Ha az SID =-mal kezdődik, akkor a többi része egy olyan Matroska fájl neveként értelmeződik, amelynek szegmens UID-jét beolvassa és használja.
--link-to-next segment-UID
Ha az SID =-mal kezdődik, akkor a többi része egy olyan Matroska fájl neveként értelmeződik, amelynek szegmens UID-jét beolvassa és használja.
--append-mode mode
Amikor az mkvmerge egy második fájlból (a neve 'file2') származó (track2') sávot csatol (a neve 'track1_1') az első fájlból (a neve 'file1') származó (track2_1) sávhoz, akkor a 'track2_1' összes időbélyegét eltolja egy összeggel. A 'file' üzemmódban ez az összeg a 'file1'-ben előforduló legmagasabb időbélyeg, még akkor is, ha ez az időbélyeg a 'track1_1'-tól eltérő sávból származik. Sáv módban az eltolás a 'sáv1_1' legmagasabb időbélyege.
Sajnos az mkvmerge nem tudja megbízhatóan felismerni, hogy melyik módot használja. Ezért alapértelmezés szerint a 'file' módot használja. A 'file' mód általában jobban működik olyan fájlok esetében, amelyek egymástól függetlenül jöttek létre; például AVI vagy MP4 fájlok csatolásakor. A 'track' mód jobban működhet olyan források esetében, amelyek lényegében egyetlen nagy fájl részei, pl. VOB és EVO fájlok esetében.
A feliratos sávokat mindig úgy kezeli, mintha a 'file' mód lenne aktív, még akkor is, ha a 'track' mód valóban az.
--append-to SFID1:STID1:DFID1:DTID1[,...]
Ha ez az opció kimaradt, akkor a szabványos leképezés kerül alkalmazásra. Ez a szabványos hozzárendelés az aktuális fájl minden egyes sávját az előző fájl azonos sávazonosítóval rendelkező sávjához csatolja. Ez lehetővé teszi az egyszerű csatolást, ha egy filmet két részre osztottunk, és mindkét fájlnak azonos számú sávja és sávazonosítója van a mkvmerge -o output.mkv part1.mkv +part2.mkv paranccsal.
+
$ mkvmerge -o full.mkv file1.mkv + file2.mkv $ mkvmerge -o full.mkv file1.mkv +file2.mkv
[ file1 file2 ]
Ez egy alternatív szintaxis a fájlnevek közötti '+' használatához képest. Ezért a következő két parancs egyenértékű:
$ mkvmerge -o full.mkv file1.mkv + file2.mkv $ mkvmerge -o full.mkv '[' file1.mkv file2.mkv ']'
=
Az '=' a következő fájlnév elé is kerülhet. Ezért a következő két parancs egyenértékű:
$ mkvmerge -o full.mkv = file1.vob $ mkvmerge -o full.mkv =file1.vob
( file1 file2 )
Ez használható például DVD-ről érkező VOB-fájlok vagy MPEG-továbbítási streamek esetén. Nem használható, ha minden egyes fájl saját fejléceket tartalmaz, ami általában az olyan önálló fájlok esetében fordul elő, mint az AVI vagy az MP4.
A fájlnév zárójelbe tétele azt is megakadályozza, hogy az mkvmerge(1) további, azonos alapnévvel rendelkező fájlokat keressen a opció = pontban leírtak szerint. Ezért ez a két parancssor egyenértékű:
$ mkvmerge -o out.mkv = file.mkv $ mkvmerge -o out.mkv '(' file.mkv ')'
Több dolgot is meg kell jegyezni:
Csatolmánytámogatás (több globális opció)
--attchment-description leírás
--attachment-mime-type MIME típus
Ha egy csatolmánynak nincs MIME típusa megadva, akkor a típus automatikusan felismerésre kerül.
--csatlakozás-név név
--attach-file file-name, --attach-file-once file-name.
Az mkvextract(1) használható a csatolt fájlok kivonására egy Matroska(TM) fájlból.
--enable-legacy-font-mime-types
Ez mind az új mellékleteket érinti, ha a MIME típus automatikusan felismerésre kerül, mind pedig a meglévő mellékleteket, amelyeknek a tárolt MIME típusai a régi típusokra lesznek átképezve.
Az érintett MIME típusok a következők: 'font/sfnt', 'font/ttf' és 'font/collection', amelyek mind a 'application/x-truetype-fonts'-ra vannak leképezve, valamint a 'font/otf', amely a 'application/vnd.ms-opentype'.
Az egyes bemeneti fájlokhoz használható beállítások
-a, --audio-tracks [!]n,m,...
A pályaazonosítók helyett ISO 639-2 nyelvi kódokat is megadhat. Ez csak olyan forrásfájlok esetében működik, amelyek nyelvi címkéket adnak meg a sávjaikhoz.
Alapértelmezett: az összes ilyen típusú sáv másolása.
Ha az azonosítók előtt ! áll, akkor a jelentés fordított: másolja az összes ilyen típusú pályát, kivéve a ! után felsoroltakat.
-d, --video-tracks [!]n,m,....
A pályaazonosítók helyett ISO 639-2 nyelvi kódokat is megadhat. Ez csak olyan forrásfájlok esetében működik, amelyek nyelvi címkéket adnak meg a sávjaikhoz.
Ha az azonosítók előtt ! áll, akkor a jelentés fordított: másolja az összes ilyen típusú pályát, kivéve a ! után felsoroltakat.
-s, --subtitle-tracks [!]n,m,....
A pályaazonosítók helyett ISO 639-2 nyelvi kódokat is megadhat. Ez csak olyan forrásfájlok esetében működik, amelyek nyelvi címkéket adnak meg a sávjaikhoz.
Ha az azonosítók előtt ! áll, akkor a jelentés fordított: másolja az összes ilyen típusú pályát, kivéve a ! után felsoroltakat.
-b, --gomb-sávok [!]n,m,...
A pályaazonosítók helyett ISO 639-2 nyelvi kódokat is megadhat. Ez csak olyan forrásfájlok esetében működik, amelyek nyelvi címkéket adnak meg a sávjaikhoz.
Ha az azonosítók előtt ! áll, akkor a jelentés fordított: másolja az összes ilyen típusú pályát, kivéve a ! után felsoroltakat.
--track-tags [!]n,m,...
Ha az azonosítók előtt ! áll, akkor a jelentés fordított: mindent másoljon, kivéve a ! után felsorolt azonosítókat.
-m, --csatolmányok [!]n[:all|first],m[:all|first],...
Az alapértelmezett beállítás szerint az összes mellékletet átmásolja az összes kimeneti fájlba.
Ha az azonosítók előtt ! áll, akkor a jelentés fordított: mindent másoljon, kivéve a ! után felsorolt azonosítókat.
-A, --no-audio
-D, --no-video
-S, --no-subtitles
-B, --no-buttons
-T, --no-track-tags
--no-chapters
-M, --no-attachments
--no-global-tags
---regenerate-track-uids
Ez a viselkedés automatikusan engedélyezve van a MakeMKV szoftver által létrehozott Matroska fájlok esetében. Ennek oka, hogy a MakeMKV véletlenszerű számok generálása helyett egymást követő számokat (1, 2, 3...) használ UID-ként.
-y, --sync TID:d[,o[/p]]
o/p: az időbélyegek beállítása o/p segítségével a lineáris eltolódások kijavítása érdekében. p alapértelmezett értéke 1, ha elhagyja. Mind a o, mind a p lehet lebegőpontos szám.
Alapértelmezett: nincs manuális szinkronkorrekció (ami megegyezik a d = <állandó>0</állandó> és o/p = <állandó>1.0</állandó> értékkel).
Ez az opció többször is használható egy bemeneti fájlhoz, amely több sávra vonatkozik, ha minden alkalommal más sávazonosítót választ ki.
--cues TID:none|iframes|all
Az alapértelmezett érték a 'iframes' a videó- és felirat-sávoknál és a 'none' a hangsávoknál. Lásd még a --no-cues opciót, amely a használt --cues opcióktól függetlenül megakadályozza a cue-bejegyzések létrehozását.
Ez az opció többször is használható egy bemeneti fájlhoz, amely több sávra vonatkozik, ha minden alkalommal más sávazonosítót választ ki.
--default-track-flag TID[:bool]
Ha a felhasználó a lejátszás során nem választ ki kifejezetten egy zeneszámot, a lejátszónak ki kell választania az egyik olyan zeneszámot, amelynél az "alapértelmezett zeneszám" jelző be van állítva, figyelembe véve a felhasználó preferenciáit, például a preferált nyelvet.
Ez az opció többször is használható egy bemeneti fájlhoz, amely több sávra vonatkozik, ha minden alkalommal más sávazonosítót választ ki.
--track-enabled-flag TID[:bool]
Csak azok a zeneszámok vehetők figyelembe lejátszáskor, amelyeknél a "track enabled" jelző be van kapcsolva.
Ez az opció többször is használható egy bemeneti fájlhoz, amely több sávra vonatkozik, ha minden alkalommal más sávazonosítót választ ki.
--forced-display-flag TID[:bool]
Ez az opció többször is használható egy bemeneti fájlhoz, amely több sávra vonatkozik, ha minden alkalommal más sávazonosítót választ ki.
--hearing-impaired-flag TID[:bool]
Ez az opció többször is használható egy bemeneti fájlhoz, amely több sávra vonatkozik, ha minden alkalommal más sávazonosítót választ ki.
----visual-impaired-flag TID[:bool]
Ez az opció többször is használható egy bemeneti fájlhoz, amely több sávra vonatkozik, ha minden alkalommal más sávazonosítót választ ki.
--text-descriptions-flag TID[:bool]
Ez az opció többször is használható egy bemeneti fájlhoz, amely több sávra vonatkozik, ha minden alkalommal más sávazonosítót választ ki.
--original-flag TID[:bool]
Ez az opció többször is használható egy bemeneti fájlhoz, amely több sávra vonatkozik, ha minden alkalommal más sávazonosítót választ ki.
--commentary-flag TID[:bool]
Ez az opció többször is használható egy bemeneti fájlhoz, amely több sávra vonatkozik, ha minden alkalommal más sávazonosítót választ ki.
--track-name TID:name
--nyelv TID:language
Ez az opció többször is használható egy bemeneti fájlhoz, amely több sávra vonatkozik, ha minden alkalommal más sávazonosítót választ ki.
-t, --tags TID:fájlnév
--aac-is-sbr TID[:0|1]
Ha a forrásfájl egy Matroska(TM) fájl, akkor a CodecID elég lesz a SBR AAC felismeréséhez. Ha azonban a CodecID hibás, akkor ez a kapcsoló használható ennek kijavítására.
Ha az mkvmerge tévesen azt érzékeli, hogy egy AAC fájl SBR, akkor a track ID-hez hozzáadhatja a ':0' szót.
--audio-emphasis TID:n|szimbolikus név
---csökkentés a magra TID
Jelenleg csak a DTS sávokat érinti ez az opció. A beágyazott AC-3 magot tartalmazó TrueHD sávok ehelyett két külön sávként jelennek meg, amelyeknél a felhasználó kiválaszthatja, hogy melyik sávot szeretné másolni. A DTS esetében egy ilyen séma nem működne, mivel a HD kiterjesztések önmagukban nem dekódolhatók - ellentétben a TrueHD adatokkal.
--remove-dialog-normalization-gain TID
Jelenleg csak a AC-3, DTS és TrueHD sávokat érinti ez az opció.
--timestamps TID:fájlnév
--default-duration TID:x
Ha az alapértelmezett időtartam nincs kikényszerítve, akkor az mkvmerge megpróbálja levezetni a track alapértelmezett időtartamát a konténerből és/vagy a kódolt bitfolyamból bizonyos track típusok esetében, pl. AVC/H.264 vagy MPEG-2.
Ez az opció használható a videósávok FPS értékének megváltoztatására is, anélkül, hogy külső időbélyegző fájlt kellene használni.
--fix-bitstream-timing-information TID[:0|1]
Note
Ez eddig csak az AVC/H.264 videósávok esetében valósult meg.
---tömörítés TID:n
A 'mpeg4_p2'/'mpeg4p2' tömörítési módszer egy speciális tömörítési módszer, az úgynevezett 'fejléc eltávolítás', amely csak a MPEG4 part 2 videósávok esetében érhető el.
Néhány felirat típus esetében az alapértelmezett tömörítés a 'zlib' tömörítés. Ezt a tömörítési módszert támogatja a legtöbb, ha nem minden lejátszó alkalmazás. A 'none'-tól eltérő tömörítési módszerek támogatása nem biztosított.
Csak a videósávokra vonatkozó beállítások
-f, --fourcc TID:FourCC
--display-dimensions TID:widthxheight
Az értékek megadásának másik módja a --aspect-ratio vagy a --aspect-ratio-factor opció használata (lásd alább). Ezek az opciók kölcsönösen kizárják egymást.
---aspektus-arány TID:arány|szélesség/magasság
Az értékek megadásának másik módja a --aspect-ratio-factor vagy --display-dimensions opciók használata (lásd fent és lent). Ezek az opciók kölcsönösen kizárják egymást.
---aspektus-arány-tényező TID:factor|n/d
Az értékek megadásának másik módja a --aspect-ratio vagy a --display-dimensions opciók használata (lásd fent). Ezek az opciók kölcsönösen kizárják egymást.
--csonkítás TID:bal,felső,jobb,alsó
--color-matrix-coefficients TID:n
Érvényes értékek és jelentésük:
0: 1: BT709, 2: nem meghatározott, 3: fenntartva, 4: GBR, 1: BT709, 2: nem meghatározott, 3: fenntartva, 4: GBR: FCC, 5: BT470BG, 6: SMPTE 170M, 7: SMPTE 240M, 8: YCOCG, 9: BT2020 nem állandó fénysűrűség, 10: BT2020 állandó fénysűrűség.
--szín-bit-csatornánként TID:n
--chroma-subsample TID:hori,vert
Példa: A 4:2:0-s chroma-alulmintavételezésű videó esetében a paramétert TID:<állandó>1</állandó>,<állandó>1</állandó> értékre kell beállítani.
--cb-subsample TID:hori,vert
Példa: A 4:2:1 chroma-alulmintavételezésű videó esetében a --chroma-subsample paramétert TID:1,0, a Cb-subsample-t pedig TID:1,0 értékre kell állítani.
---chroma-siting TID:hori,vert
--színtartomány TID:n
--color-transfer-characteristics TID:n
Érvényes értékek és jelentésük:
<állandó>0</állandó>: fenntartva, <állandó>1</állandó>: ITU-R BT.709, 2: nem meghatározott, 3: fenntartva, 4: gamma 2.2 görbe, 5: gamma 2.8 görbe, 6: SMPTE 170M, 7: SMPTE 240M, 8: lineáris, 9: log, 10: log sqrt, 11: IEC 61966-2-4, 12: ITU-R BT.1361. kiterjesztett színskála, 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
Érvényes értékek és jelentésük:
0: fenntartva, 1: ITU-R BT.709, 2: nem meghatározott, 3: fenntartva, 4: ITU-R BT.470.M, 5: ITU-R BT.470BG, 6: SMPTE 170M, 7: SMPTE 240M, 8: 9: ITU-R BT.2020, 10: SMPTE ST 428-1, 22: JEDEC P22 foszforok
--max-content-light TID:n
--max-frame-light TID:n
---kromatikus koordináták TID:red-x,red-y,green-x,green-y,blue-x,blue-y
----fehér-szín-koordináták TID:x,y
--max-luminance TID:float
--min-luminance TID:float
--projection-type TID:method
--projection-private TID:data
--projection-pose-yaw TID:float
----projection-pose-pitch TID:float
--projection-pose-roll TID:float
---mező-rend TID:n
0: progresszív; 1: egymásba ágyazva, a felső mezőt először megjelenítve és a felső mezőt először tárolva; 2: meghatározatlan mezősorrend; 6: egymásba ágyazva, az alsó mezőt először megjelenítve és az alsó mezőt először tárolva; 9: egymásba ágyazva, az alsó mezőt először megjelenítve és a felső mezőt először tárolva; 14: egymásba ágyazva, a felső mezőt először megjelenítve és az alsó mezőt először tárolva.
----stereo-mode TID:n|szimbolikus név
Csak a szöveges feliratsávokra vonatkozó beállítások
--sub-charset TID:karakterkészlet
Ez az opció többször is használható egy bemeneti fájlhoz, amely több sávra vonatkozik, ha minden alkalommal más sávazonosítót választ ki.
Egyéb lehetőségek
-i, --identify fájlnév
Az eredmény kimeneti formátumát a --identification-format opcióval lehet megváltoztatni.
-J fájlnév
-F, --identification-format format
Ezt a formátumot nem kell elemezni. A kimenet le lesz fordítva a mkvmerge(1) által használt nyelvre (lásd még --ui-language).
mkvmerge-identification-output-schema-v20.json[3]
A JSON-séma minden verziója elérhető online és a kiadott forráskód-archívumban is.
--probe-range-percentage százalék
Ha a nyomok ismertek, de nem találhatók, akkor a szondázandó százalékos arány megváltoztatható ezzel az opcióval. A minimum 10 MB beépített és nem módosítható.
--list-audio-emphasis
--list-languages
--list-stereo-modes
-l, --list-types
--priority priority
A 'legalacsonyabb' kiválasztása azt is eredményezi, hogy az mkvmerge(1) a lehető legalacsonyabb processzprioritás mellett az üres I/O prioritást is kiválasztja.
--command-line-charset karakterkészlet
--output-charset karakterkészlet
-r, --redirect-output file-name
--flush-on-close
--ui-language code
--abort-on-warnings
--determinisztikus mag
A mag lehet tetszőleges karakterlánc, és nem kell, hogy szám legyen.
A byte-azonos fájlok eredménye csak a következő feltételek mellett garantált:
Az mkvmerge(1) más verzióinak vagy más parancssori opcióknak a használata ugyanolyan byte-azonos fájlt eredményezhet, de ez nem garantált.
--debug topic
--engage feature
--gui-mode
@options-file.json
Ha a @ jelet akarod használni egy olyan opció argumentumának első karaktereként, mint például a '--title', akkor egy második @ jellel kell megkerülnöd. Példa:
$ mkvmerge -o midnight-s01e01.mkv --title @@midnight midnight-s01e01.mp4
---képességek
-h, --help
-V, --version
HASZNáLAT
A felhasználó minden egyes fájlhoz kiválaszthatja, hogy az mkvmerge(1) milyen sávokat vegyen fel. Ezek mindegyike a -o opcióval megadott fájlba kerül. Az ismert (és támogatott) forrásformátumok listáját a -l opcióval kaphatjuk meg.
Important
A parancssori opciók sorrendje fontos. Kérjük, olvassa el a "Opciók sorrendje" részt, ha még nem ismeri a programot.
OPCIóS SORREND
Az opciók beírásának sorrendje néhány opció esetében fontos. Az opciók két kategóriába sorolhatók:
Az opciókat balról jobbra haladva dolgozzuk fel. Ha egy opció többször is megjelenik ugyanazon a hatókörön belül, akkor az utolsó előfordulás kerül felhasználásra. Ezért a cím a következő példában "Valami más" lesz:
$ mkvmerge -o output.mkv --title 'Ez meg az' input.avi --title 'Valami más'
A következő példa azt mutatja, hogy a --language opció kétszeri használata rendben van, mivel különböző hatókörökben használatosak. Annak ellenére, hogy ugyanarra a track ID-re vonatkoznak, különböző bemeneti fájlokra vonatkoznak, ezért különböző hatókörrel rendelkeznek:
$ mkvmerge -o output.mkv --language 0:fre français.ogg --language 0:deu deutsch.ogg
PéLDáK
Tegyük fel, hogy van egy MyMovie.avi nevű fájlod, a hangsáv pedig egy külön fájlban, például 'MyMovie.wav'. Először a hangot szeretnénk OggVorbis(TM) -ra kódolni:
$ oggenc -q4 -oMyMovie.ogg MyMovie.wav
Néhány perc múlva már össze is kapcsolhatja a videót és a hangot:
$ mkvmerge -o MyMovie-with-sound.mkv MyMovie.avi MyMovie.ogg
Ha a AVI már tartalmaz egy hangsávot, akkor az is másolásra kerül (ha az mkvmerge(1) támogatja az audio formátumot). Ennek elkerülése érdekében egyszerűen csináld a
$ mkvmerge -o MyMovie-with-sound.mkv -A MyMovie.avi MyMovie.ogg
Néhány perc gondolkodás után egy másik hangsávot, például a rendezői kommentárokat vagy egy másik nyelvet másolhatsz a 'MyMovie-add-audio.wav' címre. Kódold újra, és illeszd össze a másik fájlhoz:
$ oggenc -q4 -oMyMovie-add-audio.ogg MyMovie-add-audio.wav $ mkvmerge -o MM-complete.mkv MyMovie-with-sound.mkv MyMovie-add-audio.ogg
Ugyanez az eredmény érhető el a
$ mkvmerge -o MM-complete.mkv -A MyMovie.avi MyMovie.ogg MyMovie-add-audio.ogg
Now fire up mplayer(TM) and enjoy. If you have multiple audio tracks (or even video tracks) then you can tell mplayer(TM) which track to play with the '-vid' and '-aid' options. These are 0-based and do not distinguish between video and audio.
Ha egy hangsáv szinkronizálására van szüksége, azt könnyen megteheti. Először is derítse ki, hogy a Vorbis sáv milyen sávazonosítóval rendelkezik a következővel
$ mkvmerge --identify outofsync.ogg
Most már használhatja ezt az azonosítót a következő parancssorban:
$ mkvmerge -o goodsync.mkv -A source.avi -y 12345:200 outofsync.ogg
Ez 200 ms csendet adna a hangsáv elejére a 12345 azonosítóval, amely a 'outofsync.ogg' fájlból származik.
Néhány film helyesen szinkronizálva indul, de lassan eltűnik a szinkronból. Az ilyen típusú filmeknél megadhat egy késleltetési tényezőt, amely az összes időbélyegre vonatkozik - nem adunk hozzá vagy veszünk el adatokat. Ha tehát ezt a tényezőt túl nagyra vagy túl kicsire állítod be, rossz eredményt kapsz. Egy példa: egy általam átkódolt epizód <állandó>0,2</állandó> másodperccel volt szinkronban a film végén, amely <állandó>77340</állandó> képkocka hosszú volt. <állandó>29,97fps</állandó> mellett <állandó>0,2</állandó> másodperc kb. <állandó>6</állandó> képkockának felel meg. Tehát
$ mkvmerge -o goodsync.mkv -y 23456:0,77346/77340 outofsync.mkv
Az eredmény rendben volt.
A szinkronizálási beállítások ugyanígy használhatók a feliratokhoz is.
For text subtitles you can either use some Windows software (like SubRipper(TM)) or the subrip(TM) package found in transcode(1)'s sources in the 'contrib/subrip' directory. The general process is:
$ tccat -i /path/to/copied/dvd/ -T 1 -L | tcextract -x ps1 -t vob -a 0x20 | subtitle2pgm -o mymovie
$ pgm2txt mymovie
$ ispell -d american *txt
$ srttool -s -w -i mymovie.srtx -o mymovie.srt
Az így kapott fájl használható a mkvmerge(1) másik bemeneti fájljaként:
$ mkvmerge -o mymovie.mkv mymovie.avi mymovie.srt
Ha egy adott pálya nyelvét szeretné megadni, akkor ez könnyen megtehető. Először keresse meg a nyelv ISO 639-2 kódját. mkvmerge(1) fel tudja sorolni az összes ilyen kódot:
$ mkvmerge --list-languages
Keresse meg a listán a kívánt nyelveket. Tegyük fel, hogy két hangsávot helyezett el egy Matroska(TM) fájlba, és be akarja állítani a nyelvi kódjaikat, és a sáv azonosítójuk 2 és 3. Ezt a következővel lehet megtenni
$ mkvmerge -o with-lang-codes.mkv --language 2:ger --language 3:dut without-lang-codes.mkv
Mint látható, a --nyelv kapcsolót többször is használhatja.
Talán azt is szeretnéd, hogy a játékos a holland nyelvet használja alapértelmezett nyelvként. Ön is rendelkezik extra feliratokkal, például angol és francia nyelven, és szeretné, ha a lejátszó alapértelmezés szerint a francia feliratokat jelenítené meg. Ezt a következővel teheti meg
$ 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
Ha nem látja az mkvinfo(1) kimenetén a megadott nyelvet vagy alapértelmezett sávjelzőket, akkor olvassa el a alapértelmezett értékek című részt.
Egy bemeneti fájl tömörítésének kikapcsolása.
$ mkvmerge -o no-compression.mkv --compression -1:none MyMovie.avi --compression -1:none mymovie.srt
PáLYA AZONOSíTóK
Rendszeres pálya azonosítók
A mkvmerge(1) egyes opcióihez szükség van egy sávazonosítóra, hogy megadja, melyik sávra kell alkalmazni őket. Ezeket a sávazonosítókat az olvasók az aktuális bemeneti fájl demuxolásakor nyomtatják ki, vagy ha az mkvmerge(1) a --identify opcióval kerül meghívásra. Egy példa az ilyen kimenetre:
$ mkvmerge -i v.mkv Fájl 'v.mkv': tároló: Matroska(TM) Sáv ID 0: videó (V_MS/VFW/FOURCC, DIV3) Sáv ID 1: hang (A_MPEG/L3)
Ne keverje össze a kimeneti MKV-fájlban elhelyezett sávokhoz rendelt sávazonosítókat a bemeneti fájlok sávazonosítóival. Csak a bemeneti fájl sávazonosítói kerülnek felhasználásra az ezeket az értékeket igénylő opciókhoz.
Vegye figyelembe azt is, hogy minden egyes bemeneti fájlnak saját sávazonosítói vannak. Ezért a 'file1.ext' fájl 'mkvmerge --identify' által jelentett track ID-je nem változik, függetlenül attól, hogy hány másik bemeneti fájl van, vagy hogy a 'file1.ext' milyen pozícióban van.
A pálya azonosítók kiosztása a következőképpen történik:
Azok az opciók használják a track ID-ket, amelyek leírása tartalmazza a 'TID' szót. A következő opciók is használják a track ID-ket: --audio-sávok, --videósávok, -felirat-sávok, --gomb-sávok és -sáv-címkék.
Speciális pálya azonosítók
Számos olyan azonosító van, amely különleges jelentéssel bír, és nem fordul elő az azonosító kimeneten.
A '-1' speciális sávazonosító egy joker, és a megadott kapcsolót minden olyan sávra alkalmazza, amelyet a bemeneti fájlból olvas be.
A '-2' speciális sávazonosító a forrásfájlban lévő fejezetekre utal. Jelenleg csak a --sync opció használja ezt a speciális azonosítót. A --sync -2:... alternatívájaként a --chapter-sync ... opció használható.
NYELVI KEZELéS
Matroska(TM) két különböző típusú nyelvi elemet támogat: a régi, elavult "Language" elemet, amely ISO 639-2 alpha 3 kódokat tartalmaz, és az új "LanguageIETF" címkéket, amelyek az IETF BCP 47 nyelvi címkéket tartalmazzák. Az mkvmerge(1) minden olyan opciója, amely elfogadja a nyelvet, elfogadja a BCP 47 nyelvi címkéket. Az mkvmerge(1) az elavult "Language" elem értékét, ahol csak lehetséges, a BCP 47 nyelvi címkékből származtatja.
A JSON módban egy fájl azonosításakor a meglévő "LanguageIETF" track fejlécelemek a language_ietf track tulajdonságként kerülnek kimenetre.
A fájl írásakor az mkvmerge(1) mindig kiírja a "LanguageIETF", "ChapLanguageIETF" és "TagLanguageIETF" elemeket (az utóbbi kettőt csak akkor, ha fejezeteket vagy címkéket írunk). Ezeken az elemeken kívül a megfelelő régi elemek is kiírásra kerülnek; ezek a BCP 47 nyelvi címkék ISO 639-2 kódrészére lesznek beállítva. Például, ha a pálya nyelve sr-Cyrl-RS, akkor a "LanguageIETF" elem sr-Cyrl-RS lesz, a régi "Language" elem pedig srp lesz.
A meglévő fájlok (Matroska fájlok, XML fejezetek vagy tag fájlok stb.) beolvasásakor, amelyek már tartalmaznak "...LanguageIETF" elemeket, a meglévő elemek megmaradnak. Ellenkező esetben "...LanguageIETF" elemek kerülnek hozzáadásra a parancssori beállítások és más meglévő, elavult "...Language" elemek alapján.
Az új elemek létrehozása teljesen letiltható a parancssori --disable-language-ietf opcióval, amely mindhárom új elemre hat.
A kiterjesztett nyelvi alcímkékre alkalmazott normalizálási módszert a --normalize-language-ietf paraméterrel választhatja ki.
SZöVEGFáJLOK éS KARAKTERKéSZLET-áTALAKíTáSOK
Note
Ez a szakasz az MKVToolNix összes programjára vonatkozik, még akkor is, ha csak az mkvmerge(1) szerepel benne.
Bevezetés
A Matroska(TM) fájlban minden szöveg UTF-8 kódolású. Ez azt jelenti, hogy az mkvmerge(1) -nek minden beolvasott szövegfájlt, valamint a parancssorban megadott minden szöveget egy karakterkészletből UTF-8-ra kell konvertálnia. Cserébe ez azt is jelenti, hogy az mkvmerge(1) kimenetét UTF-8-ból vissza kell konvertálni az adott karakterkészletbe, például ha nem angol fordítást használunk a --ui-language vagy egy Matroska(TM) fájlból származó szöveg esetében.
mkvmerge(1) ezt a konverziót automatikusan elvégzi a bájtsorrend-jelölő (rövid: BOM) vagy a rendszer aktuális nyelvjárása alapján. Az, hogy a karakterkészletet hogyan következtetjük ki a nyelvi beállításból, attól függ, hogy az mkvmerge(1) milyen operációs rendszeren fut.
Bájtsorrend-jelölők (BOM)
A BOM-mal kezdődő szövegfájlok már az UTF egyik ábrázolásában vannak kódolva. mkvmerge(1) a következő öt módot támogatja: UTF-8, UTF-16 Little és Big Endian, UTF-32 Little és Big Endian. A BOM-ot tartalmazó szövegfájlok automatikusan UTF-8-ra konvertálódnak. Minden olyan paramétert, amely egyébként beállítaná az ilyen fájl karakterkészletét (pl. --sub-charset), némán figyelmen kívül hagy.
Linux és Unix-szerű rendszerek, beleértve a macOS-t is
Unix-szerű rendszereken az mkvmerge(1) a setlocale(3) rendszerhívást használja, amely viszont a LANG, LC_ALL és LC_CYPE környezeti változókat használja. Az eredményül kapott karakterkészlet gyakran az UTF-8 vagy az ISO-8859-* család valamelyike, és minden szöveges fájlművelethez, valamint a parancssorban és a konzolra történő kimenethez használt karakterláncok kódolásához használatos.
Windows
A Windows rendszerben a szövegfájlok konvertálásához használt alapértelmezett karakterkészletet a GetACP() rendszerhívás meghívásával lehet meghatározni.
A parancssor beolvasása a GetCommandLineW() függvénnyel történik, amely már egy Unicode karakterláncot ad vissza. Ezért a --command-line-charset opciót Windowson figyelmen kívül hagyjuk.
A konzolra történő kimenet három forgatókönyvből áll:
Parancssori opciók
A következő opciókkal lehet megadni a karakterkészleteket:
OPCIóS FáJLOK
Az opciós fájl egy olyan fájl, amelyből az mkvmerge(1) további parancssori argumentumokat olvashat be. Ez arra használható, hogy külső programok futtatásakor megkerüljük a shell vagy az operációs rendszer bizonyos korlátait, például a parancssor korlátozott hosszát.
Az opciós fájl JSON-formátumú adatokat tartalmaz. Tartalmának egy érvényes JSON tömbnek kell lennie, amely kizárólag JSON karakterláncokból áll. A fájl kódolásának UTF-8-nak kell lennie. A fájl nem kezdődhet bájtsorrend-jelöléssel (BOM), de ha van ilyen, akkor azt a rendszer kihagyja.
A JSON-on belüli speciális karakterek kikerülésére vonatkozó szabályok a hivatalos JSON specifikációban, a RFC 7159[4]-ben találhatók.
Magát az opciós fájl nevét parancssori argumentumként kell megadni, a '@' karakterrel előtaggal.
A parancssor 'mkvmerge -o "my file.mkv" -A "a film.avi" sound.ogg' átalakítható a következő JSON opciós fájlba, amelynek neve pl. 'options.json':
[ "-o", "c:\\Matroska\\my file.mkv", "--title", "#65", "-A", "a movie.avi", "sound.ogg" ]
A megfelelő parancs ez esetben a következő lenne: 'mkvmerge @options.json'.
FáJLOK öSSZEKAPCSOLáSA
Matroska(TM) támogatja a fájlok összekapcsolását, ami egyszerűen azt jelenti, hogy egy adott fájl az aktuális fájl elődje vagy utódja. Pontosabban, nem is a fájlokat linkeli, hanem az Matroska(TM) szegmenseket. Mivel a legtöbb fájl valószínűleg csak egy Matroska(TM) szegmenst tartalmaz, a következő magyarázatokban a 'fájlkapcsolás' kifejezést használjuk, bár a 'szegmenskapcsolás' kifejezés helyesebb lenne.
Minden egyes szegmenst egy 128 bites egyedi szegmens UID azonosító azonosít. Ezt az UID-t az mkvmerge(1) automatikusan generálja. Az összekapcsolás elsősorban úgy történik, hogy az előző/következő fájl szegmens UID-it (röviden: SID) beillesztjük a szegmens fejléc információiba. mkvinfo(1) kiírja ezeket a SID-ket, ha megtalálja őket.
Ha egy fájl több kisebbre van osztva, és összekapcsolást használunk, akkor az időbélyegek nem 0-ról indulnak újra, hanem ott folytatódnak, ahol az utolsó fájl abbahagyta. Így az abszolút idő akkor is megmarad, ha az előző fájlok nem állnak rendelkezésre (pl. streaming esetén). Ha nem használunk linkelést, akkor az időbélyegeknek minden egyes fájl esetében 0-ról kell kezdődniük. Alapértelmezés szerint az mkvmerge(1) nem használja a fájlok összekapcsolását. Ha ezt szeretné, akkor a --link opcióval bekapcsolhatja. Ez az opció csak akkor hasznos, ha az osztás is be van kapcsolva.
Függetlenül attól, hogy a felosztás aktív-e vagy sem, a felhasználó megmondhatja az mkvmerge(1) parancsnak, hogy az előállított fájlokat meghatározott SID-khez kösse. Ezt a --link-to-previous és --link-to-next opciókkal lehet elérni. Ezek az opciók egy SID szegmenst fogadnak el abban a formátumban, amelyet az mkvinfo(1) kiad: 0x00 és 0xff közötti 16 hexadecimális számot, amelyek mindegyikének előtagja '0x', pl. '0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93'. Alternatívaként egy rövidebb forma is használható: 16 hexadecimális szám 0x00 és 0xff között, a '0x' előtagok és a szóközök nélkül, pl. '41da7366d9cfb21eae78ebb45ecab393'.
Ha a megosztást használja, akkor az első fájl a SID opcióval megadott --link-to-previous, az utolsó fájl pedig a SID opcióval megadott --link-to-next azonosítóhoz kapcsolódik. Ha a szétválasztást nem használjuk, akkor az egyik kimeneti fájl mind a két SID-hez kapcsolódik.
ALAPéRTELMEZETT éRTéKEK
A Matroska(TM) specifikáció szerint néhány elemnek alapértelmezett értéke van. Általában egy elemet nem írunk a fájlba, ha az értéke megegyezik az alapértelmezett értékkel, hogy helyet takarítsunk meg. Azok az elemek, amelyeket a felhasználó esetleg hiányolhat az mkvinfo(1) kimenetéből, a nyelv és a alapértelmezett sávjelző elemek. A language alapértelmezett értéke az angol ('eng'), a default track flag alapértelmezett értéke pedig true. Ezért ha a --language 0:eng-t használta egy trackhez, akkor az nem fog megjelenni az mkvinfo(1) kimenetén.
MELLéKLETEK
Maybe you also want to keep some photos along with your Matroska(TM) file, or you're using SSA subtitles and need a special TrueType(TM) font that's really rare. In these cases you can attach those files to the Matroska(TM) file. They will not be just appended to the file but embedded in it. A player can then show those files (the 'photos' case) or use them to render the subtitles (the 'TrueType(TM) fonts' case).
Here's an example how to attach a photo and a TrueType(TM) font to the output file:
$ mkvmerge -o output.mkv -A video.avi sound.ogg \\ --attachment-description "Én és a zenekar a színpad mögött egy kis összejövetelen" \\ --attachment-mime-type image/jpeg \\ --attach-file me_and_the_band.jpg \\ --attachment-description "Az igazán ritka és hihetetlenül jól kinéző betűtípus" \\ --attachment-mime-type application/octet-stream \\ --attach-file really_cool_font.ttf
Ha egy mellékleteket tartalmazó Matroska(TM) fájlt használunk bemeneti fájlként, akkor az mkvmerge(1) átmásolja a mellékleteket az új fájlba. A --attachments és --no-attachments opciókkal módosítható, hogy mely mellékleteket másolja és melyeket nem.
FEJEZETEK
A Matroska(TM) fejezetrendszer sokkal erősebb, mint a OGM fájlok által használt régi ismert rendszer. A teljes specifikáció megtalálható a a Matroska(TM) weboldalon[1].
mkvmerge(1) kétféle fejezetfájlt támogat bemenetként. Az első formátum, az úgynevezett 'egyszerű fejezetformátum' ugyanaz a formátum, mint amit a OGM eszközök elvárnak. A második formátum egy XML. alapú fejezetformátum, amely támogatja a Matroska(TM) összes fejezetfunkcióját.
Eltekintve a dedikált fejezet fájlokat mkvmerge(1) is olvasni fejezetek más fájlformátumok (pl. MP4, Ogg, Blu-ray vagy DVD).
Az egyszerű fejezet formátum
Ez a formátum olyan sorpárokból áll, amelyek 'CHAPTERxx=' és 'CHAPTERxxNAME=' kezdetűek. Az első tartalmazza a kezdő időbélyeget, míg a második a címet. Íme egy példa:
CHAPTER01=00:00:00.000 CHAPTER01NAME=Előszó CHAPTER02=00:02:30.000 CHAPTER02NAME=A baba felkészül a ringatásra CHAPTER03=00:02:42.300 CHAPTER03NAME=A baba ringatja a házat
mkvmerge(1) minden pár vagy sor egy Matroska(TM) ChapterAtom. Nem állít be semmilyen ChapterTrackNumber-t, ami azt jelenti, hogy minden fejezet a fájl összes sávjára vonatkozik.
Mivel ez egy szöveges fájl, a karakterkészlet átalakítására lehet, hogy szükség lesz. Lásd a szövegfájlok és karakterkészletek című szakaszt, ahol elmagyarázzuk, hogyan konvertál az mkvmerge(1) a karakterkészletek között.
Az XML. alapú fejezet formátum
Az XML. alapú fejezetformátum a következő példában látható:
<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE Chapters SYSTEM "matroskachapters.dtd"> <Chapters> <EditionEntry> <ChapterAtom> <ChapterTimeStart>00:00:30.000</ChapterTimeStart> <ChapterTimeEnd>00:01:20.000</ChapterTimeEnd> <ChapterDisplay> <ChapterString>Egy rövid fejezet</ChapterString> <ChapterLanguage>eng</ChapterLanguage> </ChapterDisplay> <ChapterAtom> <ChapterTimeStart>00:00:46.000</ChapterTimeStart> <ChapterTimeEnd>00:01:10.000</ChapterTimeEnd> <ChapterDisplay> <ChapterString>A rövid fejezet egy része</ChapterString> <ChapterLanguage>eng</ChapterLanguage> </ChapterDisplay> </ChapterAtom> </ChapterAtom> </EditionEntry> </Chapters>
Ezzel a formátummal három olyan dolog lehetséges, ami az egyszerű fejezetformátummal nem:
Az mkvtoolnix disztribúció tartalmaz néhány mintafájlt a doc alkönyvtárban, amelyek alapul szolgálhatnak.
Az alábbiakban felsoroljuk a támogatott XML-címkéket, adattípusaikat és adott esetben az értékeik érvényes tartományát:
Chapters (master) EditionEntry (master) EditionUID (előjel nélküli egész szám, érvényes tartomány: 1 <= érték) EditionFlagHidden (előjel nélküli egész szám, érvényes tartomány: 0 <= érték <= 1) EditionFlagDefault (előjel nélküli egész szám, érvényes tartomány: 0 <= érték <= 1) EditionFlagOrdered (előjel nélküli egész szám, érvényes tartomány: ChapterAtom (master) ChapterAtom (master) ChapterUID (előjel nélküli egész szám, érvényes tartomány: 1 <= érték) ChapterTimeStart (előjel nélküli egész szám) ChapterTimeEnd (előjel nélküli egész szám) ChapterFlagHidden (előjel nélküli egész szám, érvényes tartomány: 0 <= érték <= 1) ChapterFlagEnabled (előjel nélküli egész szám, érvényes tartomány: 1 <= érték) ChapterDisplay (master) ChapterString (UTF-8 string) ChapterLanguage (UTF-8 string) ChapterCountry (UTF-8 string) ChapterProcess (master) ChapterProcessCodecID (előjel nélküli egész) ChapterProcessPrivate (bináris) ChapterProcessCommand (master) ChapterProcessTime (előjel nélküli egész) ChapterProcessData (bináris)
Fejezetek olvasása Blu-ray lemezekről
mkvmerge(1) képes fejezeteket olvasni a titkosítatlan Blu-ray lemezekről. Ehhez használhatja az egyik MPLS lejátszási lista elérési útvonalát a --fejezetek paraméterrel.
Példa: --chapters /srv/blurays/BigBuckBunny/BDMV/PLAYLIST/00001.mpls
Fejezetek olvasása DVD-ről
When MKVToolNix is compiled with the libdvdread(TM) library, mkvmerge(1) can read chapters from DVDs. For that you can use the path to one of the folders or files on the DVD with the --chapters parameter. As DVDs can contain more than one title and each title has its own set of chapters, you can append a colon and the desired title number to the end of the file name argument. The title number defaults to 1.
Példa: --fejezetek /srv/dvds/BigBuckBunny/VIDEO_TS:2
Általános megjegyzések
A fájlok felosztásakor a mkvmerge(1) helyesen állítja be a fejezeteket is. Ez azt jelenti, hogy minden fájl csak a rá vonatkozó fejezetbejegyzéseket tartalmazza, és hogy az időbélyegek eltolódnak, hogy megfeleljenek az egyes kimeneti fájlok új időbélyegeinek.
Az mkvmerge(1) képes fejezeteket másolni a Matroska(TM) forrásfájlokból, hacsak ezt nem tiltja le a --no-chapters opció. Az összes forrásból származó fejezetek (Matroska(TM) fájlok, Ogg fájlok, MP4 fájlok, fejezet szöveges fájlok) általában nem kerülnek összevonásra, hanem külön ChapterEditions -ben végzik. Csak akkor, ha a fejezeteket több Matroska(TM) vagy XML. fájlból olvassa be, amelyeknek ugyanaz a kiadás UID-je, a fejezetek egyetlen ChapterEdition-be lesznek összevonva. Ha ilyen összevonásra van szükség más helyzetekben is, akkor a felhasználónak először ki kell vonnia a fejezeteket az összes forrásból a mkvextract(1) segítségével, majd kézzel össze kell vonnia az XML. fájlokat, és utána össze kell őket kevernie.
CíMKéK
Bevezetés
A Matroska(TM) címke rendszere hasonló más konténerekéhez: KEY=VALUE párok halmaza. Az Matroska(TM)-ban azonban ezek a címkék egymásba is ágyazhatók, és mind a KEY, mind a VALUE saját elemek. A example-tags-2.xml példafájl mutatja be ennek a rendszernek a használatát.
A címkék alkalmazási köre
Matroska(TM) címkék nem vonatkoznak automatikusan a teljes fájlra. Lehetnek, de a fájl különböző részeire is vonatkozhatnak: egy vagy több zeneszámra, egy vagy több fejezetre, vagy akár a kettő kombinációjára is. A Matroska(TM) specifikáció[5] további részleteket tartalmaz erről a tényről.
Egy fontos tény, hogy a címkék a Targets Matroska(TM) tag elemmel kapcsolódnak a számokhoz vagy fejezetekhez, és hogy az ehhez a kapcsolódáshoz használt UID-k nem a számok azonosítói, amelyeket az mkvmerge(1) mindenhol használ. Ehelyett a használt számok azok az UID-k, amelyeket az mkvmerge(1) automatikusan kiszámít (ha a track nem Matroska(TM) fájlformátumból származik), vagy amelyeket a forrásfájlból másolnak, ha a track forrásfájlja egy Matroska(TM) fájl. Ezért nehéz megmondani, hogy melyik UID-t kell használni a tag fájlban, mielőtt a fájlt átadnánk az mkvmerge(1) -nek.
Az mkvmerge(1) két opciót ismer, amelyekkel címkéket adhat hozzá a Matroska(TM) fájlokhoz: A --global-tags és a --tags opciókat. A különbség az, hogy az előbbi opció, --global-tags a címkéket a teljes fájlra vonatkoztatja, eltávolítva a fent említett Targets elemek bármelyikét. Az utóbbi opció, --tags, automatikusan beilleszti az UID-t, amelyet az mkvmerge(1) generál a --tags opció TID részével megadott címkéhez.
Példa
Tegyük fel, hogy címkéket akarsz hozzáadni egy AVI-ről beolvasott videósávhoz. mkvmerge --identify file.avi megmondja, hogy a videósáv azonosítója (ne keverjük össze ezt az azonosítót az UID-vel!) 0. Tehát létrehozzuk a címkefájlt, kihagyjuk az összes Targets elemet és meghívjuk az mkvmerge(1) -t:
$ mkvmerge -o file.mkv --tags 0:tags.xml file.avi
Címke fájlformátum
mkvmerge(1) támogatja az XML. alapú tag fájlformátumot. A formátum nagyon szorosan a Matroska(TM) specifikáció[5] mintájára készült. Az MKVToolNix bináris és forráskódú disztribúciói egyaránt tartalmaznak egy example-tags-2.xml nevű mintafájlt, amely egyszerűen felsorolja az összes ismert taget, és amely alapul szolgálhat a valós tagfájlokhoz.
Az alapok a következők:
Adattípusok
Az új Matroska(TM) címkézési rendszer csak két adattípust ismer, egy UTF-8 karakterláncot és egy bináris típust. Az elsőt a tag nevéhez és a <String> elemhez használjuk, míg a bináris típust a <Binary> elemhez.
Mivel a bináris adatok önmagukban nem férnek bele egy XML. fájlba, az mkvmerge(1) két másik módszert is támogat a bináris adatok tárolására. Ha egy XML. tag tartalma '@'-val kezdődik, akkor a következő szöveget fájlnévként kezeli. A megfelelő fájl tartalma bemásolódik a Matroska(TM) elembe.
Ellenkező esetben az adatok várhatóan Base64 kódolásúak lesznek. Ez egy olyan kódolás, amely a bináris adatokat ASCII karakterek korlátozott halmazává alakítja át, és például e-mail programokban használatos. mkvextract(1) a bináris elemek Base64 kódolt adatait adja ki.
A deprecated tagging rendszer ismer még néhány adattípust, amelyek a hivatalos Matroska(TM) tag specifikációkban találhatók. Mivel az mkvmerge(1) már nem támogatja ezt a rendszert, ezeket a típusokat itt nem írjuk le.
Ismert címkék az XML fájlformátumhoz
Az alábbiakban felsoroljuk a támogatott XML-címkéket, adattípusaikat és adott esetben az értékeik érvényes tartományát:
Címkék (master) Címke (master) Célpontok (master) TargetTypeValue (előjel nélküli egész szám) TargetType (UTF-8 string) TrackUID (előjel nélküli egész szám) EditionUID (előjel nélküli egész szám) ChapterUID (előjel nélküli egész szám) AttachmentUID (előjel nélküli egész szám) Simple (master) Simple (master) Name (UTF-8 string) TagLanguage (UTF-8 string) DefaultLanguage (előjel nélküli egész szám) String (UTF-8 string) Binary (bináris)
INFORMáCIóS SZEGMENS
A szegmensinformációs XML-fájl segítségével lehetőség van bizonyos értékek beállítására a "szegmensinformáció" fejléc mezőben egy Matroska(TM) fájlban. Ezek az értékek mindegyike nem állítható be más parancssori opciókkal.
Más "szegmensinformációk" fejléc mezők beállíthatók a parancssori opciókkal, de nem az XML-fájlon keresztül. Ide tartoznak például a --cím és a --timestamp-scale opciók.
Vannak más elemek is, amelyek sem a parancssori opciókkal, sem az XML-fájlokkal nem állíthatók be. Ezek közé tartoznak a következő elemek: DateUTC (más néven "muxing date"), MuxingApp, WritingApp és Duration. Ezeket mindig maga az mkvmerge(1) állítja be.
Az alábbiakban felsoroljuk a támogatott XML-címkéket, adattípusaikat és adott esetben az értékeik érvényes tartományát:
Info (master) SegmentUID (bináris, érvényes tartomány: hossza bájtban == 16) SegmentFilename (UTF-8 string) PreviousSegmentUID (bináris, érvényes tartomány: hossza bájtban == 16) PreviousSegmentFilename (UTF-8 string) NextSegmentUID (bináris, érvényes tartomány: hossza bájtban == 16) NextSegmentUID (bináris, érvényes tartomány: NextSegmentFilename (UTF-8 string) SegmentFamily (bináris, érvényes tartomány: hossza bájtban == 16) ChapterTranslate (master) ChapterTranslateEditionUID (egész szám előjel nélkül) ChapterTranslateCodec (egész szám előjel nélkül) ChapterTranslateID (bináris)
MATROSKA(TM) FáJL ELRENDEZéS
A Matroska(TM) fájlelrendezés meglehetősen rugalmas. mkvmerge(1) egy fájlt előre meghatározott módon renderel. Az eredményül kapott fájl így néz ki:
[EBML head] [szegmens {meta seek #1} [szegmensinformáció] [pályainformáció] {csatolmányok} {chapters} [cluster 1] {cluster 2} ... {cluster n} {cues} {meta seek #2} {tags}]]
A szögletes zárójelben lévő elemek opcionálisak, és a tartalomtól és a használt opcióktól függnek. Néhány megjegyzés:
A lehető legrövidebb Matroska(TM) fájl így nézne ki:
[EBML-fej] [szegmens [szegmensinformáció] [pályainformáció] [klaszter 1]]]
Ez csak hangfájlok esetében fordulhat elő.
KüLSő IDőBéLYEGZő FáJLOK
mkvmerge(1) lehetővé teszi a felhasználó számára, hogy maga válassza ki az időbélyegeket egy adott számhoz. Ez felhasználható változó képkockasebességű videofájlok létrehozásához vagy a hangban lévő hézagok beillesztéséhez. A képkocka ebben az esetben az az egység, amelyet az mkvmerge(1) Matroska(TM) blokkonként külön-külön hoz létre. Videó esetében ez pontosan egy képkocka, hang esetében pedig egy csomag az adott hangtípusból. Például AC-3 esetén ez egy csomag, amely 1536 mintát tartalmaz.
A sávok egymáshoz csatolásakor használt időbélyegfájlokat csak a sávok láncolatának első részéhez kell megadni. Ha például két fájlt csatolsz, a v1.avi és a v2.avi fájlt, és időbélyegzőket akarsz használni, akkor a parancssorodnak valahogy így kell kinéznie:
$ mkvmerge ... --timestamps 0:my_timestamps.txt v1.avi +v2.avi
Négy formátumot ismer fel a mkvmerge(1). Az első sor mindig a verziószámot tartalmazza. Az üres sorokat, a csak szóközöket tartalmazó sorokat és a '#' kezdetű sorokat figyelmen kívül hagyja.
Időbélyegző fájlformátum v1
Ez a formátum a verzió sorral kezdődik. A második sor a másodpercenkénti képkockák alapértelmezett számát adja meg. Minden következő sor három, vesszővel elválasztott számot tartalmaz: a kezdőkocka (0 az első kocka), a végkocka és az ebben a tartományban lévő kockák száma. A FPS egy lebegőpontos szám, a tizedesvessző a '.' pont. A tartományok tartalmazhatnak hézagokat, amelyekre az alapértelmezett FPS értéket használja. Egy példa:
# időbélyeg formátum v1 assume 27.930 800,1000,25 1500,1700,30
Időbélyegző fájlformátum v2
Ebben a formátumban minden sor tartalmazza a megfelelő képkocka időbélyegét. Ezt az időbélyeget milliszekundumos pontossággal kell megadni. Lehet lebegőpontos szám, de nem feltétlenül kell, hogy az legyen. Legalább annyi időbélyegzős sort kell megadnod, ahány képkocka van a pályán. Az időbélyegeket ebben a fájlban rendezni kell. Példa 25fps esetén:
# időbélyeg formátum v2 0 40 80
Időbélyegző fájlformátum v3
Ebben a formátumban minden sorban szerepel egy másodpercben megadott időtartam, amelyet a másodpercenkénti képkockák opcionális száma követ. Mindkettő lehet lebegőpontos szám. Ha a másodpercenkénti képkockák száma nincs megadva, akkor az alapértelmezettet kell használni. Hang esetén hagyni kell, hogy a codec maga számolja ki a képkocka időbélyegeket. Ehhez a másodpercenkénti képkockák számaként 0.0 értéket kell használnod. A folyamban hézagokat is létrehozhatsz a 'gap' kulcsszó használatával, amelyet a hézag időtartama követ. Példa egy hangfájlra:
# időbélyeg formátum v3 feltételezzük 0.0 25.325 7.530,38.236 ap, 10.050 2.000,38.236
Időbélyegző fájlformátum v4
Ez a formátum megegyezik a v2 formátummal. Az egyetlen különbség, hogy az időbélyegeket nem kell rendezni. Ezt a formátumot szinte soha nem szabad használni.
KILéPéSI KóDOK
mkvmerge(1) három kilépési kód egyikével lép ki:
KöRNYEZETI VáLTOZóK
mkvmerge(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:
MKVMERGE_DEBUG, MKVTOOLNIX_DEBUG és annak rövidített formája MTX_DEBUG.
MKVMERGE_ENGAGE, MKVTOOLNIX_ENGAGE és annak rövidített formája MTX_ENGAGE.
LáSD MéG
mkvinfo(1), mkvextract(1), mkvpropedit(1), mkvtoolnix-gui(1)
WWW
A legfrissebb verzió mindig megtalálható a az MKVToolNix honlapon[6].
AUTHOR
Moritz Bunkus <moritz@bunkus.org>
NOTES
- 1.
- a Matroska(TM) weboldal
- 2.
- az IANA honlapon
- 3.
- mkvmerge-identification-output-schema-v20.json
- 4.
- RFC 7159
- 5.
- Matroska(TM) specifikáció
- 6.
- az MKVToolNix honlapon
2025-06-14 | MKVToolNix 93.0 |