mkvpropedit(1) | Користувацькі команди | mkvpropedit(1) |
mkvpropedit - Змінити властивості існуючих файлів Matroska без повного перезбирання
mkvpropedit [options] {source-filename} {actions}
Ця програма аналізує існуючий файл Matroska і змінює деякі його властивості. Потім він записує ці зміни в існуючий файл. Серед властивостей, які можна змінити, є елементи інформації про сегменти (наприклад, назва) і заголовки доріжок (наприклад, код мови, прапор «доріжка за замовчуванням» або назва).
Налаштування:
-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 (інформація про сегмент або заголовки певної доріжки), з яким діють усі наступні дії 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. Він може мати одну з наступних чотирьох форм:
Наступний приклад редагує файл під назвою '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
Остання версія завжди може бути знайдена на веб-сторінці MKVToolNix[1].
Moritz Bunkus <moritz@bunkus.org>
2023-02-12 | MKVToolNix 74.0.0 |