mkvpropedit(1) | Команды пользователя | mkvpropedit(1) |
ИМЯ¶
mkvpropedit - Смена свойств существующих файлов Matroska(TM) без полной перепаковки
КРАТКОЕ СОДЕРЖАНИЕ¶
mkvpropedit [параметры] {имя-исходного-файла} {действия}
ОПИСАНИЕ¶
Это приложение анализирует существующий файл Matroska(TM) и изменяет некоторые его свойства. Затем оно записывает эти изменения в существующий файл. Среди свойств, которые можно изменить, есть элементы информации о сегментах (например, название) и заголовки дорожек (например, код языка, флаг «дорожка по умолчанию» или название).
Параметры:
-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 только глобальные теги будут заменены или удалены.
С дорожкой mkvpropedit(1) заменит теги для определённой дорожки. Кроме того, теги, прочитанные из filename, будут назначены той же дорожке. Дорожка указывается так же, как указываются селекторы правки (см. ниже), например, --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
Это влияет как на добавление новых вложений, так и на замену существующих вложений, но только если новый тип 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 режим
В канонической форме все подтеги, для которых существуют предпочтительные значения, заменяются этими предпочтительными значениями. Это преобразует, например, «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
ПРАВКА СЕЛЕКТОРОВ¶
Параметр --edit устанавливает раздел файла Matroska(TM) (информация о сегменте или заголовках определённого трека), с которым выполняются все последующие действия add, set и delete. Это остаётся действительным до тех пор, пока не будет найден следующий параметр --edit. Аргумент этого параметра называется селектором редактирования.
По умолчанию mkvpropedit(1) будет править раздел информации о сегменте.
Информация о сегментах¶
Информацию о сегменте можно выбрать одним из трёх слов: «info», «segment_info» или «segmentinfo». Он содержит такие свойства, как заголовок сегмента или UID сегмента.
Заголовки дорожки¶
Заголовки дорожек можно выбрать с помощью несколько более сложного селектора. Все варианты начинаются с «track:». Свойства заголовка дорожки включают такие элементы, как код языка, флаг «дорожка по умолчанию» или название дорожки.
track:n
Нумерация начинается с 1.
track:tn
Нумерация начинается с 1.
track:=uid
track:@номер
Примечания¶
Из-за природы селекторов редактирования дорожек возможно, что несколько селекторов действительно соответствуют одному и тому же заголовку дорожки. В таких случаях все действия для этих селекторов редактирования будут объединены и выполнены в том порядке, в котором они указаны в командной строке.
СЕЛЕКТОРЫ ВЛОЖЕНИЙ¶
Селектор вложений используется для двух действий: --replace-attachment и --delete-attachment. Он может принимать одну из следующих четырёх форм:
РАБОТА С ЯЗЫКАМИ¶
mkvpropedit(1) в основном старается делать правильные вещи по умолчанию. Поэтому изменения свойства language заставят mkvpropedit(1) применить то же самое изменение как к новому элементу «LanguageIETF», так и к старому элементу «Language», подобно тому, как mkvmerge(1) применяет язык к обоим элементам. Например, при использовании mkvpropedit movie.mkv --edit track:2 --set language=zh-TW элемент «LanguageIETF» будет установлен на zh-TW, а старый элемент «Language» на chi.
Кроме того, есть новое свойство заголовка дорожки под названием language-ietf, которое можно установить или удалить. Изменения этого свойства применяются только к новому элементу заголовка дорожки «LanguageIETF». Оговорка заключается в том, что старый элемент заголовка дорожки «Language» является обязательным элементом в Matroska — это означает, что даже если он отсутствует в файле, он все равно имеет подразумеваемое значение. Когда пользователь устанавливает только свойство language-ietf, но не свойство language, mkvpropedit(1) будет добавлять старый элемент «Language» в определённых случаях и установит его в und (что означает «неопределённый»), так как пользователь не указал для него значение.
При чтении файлов глав XML или тегов mkvpropedit(1) работает так же, как mkvmerge(1).
Создание новых элементов может быть полностью отключено с помощью параметра командной строки «--disable-language-ietf», который действует на все три новых элемента.
С помощью параметра --normalize-language-ietf можно выбрать метод нормализации, применяемый к расширенным языковым подтегам.
ПРИМЕРЫ¶
Следующий пример редактирует файл под названием 'movie.mkv'. Он устанавливает название сегмента и изменяет код языка аудио и дорожки субтитров. Обратите внимание, что этот пример можно сократить, исключив первый параметр --edit, поскольку редактирование элемента информации сегмента является стандартным для всех параметров, найденных перед первым параметром --edit.
$ 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>
ПРИМЕЧАНИЯ¶
- 1.
- домашней странице MKVToolNix
2024-10-19 | MKVToolNix 88.0 |