1. Szinopszis#
2. Leírás#
Ez a program elemez egy meglévő Matroska(tm) fájlt, és módosítja annak néhány tulajdonságát. Ezután ezeket a módosításokat a meglévő fájlba írja. A módosítható tulajdonságok közé tartoznak a szegmensinformációs elemek (pl. a cím) és a sávcímek (pl. a nyelvi kód, az 'alapértelmezett sáv' jelző vagy a név).
Lehetőségek:
Option | Description |
---|---|
-l, --list-property-names# |
Felsorolja az összes ismert és szerkeszthető tulajdonság nevét, típusát (string, integer, boolean stb.) és rövid leírását. A program ezt követően kilép. Ezért a forrás-fájlnév paramétert nem kell megadni. |
-p, --parse-mode mode# |
Beállítja az elemzési módot. A 'mode' paraméter lehet 'fast' (ami az alapértelmezett is) vagy 'full'. A 'fast' 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 a 'full' elemzési módot kell beállítania. 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. |
A pálya- és szegmensinformációs tulajdonságokkal foglalkozó műveletek:
Option | Description |
---|---|
-e, --szerkesztés választó# |
Beállítja azt a Matroska(tm) fájlszakaszt (szegmensinformáció vagy egy adott sáv fejléc), amelyre a következő add, set és delete műveletek hatnak. Ez az opció többször is használható, hogy egynél több elemet módosítson. Alapértelmezés szerint az mkvpropedit(1) szerkeszti a szegmensinformációs részt. A szintaxis teljes leírását lásd a választók szerkesztése című részben. |
-a, --add name=value# |
Hozzáad egy név tulajdonságot a érték értékkel. A tulajdonság akkor is hozzáadásra kerül, ha már létezik ilyen tulajdonság. Vegye figyelembe, hogy a legtöbb tulajdonság egyedi, és nem fordulhat elő többször. |
-s, --set name=value# |
A név tulajdonság minden előfordulását a érték értékre állítja. Ha ilyen tulajdonság nem létezik, akkor hozzáadódik. |
-d, --delete name# |
Törli a név tulajdonság összes előfordulását. Vegye figyelembe, hogy egyes tulajdonságok kötelezőek, és nem törölhetők. |
Címkékkel és fejezetekkel foglalkozó műveletek:
Option | Description |
---|---|
-t, --tags selector:filename# |
A fájlban lévő címkéket a filename címkékkel egészíti ki vagy helyettesíti, vagy eltávolítja őket, ha a filename üres. mkvpropedit(1) ugyanazt az XML címkeformátumot olvassa, mint amit az mkvmerge(1) is. A választó a all, global vagy track szavak egyikének kell lennie. A all esetén az mkvpropedit(1) az összes taget kicseréli vagy eltávolítja a fájlban. A global esetén csak a globális címkék lesznek kicserélve vagy eltávolítva. A track mkvpropedit(1) egy adott trackhez tartozó címkéket cserél ki. Emellett a filename-ből beolvasott címkék ugyanahhoz a sávhoz lesznek rendelve. A sávot ugyanúgy kell megadni, ahogyan a szerkesztési szelektorok is megadhatók (lásd alább), pl. --tags track:a1:new-audio-tags.xml. |
--add-track-statistics-tags# |
Kiszámítja a statisztikákat a fájlban lévő összes zeneszámra, és új statisztikai címkéket ad hozzá. Ha a fájl már tartalmaz ilyen címkéket, akkor azokat frissíti. |
--delete-track-statistics-tags# |
Törli az összes meglévő pályastatisztikai címkét egy fájlból. Ha a fájl nem tartalmaz pályastatisztikai címkéket, akkor nem módosítja. |
-c, --chapters filename# |
A fájlban lévő fejezetek hozzáadása vagy helyettesítése a filename fájlban lévő fejezetekkel, vagy eltávolítása, ha a filename üres. mkvpropedit(1) ugyanazokat az XML és egyszerű fejezetformátumokat olvassa, mint a mkvmerge(1) is. |
A mellékletek kezelésére szolgáló műveletek:
Option | Description |
---|---|
--add-attachment filename# |
Új csatolmányt ad hozzá a fájlnév címről. Ha a --csatolmány-név opciót ezt az opciót megelőzően használták, akkor annak értéke lesz az új csatolmány neve. Ellenkező esetben a filename értékéből származik. Ha ezt az opciót megelőzően a --attachment-mime-type opciót használták, akkor annak értéke lesz az új csatolmány MIME-típusa. Ellenkező esetben a filename tartalmából automatikusan felismerésre kerül. Ha a --csatolás-leírás opciót ezt az opciót megelőzően használták, akkor annak értéke lesz az új csatolmány leírása. Ellenkező esetben nem kerül beállításra leírás. Ha ezt az opciót megelőzően a --attachment-uid opciót használták, akkor annak értéke lesz az új csatolmány UID-je. Ellenkező esetben a rendszer automatikusan egy véletlenszerű UID-t generál. |
---helyettesítő csatolás kiválasztó:fájlnév# |
Egy vagy több, a kiválasztó-nek megfelelő csatolmányt kicserél a fájlnév fájlra. Ha egynél több meglévő csatolmány felel meg a kiválasztó-nek, akkor az összes csatolmány tartalmát a filenév tartalmával helyettesíti. A választó négyféleképpen alakulhat. Ezeket az alábbiakban a attachment selectors szakaszban ismertetjük. Ha ezt az opciót megelőzően a --csatolmány-név opciót használták, akkor annak értéke minden egyes módosított csatolmány új neveként kerül beállításra. Ellenkező esetben a nevek nem változnak. Ha ezt az opciót megelőzően a --attachment-mime-type opciót használták, akkor annak értéke minden egyes módosított csatolmány új MIME-típusaként kerül beállításra. Ellenkező esetben a MIME típusok nem változnak. Ha ezt az opciót megelőzően a --csatolás-leírás opciót használták, akkor annak értéke minden egyes módosított csatolmány új leírásaként kerül beállításra. Ellenkező esetben a leírások nem változnak. Ha ezt az opciót megelőzően a --attachment-uid opciót használták, akkor annak értéke minden egyes módosított csatolmány új UID-jeként kerül beállításra. Ellenkező esetben az UID-k nem változnak. |
--update-attachment selector# |
Egy vagy több olyan csatolmány tulajdonságainak beállítása, amelyek megfelelnek a kiválasztó értéknek. Ha egynél több meglévő csatolmány felel meg a választó értéknek, akkor az összes tulajdonságuk frissül. A választó négyféleképpen alakulhat. Ezeket az alábbiakban a attachment selectors szakaszban ismertetjük. Ha ezt az opciót megelőzően a --csatolmány-név opciót használták, akkor annak értéke minden egyes módosított csatolmány új neveként kerül beállításra. Ellenkező esetben a nevek nem változnak. Ha ezt az opciót megelőzően a --attachment-mime-type opciót használták, akkor annak értéke minden egyes módosított csatolmány új MIME-típusaként kerül beállításra. Ellenkező esetben a MIME típusok nem változnak. Ha ezt az opciót megelőzően a --csatolás-leírás opciót használták, akkor annak értéke minden egyes módosított csatolmány új leírásaként kerül beállításra. Ellenkező esetben a leírások nem változnak. Ha ezt az opciót megelőzően a --attachment-uid opciót használták, akkor annak értéke minden egyes módosított csatolmány új UID-jeként kerül beállításra. Ellenkező esetben az UID-k nem változnak. |
--delete-attachment selector# |
Töröl egy vagy több olyan csatolmányt, amelyek megfelelnek a választó. A választó négyféleképpen alakulhat. Ezeket az alábbiakban a attachment selectors szakaszban ismertetjük. |
A csatolási műveletek lehetőségei:
Option | Description |
---|---|
--csatlakozás-név név# |
Beállítja a következő --add-attachment vagy --replace-attachment művelethez használandó nevet. |
--attchment-mime-type mime-type# |
Beállítja a következő --add-attachment vagy --replace-attachment művelethez használandó MIME-típust. |
--attchment-description leírás# |
Beállítja a következő --add-attachment vagy --replace-attachment művelethez használandó leírást. |
--enable-legacy-font-mime-types# |
Lehetővé teszi a régi MIME típusok használatát bizonyos típusú betűmellékletekhez. Például a 'application/x-truetype-font' a TrueType betűtípusok esetében a 'fonts/ttf' helyett használatos. Ez mind az új mellékletek hozzáadását, mind a meglévő mellékletek cseréjét érinti, de csak akkor, ha az új MIME típus nincs megadva. A többi meglévő csatolmány nem változik. 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'. |
Egyéb lehetőségek:
Option | Description |
---|---|
--disable-language-ietf# |
Normális esetben, amikor a felhasználó a 'language' pálya fejléc tulajdonságának módosítását kéri, az mkvpropedit(1) ugyanezt a módosítást az új LanguageIETF pálya fejléc elemre is alkalmazza a régi Language elem mellett. Ha ezt az opciót használja, a módosítás csak a régi Language elemre kerül alkalmazásra. Ez az opció nem érinti a 'language-ietf' sávfejléc tulajdonságon keresztül kért változásokat. |
--normalize-language-ietf mode# |
Engedélyezi az összes IETF BCP 47 nyelvi tag normalizálását vagy a kanonikus formájukra a 'canonical' móddal, vagy a kiterjesztett nyelvi altagok formájára a 'extlang' móddal, vagy kikapcsolja a 'off' móddal. Alapértelmezés szerint a kanonikus formára való normalizálás kerül alkalmazásra. 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. Ez a normalizálás csak a ténylegesen megváltozott elemekre vonatkozik:
A legjobb módja a fájlban lévő összes nyelvi tag normalizálásának az, ha az mkvmerge(1) segítségével remuxolod a fájlt, és a '--normalize-language-ietf' opciót a kívánt módra állítod. |
--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. |
--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 mkvpropedit --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. |
3. Szerkesztés szelektorok#
A --szerkesztés opció beállítja azt a Matroska(tm) fájlrészletet (szegmensinformációk vagy egy adott sáv fejléceit), amelyet az összes következő add, set és delete műveleteket végzi. Ez addig marad érvényben, amíg a következő --edit opciót meg nem találjuk. Ennek az opciónak az argumentumát nevezzük szerkesztési szelektornak.
Alapértelmezés szerint az mkvpropedit(1) szerkeszti a szegmensinformációs részt.
3.1. Információs szegmens#
A szegmensinformáció e három szó egyikével választható ki: 'info', 'segment_info' vagy 'segmentinfo'. Olyan tulajdonságokat tartalmaz, mint a szegmens címe vagy a szegmens UID.
3.2. Pálya fejlécek#
A sávok fejléceit egy kissé összetettebb szelektorral lehet kiválasztani. Minden variáció a 'track:' kezdetűvel kezdődik. A sávfejléc tulajdonságai olyan elemeket tartalmaznak, mint a nyelvi kód, az 'alapértelmezett sáv' jelző vagy a sáv neve.
Option | Description |
---|---|
pálya:n# |
Ha a n paraméter egy szám, akkor a n-edik sáv lesz kiválasztva. A sorrend ugyanaz, mint amit az mkvmerge(1) --identify opció kiad. A számozás 1-től kezdődik. |
pálya:tn# |
Ha a paraméter egyetlen karakterrel kezdődik t, amelyet egy n követ, akkor egy adott sávtípus n-edik sávja lesz kiválasztva. A sávtípus paraméter t e négy karakter egyikének kell lennie: 'a' hangsáv esetén, 'b' gombsáv esetén, 's' felirat-sáv esetén és 'v' videó-sáv esetén. A sávok sorrendje megegyezik azzal, amit az mkvmerge(1) --identify opció kiad. A számozás 1-től kezdődik. |
track:=uid# |
Ha a paraméter '='-val kezdődik, amelyet egy szám követ uid, akkor az a pálya lesz kiválasztva, amelynek UID eleme megegyezik az adott uid elemmel. A pálya UID elemeit az mkvinfo(1) segítségével kaphatjuk meg. |
pálya:@szám# |
Ha a paraméter egy '@' karakterrel kezdődik, amelyet egy szám szám követ, akkor az a pálya lesz kiválasztva, amelynek pályaszám eleme megegyezik ezzel a szám elemmel. A sávszámokat a mkvinfo(1) segítségével kaphatjuk meg. |
3.3. Megjegyzések#
A sávszerkesztési szelektorok természetéből adódóan lehetséges, hogy több szelektor is megegyezik ugyanazzal a sávfejléccel. Ilyen esetekben az ilyen szerkesztési szelektorokhoz tartozó összes művelet kombinálva lesz, és a parancssorban megadott sorrendben fog végrehajtódni.
4. Csatlakozási szelektorok#
A csatolmányválasztót a két művelet --replace-attachment és --delete-attachment segítségével használjuk. A következő négy forma valamelyikével rendelkezhet:
-
Kiválasztás a melléklet azonosítója alapján. Ebben a formában a szelektor egyszerűen egy szám, a csatolmány azonosítója, ahogyan azt az mkvmerge(1) azonosító parancsa kiadja.
-
Kiválasztás a melléklet UID (egyedi azonosító) alapján. Ebben a formában a szelektor az = egyenlőségjel, amelyet egy szám követ, a csatolmány egyedi azonosítója, ahogyan azt az mkvmerge(1) szóbeli azonosító parancsa kiadja.
-
Kiválasztás a melléklet neve alapján. Ebben a formában a szelektor a név: szó, amelyet a meglévő csatolmány neve követ. Ha ezt a választót a --replace-attachment opcióval együtt használjuk, akkor a megfeleltetendő névben lévő kettőspontokat \c-ként kell szedni.
-
MIME-típus szerinti kiválasztás. Ebben a formában a szelektor a mime-type: szó, amelyet a meglévő melléklet MIME típusa követ. Ha ezt a kiválasztót a --replace-attachment kapcsolóval együtt használjuk, akkor a keresett MIME-típuson belüli kettőspontokat \c-ként kell kikerülni.
5. Nyelvi kezelés#
mkvpropedit(1) alapértelmezés szerint többnyire megpróbál helyesen cselekedni. Ezért a language tulajdonság megváltoztatásával az mkvpropedit(1) ugyanazt a változtatást fogja alkalmazni mind az új "LanguageIETF" elemre, mind a régi "Language" elemre, hasonlóan ahhoz, ahogyan az mkvmerge(1) alkalmazza a nyelvet mindkét elemre. Például a mkvpropedit movie.mkv --edit track:2 --set language=zh-TW használatával a "LanguageIETF" elemet zh-TW-ra, a régi "Language" elemet pedig chi-ra állítja.
Ezen kívül van egy új, language-ietf nevű sávfejléc tulajdonság, amely beállítható vagy eltávolítható. Ennek a tulajdonságnak a módosítása csak az új "LanguageIETF" sávfejléc elemre vonatkozik. A figyelmeztetés az, hogy a régi "Language" track header elem kötelező elem a Matroska-ban - ami azt jelenti, hogy még akkor is van implicit értéke, ha nincs jelen a fájlban. Ha a felhasználó csak a language-ietf tulajdonságot állítja be, de a language tulajdonságot nem, az mkvpropedit(1) ezért bizonyos esetekben hozzáadja a régi "Language" elemet & und-ra állítja (azaz "undetermined"), mivel a felhasználó nem adott meg értéket.
XML fejezet- vagy tagfájlok olvasásakor az mkvpropedit(1) úgy működik, mint az mkvmerge(1).
Az új elemek létrehozása teljesen letiltható a `--disable-language-ietf` parancssori 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.
6. Példák#
A következő példa a 'movie.mkv' nevű fájlt szerkeszti. Beállítja a szegmens címét, és módosítja egy hang- és egy felirat-sáv nyelvi kódját. Megjegyezzük, hogy ez a példa lerövidíthető az első --szerkesztés opció elhagyásával, mivel a szegmensinformációs elem szerkesztése az első --szerkesztés opció előtt található összes opció alapértelmezett beállítása.
$ mkvpropedit movie.mkv --edit info --set "title=The movie" --edit track:a1 --set language=fre --edit track:a2 --set language=ita
A második példa eltávolítja az 'alapértelmezett sávjelzőt' az első felirat-sávról, és beállítja a másodikra. Vegyük észre, hogy az mkvpropedit(1) az mkvmerge(1) paranccsal ellentétben nem állítja a többi sáv 'alapértelmezett sávjelzőjét' '0'-ra, ha az egy másik sávnál automatikusan '1'-re van állítva.
$ mkvpropedit movie.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1
A második feliratos sáv címkéinek cseréje a fájlban így néz ki:
$ mkvpropedit movie.mkv --tags track:s2:new-subtitle-tags.xml
Az összes címke eltávolításához a fájlnév elhagyása szükséges:
$ mkvpropedit movie.mkv --tags all:
A fejezetek cseréje egy fájlban így néz ki:
$ mkvpropedit movie.mkv --chapters new-chapters.xml
Az összes fejezet eltávolításához el kell hagyni a fájl nevét:
$ mkvpropedit movie.mkv --chapters ''
Betűtípusfájl (Arial.ttf) csatolmányként történő hozzáadása:
$ mkvpropedit movie.mkv --add-attachment Arial.ttf
Egy betűtípus fájl (89719823.ttf) csatolása mellékletként, és némi információ megadása, mivel ez valóban csak Arial:
$ mkvpropedit movie.mkv --attachment-name Arial.ttf --attachment-description 'Az Arial betűtípus TrueType betűtípusként' --attachment-mime-type application/x-truetype-font --add-attachment 89719823.ttf
Egy csatolt betűtípus (Comic.ttf) fájl cseréje egy másikra (Arial.ttf):
$ mkvpropedit movie.mkv --attachment-name Arial.ttf --attachment-description 'Az Arial betűtípus TrueType betűtípusként' --replace-attachment name:Comic.ttf:Arial.ttf
A második csatolt fájl törlése, bármi is legyen az:
$ mkvpropedit movie.mkv --delete-attachment 2
Az összes csatolt betűtípus törlése MIME-típus szerint:
$ mkvpropedit movie.mkv --delete-attachment mime-type:application/x-truetype-font
7. Kilépési kódok#
mkvpropedit(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 a módosítás sikeresen befejeződött.
-
1 -- Ebben az esetben az mkvpropedit(1) legalább egy figyelmeztetést adott ki, de a módosítás 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 felszólítjuk, hogy ellenőrizze mind a figyelmeztetést, mind az eredményül kapott fájlokat.
-
2 -- Ezt a kilépési kódot hiba esetén használjuk. mkvpropedit(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.
8. Szövegfájlok és karakterkészlet-átalakítások#
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.
9. Környezeti változók#
mkvpropedit(1) a rendszer nyelvjárását meghatározó alapértelmezett változókat használja (pl. LANG és a LC_* család). További változók:
Option | Description |
---|---|
MKVPROPEDIT_DEBUG, MKVTOOLNIX_DEBUG és annak rövidített formája MTX_DEBUG.# |
A tartalmat úgy kezeli, mintha a --debug opcióval adta volna át. |
MKVPROPEDIT_ENGAGE, MKVTOOLNIX_ENGAGE és annak rövidített formája MTX_ENGAGE.# |
A tartalmat úgy kezeli, mintha a --engage opcióval adta volna át. |
10. Lásd még#
mkvmerge(1), mkvinfo(1), mkvextract(1), mkvtoolnix-gui(1)
11. WWW#
A legfrissebb verzió mindig megtalálható a az MKVToolNix honlapon.