mkvpropedit(1) | Користувацькі команди | mkvpropedit(1) |
НАЗВА¶
mkvpropedit - Змінити властивості існуючих файлів Matroska(TM) без повного перезбирання
КОРОТКИЙ ОПИС¶
mkvpropedit [options] {source-filename} {actions}
ОПИС¶
Ця програма аналізує існуючий файл Matroska(TM) і змінює деякі його властивості. Потім він записує ці зміни в існуючий файл. Серед властивостей, які можна змінити, є елементи інформації про сегменти (наприклад, назва) і заголовки доріжок (наприклад, код мови, прапор «доріжка за замовчуванням» або назва).
Налаштування:
-l, --list-property-names
-p, --parse-mode mode
Дії, які впливають на інформаційні властивості доріжки та сегменту:
-e, --edit selector
За замовчуванням mkvpropedit(1) відредагує розділ інформації про сегмент.
Дивіться розділ про редагування селекторів для повного опису синтаксу.
-a, --add name=value
-s, --set name=value
-d, --delete name
Дії, які впливають на теґи та розділи:
-t, --tags selector:filename
selector має бути одним із слів all, global або track. Для all mkvpropedit(1) замінить або видалить усі теги у файлі. З global тільки глобальні теги будуть замінені або видалені.
З доріжкою mkvpropedit(1) замінить теги для певної доріжки. Крім того, теги, прочитані з filename, будуть призначені до тієї ж доріжки. Доріжка вказується так само, як вказуються селектори редагування (див. нижче), напр. --tags track:a1:new-audio-tags.xml.
--add-track-statistics-tags
--delete-track-statistics-tags
-c, --chapters filename
Дії для обробки вкладень:
--add-attachment filename
Якщо параметр --attachment-name використовувався до цього параметра, його значення використовується як ім'я нового вкладення. Інакше він є похідним від filename.
Якщо параметр --attachment-mime-type використовувався до цього параметра, його значення використовується як тип MIME нового вкладення. Інакше це автоматично виявляється зі змісту filename.
Якщо параметр --attachment-description використовувався до цього параметра, його значення ввикористовується як опис нового вкладення. Інакше опис не встановлюється.
Якщо параметр --attachment-uid використовувався до цього параметра, його значення використовується як UID нового вкладення. Інакше рандомний UID буде згенеровано автоматично.
--replace-attachment selector:filename
selector може мати одну з чотирьох форм. Вони пояснюються нижче в розділі Селектор вкладень.
Якщо параметр --attachment-name використовувався до цього параметра, його значення встановлюється як нове ім'я для кожного зміненого вкладення. Інакше імена не змінюються.
Якщо параметр --attachment-mime-type використовувався до цього параметра, його значення встановлюється як новий тип MIME для кожного зміненого вкладення. Інакше тип MIME не змінюється.
Якщо параметр --attachment-description використовувався до цього параметра, його значення встановлюється як новий опис для кожного зміненого вкладення. Інакше опис не змінюється.
Якщо параметр --attachment-uid використовувався до цього параметра, його значення встановлюється як новий UID для кожного зміненого вкладення. Інакше UID не змінюються.
--update-attachment selector
selector може мати одну з чотирьох форм. Вони пояснюються нижче в розділі Селектор вкладень.
Якщо параметр --attachment-name використовувався до цього параметра, його значення встановлюється як нове ім'я для кожного зміненого вкладення. Інакше імена не змінюються.
Якщо параметр --attachment-mime-type використовувався до цього параметра, його значення встановлюється як новий тип MIME для кожного зміненого вкладення. Інакше тип MIME не змінюється.
Якщо параметр --attachment-description використовувався до цього параметра, його значення встановлюється як новий опис для кожного зміненого вкладення. Інакше опис не змінюється.
Якщо параметр --attachment-uid використовувався до цього параметра, його значення встановлюється як новий UID для кожного зміненого вкладення. Інакше UID не змінюються.
--delete-attachment selector
selector може мати одну з чотирьох форм. Вони пояснюються нижче в розділі Селектор вкладень.
Параметри дій з вкладенням:
--attachment-name name
--attachment-mime-type mime-type
--attachment-description description
--enable-legacy-font-mime-types
Це впливає як на додавання нових вкладень, так і на заміну наявних вкладень, але лише якщо новий тип MIME не вказано. Інші наявні вкладення не змінюються.
Типи MIME, що піддаються впливу, це 'font/sfnt', 'font/ttf' та 'font/collection', які всі зіставлені з 'application/x-truetype-fonts' і 'font/otf', який зіставляється з 'application/vnd .ms-opentype'.
Інші параметри:
--disable-language-ietf
Цей параметр не впливає на зміни, запитувані через властивість 'language-ietf' заголовка доріжки.
--normalize-language-ietf mode
У канонічній формі всі підтеги, для яких існують бажані значення, замінюються цими бажаними значеннями. Це перетворює, наприклад, 'zh-yue-jyutping' до 'yue-jyutping' або 'fr-FX' до 'fr-FR'.
Для форми розширених мовних підтегів спочатку будується канонічна форма. Після цього всі основні мови, для яких існує розширений мовний підтег, замінюються цим розширеним мовним підтегом та його префіксом. Це перетворює, наприклад, 'yue-jyutping' повертається до 'zh-yue-jyutping', але не впливає на 'fr-FR', оскільки 'fr' не є розширеним мовним підтегом.
Ця нормалізація застосовується лише до елементів, які фактично змінені:
Найкращий спосіб нормалізувати всі наявні мовні теги у файлі - це зробити його ремукс за допомогою mkvmerge(1) і встановити його параметр '--normalize-language-ietf' у потрібний режим.
--command-line-charset character-set
--output-charset character-set
-r, --redirect-output file-name
--ui-language code
--abort-on-warnings
--debug topic
--engage feature
--gui-mode
-v, --verbose
-h, --help
-V, --version
@options-file.json
СЕЛЕКТОРИ РЕДАГУВАННЯ¶
Параметр --edit встановлює розділ файлу Matroska(TM) (інформація про сегмент або заголовки певної доріжки), з яким діють усі наступні дії add, set та delete. Це залишається дійсним, доки не буде знайдено наступний параметр --edit. Аргумент цього параметра називається селектором редагування.
За замовчуванням mkvpropedit(1) відредагує розділ інформації про сегмент.
Інформація про сегменти¶
Інформацію про сегмент можна вибрати одним із трьох слів: 'info', 'segment_info' або 'segmentinfo'. Він містить такі властивості, як заголовок сегмента або UID сегмента.
Заголовки доріжки¶
Заголовки доріжок можна вибрати за допомогою дещо складнішого селектора. Усі варіанти починаються з 'track:'. Властивості заголовка доріжки включають такі елементи, як код мови, прапоруць 'доріжка за замовчуванням' або назва доріжки.
track:n
Нумерування починається з 1.
track:tn
Нумерування починається з 1.
track:=uid
track:@number
Примітки¶
Через природу селекторів редагування доріжок можливо, що кілька селекторів дійсно відповідають одному і тому заголовку доріжки. У таких випадках усі дії для цих селекторів редагування будуть об’єднані та виконані в тому порядку, у якому вони вказані в командному рядку.
СЕЛЕКТОРИ ВКЛАДЕННЬ¶
Селектор вкладень використовується з двома діями: --replace-attachment і --delete-attachment. Він може мати одну з наступних чотирьох форм:
Language handling¶
mkvpropedit(1) mostly tries to do the right thing by default. Therefore changes to the language property will cause mkvpropedit(1) to apply the same change to both the new "LanguageIETF" element as well as the old "Language" element similar to how mkvmerge(1) applies the language to both elements. For example, when using mkvpropedit movie.mkv --edit track:2 --set language=zh-TW the "LanguageIETF" element will be set to zh-TW and the old "Language" element to chi.
Additionally there's a new track header property named language-ietf that can be set or removed. Changes to this property only apply to the new "LanguageIETF" track header element. A caveat is that the old "Language" track header element is a mandatory element in Matroska — meaning even if it isn't present in the file it still has an implied value. When the user only sets the language-ietf property but not the language property, mkvpropedit(1) will therefore add the old "Language" element in certain cases & set it to und (meaning "undetermined") as the user didn't specify a value for it.
Під час читання файлів розділів XML або файлів теґів mkvpropedit(1) працює так само, як mkvmerge(1).
The creation of the new elements can be disabled completely with the command-line option `--disable-language-ietf` which operates on all three new elements.
You can chose the normalization method applied to extended language sub-tags with the parameter --normalize-language-ietf.
ПРИКЛАДИ¶
Наступний приклад редагує файл під назвою 'movie.mkv'. Він встановлює назву сегмента та змінює код мови аудіо та доріжки субтитрів. Зауважте, що цей приклад можна скоротити, виключивши перший параметр --edit, оскільки редагування елемента інформації про сегмент є за замовчуванням для всіх параметрів, знайдених перед першим параметром --edit.
$ mkvpropedit movie.mkv --edit info --set "title=The movie" --edit track:a1 --set language=fre --edit track:a2 --set language=ita
Другий приклад видаляє «прапор доріжка за замовчуванням» з першої доріжки субтитрів і встановлює його для другої. Зауважте, що mkvpropedit(1), на відміну від mkvmerge(1), не встановлює «прапор доріжка за замовчуванням» для інших доріжок на «0», якщо для деякої доріжки автоматично встановлено значення «1».
$ mkvpropedit movie.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1
Заміна тегів для другої доріжки субтитрів у файлі виглядає так:
$ mkvpropedit movie.mkv --tags track:s2:new-subtitle-tags.xml
Щоб видалити всі теги, потрібно залишити ім’я файлу:
$ mkvpropedit movie.mkv --tags all:
Заміна розділів у файлі має такий вигляд:
$ mkvpropedit movie.mkv --chapters new-chapters.xml
Щоб видалити всі розділи, потрібно залишити ім’я файлу:
$ mkvpropedit movie.mkv --chapters ''
Додавання файла шрифта (Arial.ttf) у якості вкладення:
$ mkvpropedit movie.mkv --add-attachment Arial.ttf
Додавання файла шрифта (89719823.ttf) у якості вкладення і надання деякої інформації, оскільки це насправді просто Arial:
$ mkvpropedit movie.mkv --attachment-name Arial.ttf --attachment-description 'The Arial font as a TrueType font' --attachment-mime-type application/x-truetype-font --add-attachment 89719823.ttf
Заміна одного файла шрифту вкладення (Comic.ttf) іншим (Arial.ttf):
$ mkvpropedit movie.mkv --attachment-name Arial.ttf --attachment-description 'The Arial font as a TrueType font' --replace-attachment name:Comic.ttf:Arial.ttf
Видалення другого вкладеного файлу, яким би він не був:
$ mkvpropedit movie.mkv --delete-attachment 2
Видалення всіх вкладених шрифтів за типом MIME:
$ mkvpropedit movie.mkv --delete-attachment mime-type:application/x-truetype-font
КОДИ ЗАВЕРШЕННЯ¶
mkvpropedit; завершає роботу з одним з трьох кодів виходу:
ТЕКСТОВІ ФАЙЛИ ТА ПЕРЕТВОРЕННЯ НАБОРУ СИМВОЛІВ¶
Для детального ознайомлення з тим, як усі інструменти в пакеті MKVToolNix виконують перетворення набору символів, кодування введення/виводу, кодування командного рядка та консольне кодування, будь ласка, перегляньте розділ з ідентичною назвою в посібнику користувача mkvmerge(1)
ЗМІННІ СЕРЕДОВИЩА¶
mkvpropedit(1) використовує змінні за замовчуванням, які визначають локаль системи (сімейства типу LANG і LC_*). Додаткові змінні:
MKVPROPEDIT_DEBUG, MKVTOOLNIX_DEBUG і їх коротка форма MTX_DEBUG
MKVPROPEDIT_ENGAGE, MKVTOOLNIX_ENGAGE і їх коротка форма MTX_ENGAGE
ДИВІТЬСЯ ТАКОЖ¶
WWW¶
Остання версія завжди може бути знайдена на веб-сторінці MKVToolNix[1].
АВТОР¶
Moritz Bunkus <moritz@bunkus.org>
ПРИМІТКИ¶
- 1.
- MKVToolNix
2024-10-19 | MKVToolNix 88.0 |