mkvpropedit(1) | Команды пользователя | mkvpropedit(1) |
mkvpropedit - Изменяет свойства существующих файлов Matroska без сложного ремультиплексирования
mkvpropedit [параметры] {имя-исходного-файла} {действия}
Это приложение анализирует существующий файл Matroska и изменяет некоторые его свойства. Затем оно записывает эти изменения в существующий файл. Среди свойств, которые можно изменить, есть элементы информации о сегментах (например, название) и заголовки дорожек (например, код языка, флаг «дорожка по умолчанию» или название).
Параметры:
-l, --list-property-names
-p, --parse-mode режим
Действия для работы с дорожками и свойствами информационных сегментов:
-e, --edit selector
По умолчанию mkvpropedit(1) будет править раздел информации о сегменте.
Смотрите раздел редактирование селекторов для полного описания синтаксиса.
-a, --add name=значение
-s, --set name=значение
-d, --delete name
Действия для работы с тегами и главами:
-t, --tags selector:имя-файла
selector должен быть одним из слов all, global или track. Для all mkvpropedit(1) заменит или удалит все теги в файле. С global только глобальные теги будут заменены или удалены.
With track mkvpropedit(1) will replace tags for a specific track. Additionally the tags read from filename will be assigned to the same track. The track is specified in the same way edit selectors are specified (see below), e.g. --tags track:a1:new-audio-tags.xml.
--add-track-statistics-tags
--delete-track-statistics-tags
-c, --chapters имя-файла
Действия для обработки вложений:
--add-attachment имя-файла
Если параметр --attachment-name использовался до этого параметра, его значение используется как имя нового вложения. Иначе он является производным от filename.
Если параметр --attachment-mime-type использовался до этого параметра, его значение используется как тип MIME нового вложения. Иначе он автоматически обнаруживается из содержимого filename.
Если параметр --attachment-description использовался до этого параметра, его значение используется как описание нового вложения. Иначе описание не устанавливается.
Если параметр --attachment-uid использовался до этого параметра, его значение используется как UID нового вложения. В ином случае будет автоматически создан случайный UID.
--replace-attachment селектор:имя-файла
selector может иметь одну из четырёх форм. Они описаны ниже в разделе селекторы вложений.
Если параметр --attachment-name использовался до этого параметра, его значение устанавливается в виде нового имени для каждого изменённого вложения. Иначе имена не меняются.
Если параметр --attachment-mime-type использовался до этого параметра, его значение устанавливается в виде нового типа MIME для каждого изменённого вложения. Иначе типы MIME не меняются.
Если параметр --attachment-description использовался до этого параметра, его значение устанавливается в виде нового описания для каждого изменённого вложения. Иначе описания не меняются.
Если параметр --attachment-uid использовался до этого параметра, его значение устанавливается в виде нового UID для каждого изменённого вложения. Иначе UID не меняются.
--update-attachment селектор
selector может иметь одну из четырёх форм. Они описаны ниже в разделе селекторы вложений.
Если параметр --attachment-name использовался до этого параметра, его значение устанавливается в виде нового имени для каждого изменённого вложения. Иначе имена не меняются.
Если параметр --attachment-mime-type использовался до этого параметра, его значение устанавливается в виде нового типа MIME для каждого изменённого вложения. Иначе типы MIME не меняются.
Если параметр --attachment-description использовался до этого параметра, его значение устанавливается в виде нового описания для каждого изменённого вложения. Иначе описания не меняются.
Если параметр --attachment-uid использовался до этого параметра, его значение устанавливается в виде нового UID для каждого изменённого вложения. Иначе UID не меняются.
--delete-attachment селектор
selector может иметь одну из четырёх форм. Они описаны ниже в разделе селекторы вложений.
Параметры действий над вложениями:
--attachment-name имя
--attachment-mime-type тип-mime
--attachment-description описание
--enable-legacy-font-mime-types
This affects both adding new attachments and replacing existing attachments, but only if the new MIME type isn't specified. Other existing attachments aren't changed.
Затрагиваются типы 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 режим
В канонической форме все подтеги, для которых существуют предпочтительные значения, заменяются этими предпочтительными значениями. Это преобразует, например, «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 кодировка
--output-charset кодировка
-r, --redirect-output имя-файла
--ui-language код
--abort-on-warnings
--debug тематика
--engage функция
--gui-mode
-v, --verbose
-h, --help
-V, --version
@файл-параметров.json
The --edit option sets the Matroska file section (segment information or a certain track's headers) that all following add, set and delete actions operate on. This stays valid until the next --edit option is found. The argument to this option is called the edit selector.
По умолчанию mkvpropedit(1) будет править раздел информации о сегменте.
Информацию о сегменте можно выбрать одним из трех слов: «info», «segment_info» или «segmentinfo». Он содержит такие свойства, как заголовок сегмента или UID сегмента.
Заголовки дорожек можно выбрать с помощью несколько более сложного селектора. Все варианты начинаются с «track:». Свойства заголовка дорожки включают такие элементы, как код языка, флаг «дорожка по умолчанию» или название дорожки.
track:n
Нумерация начинается с 1.
track:tn
Нумерация начинается с 1.
track:=uid
track:@номер
Из-за природы селекторов редактирования дорожек возможно, что несколько селекторов действительно соответствуют одному и тому же заголовку дорожки. В таких случаях все действия для этих селекторов редактирования будут объединены и выполнены в том порядке, в котором они указаны в командной строке.
Селектор вложений используется для двух действий: --replace-attachment и --delete-attachment. Он может принимать одну из следующих четырех форм:
The following example edits a file called 'movie.mkv'. It sets the segment title and modifies the language code of an audio and a subtitle track. Note that this example can be shortened by leaving out the first --edit option because editing the segment information element is the default for all options found before the first --edit option anyway.
$ mkvpropedit фильм.mkv --edit info --set "title=Фильм" --edit track:a1 --set language=fre --edit track:a2 --set language=ita
Второй пример удаляет «флаг дорожка по умолчанию» с первой дорожки субтитров и устанавливает его для второй. Обратите внимание, что mkvpropedit(1) в отличие от mkvmerge(1), не устанавливает «флаг дорожка по умолчанию» для других дорожек на «0», если для некоторой дорожки автоматически установлено значение «1».
$ mkvpropedit фильм.mkv --edit track:s1 --set flag-default=0 --edit track:s2 --set flag-default=1
Замена тегов во второй дорожке субтитров файла выглядит так:
$ mkvpropedit фильм.mkv --tags track:s2:new-subtitle-tags.xml
Удаление всех тегов требует указания имени файла:
$ mkvpropedit фильм.mkv --tags all:
Замена глав в файле выглядит так:
$ mkvpropedit фильм.mkv --chapters новые-главы.xml
Удаление всех глав происходит без указания имени выходного файла:
$ mkvpropedit фильм.mkv --chapters ''
Добавление файла шрифта (Arial.ttf) в виде вложения:
$ mkvpropedit фильм.mkv --add-attachment Arial.ttf
Добавление файла шрифта (89719823.ttf) в виде вложения и описание информации, что это Arial:
$ mkvpropedit фильм.mkv --attachment-name Arial.ttf --attachment-description 'Шрифт Arial в виде шрифта TrueType' --attachment-mime-type application/x-truetype-font --add-attachment 89719823.ttf
Замена вложенного файла шрифта (Comic.ttf) другим (Arial.ttf):
$ mkvpropedit фильм.mkv --attachment-name Arial.ttf --attachment-description 'Шрифт Arial в виде шрифта TrueType' --replace-attachment name:Comic.ttf:Arial.ttf
Удаление второго вложенного файла, неважно какого именно:
$ mkvpropedit фильм.mkv --delete-attachment 2
Удаление всех вложенных шрифтов по типу MIME:
$ mkvpropedit фильм.mkv --delete-attachment mime-type:application/x-truetype-font
mkvpropedit(1) завершается с одним из трёх кодов:
Подробное обсуждение того, как все инструменты пакета MKVToolNix обрабатывают преобразование наборов символов, кодировку ввода / вывода, кодировку командной строки и кодировку консоли, смотрите в разделе с идентичным названием в справочной странице mkvmerge(1).
mkvpropedit(1) использует стандартные переменные, определяющие системный язык (например: LANG и семейство LC_*). Дополнительные переменные:
MKVPROPEDIT_DEBUG, MKVTOOLNIX_DEBUG и его краткая форма MTX_DEBUG
MKVPROPEDIT_ENGAGE, MKVTOOLNIX_ENGAGE и его краткая форма MTX_ENGAGE
Последняя версия программы всегда доступна на домашней странице MKVToolNix[1].
Мориц Бункус <moritz@bunkus.org>
2023-02-12 | MKVToolNix 74.0.0 |