'\" t .\" Title: mkvmerge .\" Author: Мориц Бункус .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2024-04-28 .\" Manual: Команды пользователя .\" Source: MKVToolNix 84.0 .\" Language: Russian .\" .TH "mkvmerge" "1" "2024\-04\-28" "MKVToolNix 84\&.0" "Команды пользователя" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "НАЗВАНИЕ" mkvmerge \- Паковщик мультимедийных потоков в файл Matroska .SH "КРАТКОЕ СОДЕРЖАНИЕ" .HP \w'\fBmkvmerge\fR\ 'u \fBmkvmerge\fR [глобальные\ параметры] {\-o\ выход} [параметры1] {файл1} [[параметры2]\ {файл2}] [@файл\-параметров\&.json] .SH "ОПИСАНИЕ" .PP Эта программа принимает входные данные из нескольких медиафайлов и соединяет их потоки (все или только выбранные) в файл Matroska; смотрите \m[blue]\fBсайт Matroska\fR\m[]\&\s-2\u[1]\d\s+2\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBВажно\fR .ps -1 .br .PP Порядок параметров в командной строке очень важен\&. Пожалуйста, прочтите раздел \(FoПорядок параметров\(Fc, если вы незнакомы с программой\&. .sp .5v .RE .SS "Глобальные параметры" .PP \fB\-v\fR, \fB\-\-verbose\fR .RS 4 Увеличить детализацию\&. .RE .PP \fB\-q\fR, \fB\-\-quiet\fR .RS 4 Скрыть вывод состояния\&. .RE .PP \fB\-o\fR, \fB\-\-output\fR \fIимя\-файла\fR .RS 4 Записать в файл \fIимя\-файла\fR\&. Если используется разбиение, то этот параметр трактуется несколько иначе\&. Сморите описание параметра \fB\-\-split\fR для подробностей\&. .RE .PP \fB\-w\fR, \fB\-\-webm\fR .RS 4 Создайть файл, совместимый с WebM\&. Это также включено, если расширение имени выходного файла \(em \(Fowebm\(Fc\&. В этом режиме есть несколько ограничений\&. Разрешены только кодеки VP8, видео VP9 и аудиодорожки Opus, Vorbis\&. Элемент заголовка DocType изменён на \(Fowebm\(Fc\&. .sp Для глав и тэгов разрешена только подгруппа элементов\&. \fBmkvmerge\fR(1) автоматически удалит все элементы, неразрешённые спецификацией\&. .RE .PP \fB\-\-title\fR \fIзаголовок\fR .RS 4 Устанавливает основной заголовок для выходного файла, например, имя фильма\&. .RE .PP \fB\-\-default\-language\fR \fIкод\-языка\fR .RS 4 Задаёт код языка по умолчанию, который будет использоваться для треков, у которых не установлен язык с параметром \fB\-\-language\fR и у которых исходный контейнер не предоставляет язык\&. .sp Стандартный код для \(Foнеопределённого\(Fc языка \(em und\&. .RE .SS "Обработка информации о сегментах (глобальные параметры)" .PP \fB\-\-segmentinfo\fR \fIимя\-файла\&.xml\fR .RS 4 Прочесть информацию о сегменте из файла XML\&. Этот файл может содержать UID семейства сегментов, UID сегмента, элементы UID предыдущего и следующего сегмента\&. Пример файла и DTD включены в дистрибутив MKVToolNix\&. .sp Смотрите раздел XML\-файлы информации о сегментах ниже для подробностей\&. .RE .PP \fB\-\-segment\-uid\fR \fISID1,SID2,\&.\&.\&.\fR .RS 4 Задаёт UID используемых сегментов\&.Это разделяемый запятыми список 128\-битных сегментных UIDов в обычной форме записи UID: шестнадцатеричное число с префиксом "0x" или без, с пробелами или без, длиной ровно в 32 символа\&. .sp Если SID начинается с =, то остальное будет распознано как имя файла Matroska, чей сегмент UID считывается и используется\&. .sp Каждый созданный файл содержит один сегмент, и каждый сегмент имеет один UID сегмента\&. Если указано больше UID сегментов, чем создано сегментов, то лишние UID игнорируются\&. Если указано меньше UID, чем создано сегментов, то для них будут созданы случайные UID\&. .RE .SS "Работа с главами и тегами (глобальные параметры)" .PP \fB\-\-chapter\-language\fR \fIкод\-языка\fR .RS 4 Задаёт код языка в формате ISO 639\-2, который записывается для каждой записи главы\&. По умолчанию используется \*(Aqeng\*(Aq\&. Подробности ниже в разделе главы\&. .sp Этот параметр можно использовать как для простых файлов глав, так и для исходных файлов, содержащих главы без информации об их языке, напр\&., файлы MP4 и OGM\&. .sp Язык, указанный в этом параметре, также используется и при генерации глав с помощью параметра \fB\-\-generate\-chapters\fR\&. .RE .PP \fB\-\-chapter\-charset\fR \fIкодировка\fR .RS 4 Устанавливает набор символов, который используется для преобразования в UTF\-8 для простых файлов глав\&. Смотрите раздел о текстовых файлах и наборах символов, чтобы узнать, как \fBmkvmerge\fR(1) преобразует наборы символов\&. .sp Этот переключатель также применяется к главам, скопированным из определённых типов контейнеров, например файлов Ogg/OGM и MP4\&. Дополнительные сведения смотрите ниже в разделе о главах\&. .RE .PP \fB\-\-chapter\-sync\fR \fId\fR\fI[,o[/p]]\fR .RS 4 Отрегулировать отметки времени глав в следующем исходном файле на \fId\fR мс\&. В качестве альтернативы вы можете использовать параметр \fB\-\-sync\fR со специальным идентификатором дорожки \fB\-2\fR (сморите раздел \(FoСпециальные идентификаторы дорожек\(Fc)\&. .sp \fIo\fR/\fIp\fR: поправка временных меток с помощью \fIo\fR/\fIp\fR, чтобы исправить линейные смещения\&. По умолчанию в случае пропуска \fIp\fR равно 1\&. И \fIo\fR и \fIp\fR могут быть числами с плавающей запятой\&. .sp По умолчанию: ручная коррекция синхронизации отключена (что равноценно \fId\fR = \fB0\fR и \fIo\fR/\fIp\fR = \fB1\&.0\fR)\&. .sp Этот параметр можно использовать несколько раз для входного файла, применяемого к нескольким дорожкам, с указанием разных идентификаторов дорожек\&. .RE .PP \fB\-\-generate\-chapters\fR \fIрежим\fR .RS 4 \fBmkvmerge\fR(1) может автоматически создавать главы\&. На данный момент поддерживаются следующие два режима: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \*(Aqwhen\-appending\*(Aq \(en Этот режим создаёт одну главу, соответствующую началу каждого добавленного файла\&. .sp Этот режим также работает с режимами разделения \(Foчастей:\(Fc и \(Foчастей\-кадров:\(Fc\&. Для этих режимов создаётся одна глава для каждого добавленного диапазона временных меток (тех, чьи начальные метки времени имеют префикс \(Fo+\(Fc)\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПримечание\fR .ps -1 .br \fBmkvmerge\fR(1) требует наличия видео или аудиодорожки, для определения того, что будет добавлен новый файл\&. При слиянии одной или нескольких видеодорожек используется первая\&. В ином случае используется первая звуковая дорожка\&. .sp .5v .RE .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \(Fointerval:\fItime\-spec\fR\(Fc \(em этот режим создаёт одну главу с фиксированными интервалами по данным из \fItime\-spec\fR\&. Формат в форме \fIHH: MM: SS\&.nnnnnnnnn\fR или число, за которым следует одна из единиц \(Fos\(Fc, \(Foms\(Fc или \(Fous\(Fc\&. .sp Пример: \-\-generate\-chapters interval:45s .RE .sp Названия новых глав управляются параметром \-\-generate\-chapters\-name\-template\&. Язык устанавливается с помощью \-\-chapter\-language, который должен быть указан перед \fB\-\-generate\-chapters\fR\&. .RE .PP \fB\-\-generate\-chapters\-name\-template\fR \fIшаблон\fR .RS 4 Указывает шаблон имени для имён заголовков, создаваемых параметром \-\-generate\-chapters\&. Если параметр не указан, то по умолчанию используется "Chapter "\&. .sp Существует несколько переменных, которые можно использовать в шаблоне, и которые заменяются их фактическими значениями во время создания главы\&. Строка \(Fo\(Fc будет заменена номером главы\&. Строка \(Fo\(Fc будет заменена меткой времени начала главы\&. .sp Строки \(Fo\(Fc и \(Fo\(Fc заполняются только при создании глав для добавляемых файлов\&. Они будут заменены именем добавляемого файла без указания соответственно его расширения\&. Обратите внимание, что вставляются только базовое имя и расширение файла, а не его каталог или компоненты диска\&. .sp Вы можете указать минимальное число мест для номера главы с помощью \(Fo\(Fc, например, \(Fo\(Fc\&. Полученное число будет дополнено ведущими нулями, если число мест меньше указанного\&. .sp Вы можете управлять форматом, используемым начальной меткой времени, с помощью \&. Когда формат не задан, то умолчанию используется \*(Aq%H:%M:%S\*(Aq\&. Допустимыми кодами формата являются: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %h \(en часы .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %H \(en часы, дополненные нулями до двух позиций .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %m \(en минуты .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %M \(en минуты, дополненные нулями до двух позиций .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %s \(en секунды .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %S \(en секунды, дополненные нулями до двух позиций .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %n \(en наносекунды с девятью позициями .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} %<1\-9>n \(en наносекунды с указанием до девяти позиций (например, с тремя позициями %3n) .RE .RE .PP \fB\-\-cue\-chapter\-name\-format\fR \fIформат\fR .RS 4 \fBmkvmerge\fR(1) поддерживает чтение списков CUE для аудиофайлов в качестве входных данных для глав\&. Списки CUE обычно содержат записи \fIPERFORMER\fR и \fITITLE\fR для каждой записи индекса\&. \fBmkvmerge\fR(1) использует эти две строки для создания названия главы\&. С помощью этого параметра можно установить формат, используемый для этого имени\&. .sp Если этот параметр не задан, то \fBmkvmerge\fR(1) по умолчанию использует формат \(Fo%p \- %t\(Fc (исполнитель, за которым следует пробел, тире, ещё один пробел и заголовок)\&. .sp Если формат указан, то всё, исключая мета\-символы, копируется как есть, а сами мета\-символы подменяются следующим образом: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fI%p\fR подменён текущим значением строки \fIPERFORMER\fR, .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fI%t\fR подменён текущим значением строки \fITITLE\fR, .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fI%n\fR подменён номером текущей дорожки и .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fI%N\fR подменён номером текущей дорожки с добавлением начального нуля, если это < 10\&. .RE .RE .PP \fB\-\-chapters\fR \fIимя\-файла\fR .RS 4 Считывает информацию о главе из файла \fIимя\-файла\fR\&. Подробности смотрите в разделе о главах ниже\&. .RE .PP \fB\-\-global\-tags\fR \fIимя\-файла\fR .RS 4 Считывает глобальные теги из файла \fIимя\-файла\fR\&. Подробности смотрите в разделе о тегах ниже\&. .RE .SS "Основные настройки вывода (расширенные глобальные параметры)" .PP \fB\-\-track\-order\fR \fIFID1:TID1,FID2:TID2,\&.\&.\&.\fR .RS 4 Этот параметр меняет порядок, в котором создаются дорожки для входного файла\&. Аргументом является список пар ИД, разделённых запятыми\&. Каждая пара изначально содержит ИД файла (\fIFID1\fR), который является просто номером файла в командной строке, начиная с 0\&. Вторым является ИД дорожки (\fITID1\fR) из этого файла\&. Если некоторые ИД дорожек пропущены, эти дорожки создаются после того, как были созданы дорожки, заданные этим параметром\&. .sp Если этот параметр не указан, дорожки будут отсортированы по их типу в первую очередь и по порядку их исходного файла во вторую очередь\&. Первыми идут видеодорожки, затем аудиодорожки и дорожки субтитров\&. Другие редко используемые типы дорожек идут последними\&. .RE .PP \fB\-\-cluster\-length\fR \fIсвойство\fR .RS 4 Ограничивает число блоков данных или длительность данных в каждом кластере\&. Параметр \fIspec\fR может быть числом \fIn\fR без единиц или числом \fId\fR с постфиксом \(Foms\(Fc\&. .sp Если значение не указано, то \fBmkvmerge\fR(1) поместит в каждый кластер не более \fIn\fR блоков данных\&. Максимальное количество блоков \(em 65535\&. .sp Если число \fId\fR имеет постфикс \(Foms\(Fc, тогда \fBmkvmerge\fR(1) размещает максимум \fId\fR миллисекунд данных в каждый кластера\&. Диапазон для \fId\fR \(em от \(Fo100 мс\(Fc до \(Fo32000 мс\(Fc\&. .sp По умолчанию \fBmkvmerge\fR(1) размещает не более 65535 блоков и 5000 мс данных в кластер\&. .sp Программы, пытающиеся найти определённый кадр, могут обращаться только непосредственно к кластеру, а затем должны прочесть весь кластер\&. Поэтому создание больших кластеров может привести к неточному или медленному поиску\&. .RE .PP \fB\-\-clusters\-in\-meta\-seek\fR .RS 4 Указывает \fBmkvmerge\fR(1) создать метаэлемент поиска в конце файла, содержащего все кластеры\&. Смотрите также раздел о компоновке файла Matroska\&. .RE .PP \fB\-\-timestamp\-scale\fR \fIфактор\fR .RS 4 Принудительное применение \fIфактора\fR к масштабированию временных меток\&. Допустимы значения в интервале \fB1000\fR\&.\&.\fB10000000\fR или специальное значение \fB\-1\fR\&. .sp Обычно \fBmkvmerge\fR(1) использует значение \fB1000000\fR, что означает, что метки времени и длительности имеют точность 1 мс\&. Для файлов, которые не содержат в себе видеодорожку, но имеют по крайней мере одну звуковую \fBmkvmerge\fR(1) автоматически выберет коэффициент масштаба метки времени, чтобы все метки времени и длительность имели точность до одного звукового образца\&. Это влечёт за собой большие накладные расходы, но обеспечивает точный поиск и извлечение\&. .sp Если используется специальное значение \-1, то \fBmkvmerge\fR(1) будет использовать точность до одного семпла, даже если видео\-дорожка присутствует\&. .RE .PP \fB\-\-enable\-durations\fR .RS 4 Записать длительность всех блоков\&. Это увеличит размер файла и на данный момент не несёт никакой ценности для проигрывателей\&. .RE .PP \fB\-\-no\-cues\fR .RS 4 Сообщает \fBmkvmerge\fR(1) не создавать и записывать данные cue, которые могут быть сопоставлены с индексом в AVI\&. Файлы Matroska можно воспроизводить без данных cue, но поиск, вероятно, будет неточным и медленным\&. Используйте это, только если вы действительно крайне нуждаетесь в месте или в целях тестирования\&. Смотрите также параметр \fB\-\-cues\fR, который можно указать для каждого входного файла\&. .RE .PP \fB\-\-no\-date\fR .RS 4 По умолчанию \fBmkvmerge\fR(1) устанавливает в поле информации о сегменте \(Foдата\(Fc время и дату начала мультиплексирования\&. C этим параметром это поле вообще не записывается\&. .RE .PP \fB\-\-disable\-lacing\fR .RS 4 Отключает сшивания на всех дорожках\&. Это увеличит размер файла, особенно если в нём много звуковых дорожек\&. Этот параметр не для повседневного использования\&. .RE .PP \fB\-\-disable\-track\-statistics\-tags\fR .RS 4 Обычно \fBmkvmerge\fR(1) записывает определённые теги со статистикой для каждой дорожки\&. Если такие теги уже есть, они будут перезаписаны\&. Теги: \fBBPS\fR, \fBDURATION\fR, \fBNUMBER_OF_BYTES\fR и \fBNUMBER_OF_FRAMES\fR\&. .sp Включение этого параметра запрещает \fBmkvmerge\fR(1) записывать эти теги и перезаписывать существующие теги с такими же названиями\&. .RE .PP \fB\-\-disable\-language\-ietf\fR .RS 4 Обычно \fBmkvmerge\fR(1) записывает новые языковые элементы IETF BCP 47 в дополнение к устаревшим языковым элементам в заголовках, главах и тегах дорожек\&. Если используется этот параметр, записываются только устаревшие элементы\&. .RE .PP \fB\-\-normalize\-language\-ietf\fR \fIрежим\fR .RS 4 Позволяет нормализовать все языковые теги IETF BCP 47 к их канонической форме с режимом \(Focanonical\(Fc, к их форме расширенных языковых подтегов с помощью режима \(Foextlang\(Fc или отключает его в режиме off\&. По умолчанию применяется нормализация к канонической форме\&. .sp В канонической форме все подтеги, для которых существуют предпочтительные значения, заменяются этими предпочтительными значениями\&. Это преобразует, например, \(Fozh\-yue\-jyutping\(Fc в \(Foyue\-jyutping\(Fc или \(Fofr\-FX\(Fc в \(Fofr\-FR\(Fc\&. .sp Для формы расширенных языковых подтегов изначально строится каноническая форма\&. После этого все основные языки, для которых существует расширенный языковой подтег, заменяются этим расширенным языковым подтегом и его префиксом\&. Это преобразует, например, \(Foyue\-jyutping\(Fc обратно к \(Fozh\-yue\-jyutping\(Fc, но не влияет на \(Fofr\-FR\(Fc, потому что \(Fofr\(Fc не является расширенным языковым подтегом\&. .RE .PP \fB\-\-stop\-after\-video\-ends\fR .RS 4 Прекращает обработку по окончании основной видеодорожки, отбрасывая все оставшиеся пакеты других дорожек\&. .RE .SS "Разбиение, связывание, соединение и склеивание файлов (другие глобальные параметры)" .PP \fB\-\-split\fR \fIспецификация\fR .RS 4 Разрезает выходной файл по достижению заданного размера или заданного времени\&. Обратите внимание, что треки могут быть разделены только непосредственно перед ключевым кадром\&. Поэтому точка разделения может быть немного не совпадать с тем, что указал пользователь\&. .sp На данный момент \fBmkvmerge\fR(1) поддерживает следующие режимы: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} Разбиение по размеру\&. .sp Синтаксис: \fB\-\-split\fR [size:]\fId\fR[k|m|g] .sp Примеры: \-\-split size:700m или \-\-split 150000000 .sp Параметр \fId\fR может заканчиваться на \(Fok\(Fc \(Fom\(Fc или \(Fog\(Fc, чтобы указать, что размер в КБ, МБ или ГБ соответственно\&. В ином случае предполагается размер в байтах\&. После того как текущий исходный файл достигнет этого ограничения размера, будет создан новый\&. .sp Префикс \*(Aqsize:\*(Aq может быть опущен по соображениям совместимости\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} Разбиение по прошествии времени\&. .sp Синтаксис: \fB\-\-split\fR [duration:]\fIHH:MM:SS\&.nnnnnnnnn\fR|\fId\fRs .sp Примеры: \-\-split duration:00:60:00\&.000 или \-\-split 3600s .sp Параметр должен иметь форму \fIHH:MM:SS\&.nnnnnnnnn\fR для определения длительности с точностью до наносекунды или быть числом \fId\fR, за которым следует буква \(Fos\(Fc для длительности в секундах\&. Параметр \fIHH\fR \(em это часы, \fIMM\fR \(em минуты, \fISS\fR \(em секунды, и \fInnnnnnnnn\fR \(em наносекунды\&. Как часы, так и наносекунды можно опустить\&. После запятой может быть до девяти цифр\&. После того, как длительность содержимого текущего вывода достигнет этого предела, будет запущен новый исходный файл\&. .sp Префикс \(Foduration:\(Fc можно опустить с целью совместимости\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ .sp -1 .IP " 3." 4.2 .\} Разбиение после указной метки времени\&. .sp Синтаксис: \fB\-\-split\fR timestamps:\fIA\fR[,\fIB\fR[,\fIC\fR\&.\&.\&.]] .sp Пример: \-\-split timestamps:00:45:00\&.000,01:20:00\&.250,6300s .sp Параметры \fIA\fR, \fIB\fR, \fIC\fR и т\&. п\&. должны иметь тот же формат, что и те, что используются для продолжительности (см\&. выше)\&. Список меток времени разделяется запятыми\&. После того, как входной поток достиг метки времени текущей точки разделения, создаётся новый файл\&. Затем используется следующая точка разделения, указанная в этом списке\&. .sp Префикс \(Fotimestamps:\(Fc нельзя опустить\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ .sp -1 .IP " 4." 4.2 .\} Сохраняет отдельные части, указанные в диапазоне временных меток, и отбрасывает остальные\&. .sp Syntax: \fB\-\-split\fR parts:\fIstart1\fR\-\fIend1\fR[,[+]\fIstart2\fR\-\fIend2\fR[,[+]\fIstart3\fR\-\fIend3\fR\&.\&.\&.]] .sp Примеры: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} \-\-split parts:00:01:20\-00:02:45,00:05:50\-00:10:30 .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} \-\-split parts:00:01:20\-00:02:45,+00:05:50\-00:10:30 .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ .sp -1 .IP " 3." 4.2 .\} \-\-split parts:\-00:02:45,00:05:50\- .RE .sp Режим parts указывает \fBmkvmerge\fR(1) сохранять определённые диапазоны меток времени и отбросить другие\&. Диапазоны, которые необходимо сохранить, должны быть перечислены после ключевого слова parts: и разделены запятыми\&. Сам диапазон состоит из метки времени начала и конца в формате одинакового вида, который принимается в разных вариантах \fI\-\-split\fR (например, 00:01:20 и 80s ссылаются на ту же метку времени)\&. .sp Если начальная метка времени не указана, то по умолчанию будет использована метка времени конца предыдущего диапазона\&. Если предыдущего диапазона нет, то будет использоваться начало файла (см\&. пример 3)\&. .sp Если конечная метка времени не указана, то по умолчанию она указывает на конец фала, так что \fBmkvmerge\fR(1) просто сохранит оставшееся (см\&. пример 3)\&. .sp Обычно каждый диапазон записывается в новый файл\&. Это можно изменить так, чтобы последовательные диапазоны записывались в один файл\&. Для этого пользователь должен поставить перед меткой времени начала символ +\&. Это указывает \fBmkvmerge\fR(1) не создавать новый файл, а вместо этого добавить диапазон в тот же файл, в который был записан предыдущий диапазон\&. Метки времени будут настроены таким образом, чтобы во входном файле не было пробелов, даже если во входном файле был пробел в двух диапазонах\&. .sp В примере 1 \fBmkvmerge\fR(1) создаст два файла\&. Первый будет содержать данные с 00:01:20 по 00:02:45\&. Второй файл будет содержать данные с 00:05:50 по 00:10:30\&. .sp В примере 2 \fBmkvmerge\fR(1) создаст единственный файл\&. Он будет содержать данные как с 00:01:20 по 00:02:45, так и с 00:05:50 по 00:10:30\&. .sp В примере 3 \fBmkvmerge\fR(1) создаст два файла\&. Первый будет содержать данные от начала исходного файла по 00:02:45\&. Второй файл будет содержать данные с 00:05:50 и до конца исходного файла\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПримечание\fR .ps -1 .br Обратите внимание, что \fBmkvmerge\fR(1) выполняет разделение лишь по позициям ключевых кадров\&. Это относится как к началу, так и к концу каждого диапазона\&. Поэтому, даже если метка времени конца находится между двумя ключевыми кадрами, \fBmkvmerge\fR(1) продолжит вывод кадров до следующего ключевого кадра, но не включая его\&. .sp .5v .RE .RE .sp .RS 4 .ie n \{\ \h'-04' 5.\h'+01'\c .\} .el \{\ .sp -1 .IP " 5." 4.2 .\} Сохраняет отдельные части, указанные в диапазоне номеров кадров/полей, и отбрасывает остальные\&. .sp Синтаксис: \fB\-\-split\fR parts\-frames:\fIstart1\fR\-\fIend1\fR[,[+]\fIstart2\fR\-\fIend2\fR[,[+]\fIstart3\fR\-\fIend3\fR\&.\&.\&.]] .sp Примеры: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} \-\-split parts\-frames:137\-258,548\-1211 .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} \-\-split parts\-frames:733\-912,+1592\-2730 .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ .sp -1 .IP " 3." 4.2 .\} \-\-split parts\-frames:\-430,2512\- .RE .sp Режим parts\-frames указывает \fBmkvmerge\fR(1) сохранить определённые диапазоны номеров кадров/полей, отбрасывая другие\&. Диапазоны для сохранения должны быть перечислены после ключевого слова parts\-frames: и разделены запятыми\&. Сам диапазон состоит из начального и конечного номера кадра/поля\&. Нумерация начинается с 1\&. .sp Если начальное число не указано, то по умолчанию будет использовано число конца предыдущего диапазона\&. Если предыдущего диапазона нет, то будет использоваться начало файла (см\&. пример 3)\&. .sp Если конечное число не указано, то по умолчанию оно указывает на конец фала, так что \fBmkvmerge\fR(1) просто сохранит оставшееся (см\&. пример 3)\&. .sp Обычно каждый диапазон записывается в новый файл\&. Это можно изменить так, чтобы последовательные диапазоны записывались в один файл\&. Для этого пользователь должен поставить перед номером начала символ +\&. Это указывает \fBmkvmerge\fR(1) не создавать новый файл, а вместо этого добавить диапазон в тот же файл, в который был записан предыдущий диапазон\&. Метки времени будут настроены таким образом, чтобы во входном файле не было пробелов, даже если во входном файле был пробел в двух диапазонах\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПримечание\fR .ps -1 .br Обратите внимание, что \fBmkvmerge\fR(1) выполняет разделение только по позициям ключевых кадров\&. Это относится как к началу, так и к концу каждого диапазона\&. Поэтому, даже если конечный кадр / номер поля находится между двумя ключевыми кадрами, \fBmkvmerge\fR(1) продолжит вывод кадров вплоть до следующего ключевого кадра, исключая его\&. .sp .5v .RE В примере 1 \fBmkvmerge\fR(1) создаст два файла\&. Первый будет включать содержимое, начиная с первого ключевого кадра 137, но исключая первый ключевой кадр с или после 258\&. Второй файл будет включать содержимое от 548 до 1211\&. .sp В примере 2 \fBmkvmerge\fR(1) создаст только один файл\&. Этот файл будет включать содержимое, начиная с 733 до 912, и содержимое, начиная с 1592 до 2730\&. .sp В примере 3 \fBmkvmerge\fR(1) создаст два файла\&. Первый будет содержать данные от начала исходного файла по 430\&. Второй файл будет содержать данные с 2512 и до конца исходного файла\&. .sp Этот режим берёт для вывода только первую видеодорожку\&. Если вывод не является видеодорожкой, разбиение произведено не будет\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПримечание\fR .ps -1 .br Номера, заданные с этим аргументом, интерпретируются на основе числа выводимых блоков Matroska\&. Единый блок Matroska содержит либо полный кадр (для прогрессивного содержимого) или одно поле (для содержимого с чередованием)\&. mkvmerge не различает их и просто подсчитывает количество блоков\&. Например: если вы хотите разделить после 25\-го полного кадра с чередующимся содержимым, вам придётся в качестве точки разделения указать 50 (два поля на полный кадр)\&. .sp .5v .RE .RE .sp .RS 4 .ie n \{\ \h'-04' 6.\h'+01'\c .\} .el \{\ .sp -1 .IP " 6." 4.2 .\} Разбиение после указанного кадра/поля\&. .sp Синтаксис: \fB\-\-split\fR frames:\fIA\fR[,\fIB\fR[,\fIC\fR\&.\&.\&.]] .sp Пример: \-\-split frames:120,237,891 .sp Все параметры \fIA\fR, \fIB\fR, \fIC\fR и далее должны быть целыми положительными числами\&. Нумерация начинается с 1\&. Список номеров кадров/полей разделяется запятыми\&. После того, как входящий поток достиг номера кадра/поля текущей точки разделения, создаётся новый файл\&. Затем используется следующая точка разделения, указанная в этом списке\&. .sp Префикс \(Foframes:\(Fc нельзя опустить\&. .sp Этот режим берёт для вывода только первую видеодорожку\&. Если вывод не является видеодорожкой, разбиение произведено не будет\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПримечание\fR .ps -1 .br Номера, заданные с этим аргументом, интерпретируются на основе числа выводимых блоков Matroska\&. Единый блок Matroska содержит либо полный кадр (для прогрессивного содержимого) или одно поле (для содержимого с чередованием)\&. mkvmerge не различает их и просто подсчитывает количество блоков\&. Например: если вы хотите разделить после 25\-го полного кадра с чередующимся содержимым, вам придётся в качестве точки разделения указать 50 (два поля на полный кадр)\&. .sp .5v .RE .RE .sp .RS 4 .ie n \{\ \h'-04' 7.\h'+01'\c .\} .el \{\ .sp -1 .IP " 7." 4.2 .\} Разбиение перед указанной главой\&. .sp Синтаксис: \fB\-\-split\fR chapters:all or \fB\-\-split\fR chapters:\fIA\fR[,\fIB\fR[,\fIC\fR\&.\&.\&.]] .sp Пример: \-\-split chapters:5,8 .sp Все параметры A, B, C и далее должны быть целыми положительными числами\&. Нумерация начинается с 1\&. Список номеров глав разделяется запятыми\&. Разделение произойдёт непосредственно перед первым ключевым кадром, метка времени которого равна или больше начальной метки времени для глав, номера которых указаны\&. Глава, начинающаяся с 0s, никогда не рассматривается для разделения и отбрасывается без изменений\&. .sp Вместо указания номеров всех глав, достаточно использовать ключевое слово all\&. .sp Префикс \(Fochapters:\(Fc нельзя опустить\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПримечание\fR .ps -1 .br Формат файла Matroska поддерживает произвольные глубоко вложенные структуры глав, которые называются \(Foзаписями издания\(Fc и \(Foатомами глав\(Fc\&. Однако этот режим учитывает лишь самый высокий уровень глав во всех записях издания\&. .sp .5v .RE .RE .sp Для этого режима разделения имя исходного файла обрабатывается иначе, чем для обычной операции\&. Он может содержать \fBprintf\fR, выражение на подобии \(Fo%d\(Fc, включая необязательную ширину поля, напр\&. \(Fo%02d\(Fc\&. Если это так, то номер текущего файла будет отформатирован соответствующим образом и вставлен в это место имени файла\&. Если такого шаблона нет, то перед расширением файла предусматривается шаблон \(Fo\-%03d\(Fc: \(Fo\-o output\&.mkv\(Fc приведёт к \(Fooutput\-001\&.mkv\(Fc\*(Aq и т\&. д\&. Если расширения нет, к имени будет добавлено \(Fo\-%03d\(Fc\&. .sp Другим возможным шаблоном является \(Fo%c\(Fc, который будет заменён названием первой главы в файле\&. Обратите внимание, что когда присутствует \(Fo%c\(Fc, шаблон \(Fo\-%03d\(Fc не будет добавлен автоматически\&. .RE .PP \fB\-\-link\fR .RS 4 Связать файлы друг с другом при разделении выходного файла\&. Подробности смотрите в разделе о связывание файлов ниже\&. .RE .PP \fB\-\-link\-to\-previous\fR \fIsegment\-UID\fR .RS 4 Связывает первый исходный файл с сегментом из UID сегмента, заданным параметром \fIsegment\-UID\fR\&. Подробности смотрите в разделе связывание файла ниже\&. .sp Если SID начинается с =, то остальное будет распознано как имя файла Matroska, чей сегмент UID считывается и используется\&. .RE .PP \fB\-\-link\-to\-next\fR \fIsegment\-UID\fR .RS 4 Связывает последний исходный файл с сегментом из UID сегмента, заданным параметром \fIsegment\-UID\fR\&. Подробности смотрите в разделе связывание файла ниже\&. .sp Если SID начинается с =, то остальное будет распознано как имя файла Matroska, чей сегмент UID считывается и используется\&. .RE .PP \fB\-\-append\-mode\fR \fIрежим\fR .RS 4 Определяет способ вычисления меток времени при присоединении файлов\&. Параметр \fImode\fR имеет два значения: по умолчанию "file" и "track"\&. .sp Когда mkvmerge добавляет дорожку (теперь называется \(Fotrack2_1\(Fc) из второго файла (с именем \(Fofile2\(Fc) к дорожке (с именем \(Fotrack1_1\(Fc) из первого файла (с именем \(Fofile1\(Fc), то он должен смещать все метки времени для \(Fotrack2_1\(Fc на определённую величину\&. Для режима \(Fofile\(Fc эта сумма является самой высокой меткой времени, встречающейся в \(Fofile1\(Fc, даже если эта метка времени была из дорожки, отличной от \(Fotrack1_1\(Fc\&. В режиме трека сдвиг \(em это самая высокая временная метка \(Fotrack1_1\(Fc\&. .sp К сожалению, mkvmerge не может определить, какой режим надёжен для использования\&. Поэтому по умолчанию он работает в режиме \(Fofile\(Fc\&. Режим \(Fofile\(Fc обычно лучше работает для файлов, которые были созданы независимо друг от друга; например, при добавлении файлов AVI или MP4\&. Режим \(Fotrack\(Fc может работать лучше для источников, которые по сути являются просто частями одного большого файла, например, для файлов VOB и EVO\&. .sp Дорожки субтитров всегда обрабатываются так, как если бы режим \(Fofile\(Fc был активен, даже если включён режим \(Fotrack\(Fc\&. .RE .PP \fB\-\-append\-to\fR \fISFID1:STID1:DFID1:DTID1\fR\fI[,\&.\&.\&.]\fR .RS 4 Этот параметр определяет, к какой дорожке будет добавлена другая дорожка\&. Каждая спецификация содержит четыре идентификатора: ИД файла, ИД дорожки, ИД второго файла и ИД второй дорожки\&. Первая пара, \(FoИД исходного файла\(Fc и \(FoИД исходной дорожки\(Fc, определяет дорожку, которая должна быть добавлена\&. Вторая пара, \(FoИД файла назначения\(Fc и \(FoИД дорожки назначения\(Fc, определяет дорожку, к которой добавляется первая\&. .sp Если этот параметр был пропущен, используется стандартное сопоставление\&. Это стандартное сопоставление добавляет каждую дорожку из текущего файла к дорожке из предыдущего файла с тем же ИД дорожки\&. Это позволяет легко добавлять, если фильм был разделен на две части и оба файла имеют одинаковое количество дорожек и ИД дорожек с помощью команды \fBmkvmerge \-o output\&.mkv part1\&.mkv +part2\&.mkv\fR\&. .RE .PP \fB+\fR .RS 4 Одиночный \(Fo+\(Fc вызывает присоединение следующего файла, а не его добавление\&. \(Fo+\(Fc также можно поставить перед именем следующего файла\&. Поэтому следующие две команды эквивалентны: .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o полный\&.mkv файл1\&.mkv + файл2\&.mkv $ mkvmerge \-o полный\&.mkv файл1\&.mkv +файл2\&.mkv .fi .if n \{\ .RE .\} .RE .PP \fB[\fR \fIфайл1\fR \fIфайл2\fR \fB]\fR .RS 4 Если несколько имён файлов содержатся в паре квадратных скобок, то второй и все последующие файлы будут добавлены к первому файлу, названному в скобках\&. .sp Это альтернативный синтаксис использования \(Fo+\(Fc между двумя именами файлов\&. Поэтому следующие две команды эквивалентны: .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o полный\&.mkv файл1\&.mkv + файл2\&.mkv $ mkvmerge \-o полный\&.mkv \*(Aq[\*(Aq файл1\&.mkv файл2\&.mkv \*(Aq]\*(Aq .fi .if n \{\ .RE .\} .RE .PP \fB=\fR .RS 4 Для определённых типов файлов (программные потоки MPEG, то есть файлы VOB) \fBmkvmerge\fR(1) обычно ищет файлы в том же каталоге, что и входной файл, которые имеют тоже базовое имя и отличаются лишь своим текущим номером (например, \(FoVTS_01_1\&.VOB\(Fc, \(FoVTS_01_2\&.VOB\(Fc, \(FoVTS_01_3\&.VOB\(Fc и т\&. д\&.) и обрабатывает все эти файлы, как если бы они были объединены в один большой файл\&. Этот параметр, т\&. е\&. просто \(Fo=\(Fc, вынудит mkvmerge не искать эти дополнительные файлы\&. .sp Также можно поставить \(Fo=\(Fc перед следующим именем файла\&. Поэтому следующие две команды эквивалентны: .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o полный\&.mkv = файл1\&.vob $ mkvmerge \-o полный\&.mkv =файл1\&.vob .fi .if n \{\ .RE .\} .RE .PP \fB(\fR \fIфайл1\fR \fIфайл2\fR \fB)\fR .RS 4 Если несколько имён файлов находятся в паре скобок, эти файлы будут рассматриваться так, как будто они были объединены в один большой файл, состоящий из содержимого каждого из файлов один за другим\&. .sp Это можно использовать, например, для файлов VOB, поступающих из транспортных потоков DVD или MPEG\&. Его нельзя использовать, если каждый файл содержит собственный набор заголовков, что обычно бывает с отдельными файлами, такими как AVI или MP4\&. .sp Ввод имени файла в скобки также препятствует поиску \fBmkvmerge\fR(1) дополнительных файлов с таким же базовым названием, как описано в параметре \fB=\fR\&. Поэтому эти две командные строки эквивалентны: .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o выход\&.mkv = файл\&.mkv $ mkvmerge \-o выход\&.mkv \*(Aq(\*(Aq файл\&.mkv \*(Aq)\*(Aq .fi .if n \{\ .RE .\} .sp Следует отметить несколько моментов: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} После открывающей и перед закрывающей скобкой должны быть пробелы\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} Каждый параметр между скобками интерпретируется как имя файла\&. Поэтому все параметры, применяемые к этому логическому файлу, должны быть перечислены перед начальной скобкой\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ .sp -1 .IP " 3." 4.2 .\} Некоторые оболочки рассматривают скобки как специальные символы\&. Таким образом, вы должны скрыть или процитировать их, как показано в приведённом выше примере\&. .RE .RE .SS "Поддержка вложений (другие глобальные параметры)" .PP \fB\-\-attachment\-description\fR \fIописание\fR .RS 4 Обычное текстовое описание следующего вложения\&. Применяется к следующему параметру \fB\-\-attach\-file\fR или \fB\-\-attach\-file\-once\fR\&. .RE .PP \fB\-\-attachment\-mime\-type\fR \fIтип MIME\fR .RS 4 Тип MIME следующего вложения\&. Применяется к следующему параметру \fB\-\-attach\-file\fR или \fB\-\-attach\-file\-once\fR\&. Список официально распознаваемых типов MIME можно найти, например, на \m[blue]\fBдомашней странице IANA\fR\m[]\&\s-2\u[2]\d\s+2\&. Тип MIME является обязательным для вложения\&. .sp Если для вложения не задан тип MIME, то его тип будет определён автоматически\&. .RE .PP \fB\-\-attachment\-name\fR \fIимя\fR .RS 4 Устанавливает имя, которое будет сохранено в исходном файле для этого вложения\&. Если этот параметр не указан, имя будет получено из названия файла вложенного файла, заданного с помощью параметров \fB\-\-attach\-file\fR или \fB\-\-attach\-file\-once\fR\&. .RE .PP \fB\-\-attach\-file\fR \fIимя\-файла\fR, \fB\-\-attach\-file\-once\fR \fIимя\-файла\fR .RS 4 Создаёт вложение внутри файла Matroska\&. Перед использованием этого параметра необходимо установить тип MIME\&. Разница между этими двумя формами заключается в том, что при разделении файлы, вложенные с помощью \fB\-\-attach\-file\fR, прикрепляются ко всем исходным файлам, а файлы, прикреплённые с помощью \fB\-\-attach\-file\-once\fR, прикрепляются только к первому созданному файлу\&. Если разделение не используется, то оба делают одно и то же\&. .sp \fBmkvextract\fR(1) может использоваться для извлечения вложений из файла Matroska\&. .RE .PP \fB\-\-enable\-legacy\-font\-mime\-types\fR .RS 4 Позволяет использовать устаревшие типы MIME для определённых типов вложений шрифтов\&. Например, \(Foapplication/x\-truetype\-font\(Fc будет использоваться для шрифтов TrueType вместо \(Fofonts/ttf\(Fc\&. .sp Это влияет как на новые вложения, если их тип MIME обнаружен автоматически, так и на существующие вложения, чьи сохранённые типы MIME будут заменены устаревшими\&. .sp Затрагиваются типы MIME: \(Fofont/sfnt\(Fc, \(Fofont/ttf\(Fc и \(Fofont/collection\(Fc; они сопоставляются с \(Foapplication/x\-truetype\-fonts\(Fc и \(Fofont/otf\(Fc, который сопоставляется с \(Foapplication/vnd \&.ms\-opentype\(Fc\&. .RE .SS "Параметры, которые могут быть использованы для каждого входного файла" .PP \fB\-a\fR, \fB\-\-audio\-tracks\fR \fI[!]\fR\fIn,m,\&.\&.\&.\fR .RS 4 Копировать дорожки аудио \fIn\fR, \fIm\fR и так далее\&. Номера \(em это идентификаторы дорожек, которые можно узнать через переключатель \fB\-\-identify\fR\&. Это не просто номера дорожек (см\&. раздел идентификаторы дорожек)\&. По умолчанию: копировать все дорожки аудио\&. .sp Вместо идентификаторов дорожек вы также можете предоставить коды языков ISO 639\-2\&. Это будет работать только для исходных файлов, которые содержат языковые теги для своих дорожек\&. .sp По умолчанию: копировать любые подобные дорожки\&. .sp Если идентификаторы имеют префикс !, то значение меняется: копировать все дорожки этого типа, кроме тех, которые перечислены после !\&. .RE .PP \fB\-d\fR, \fB\-\-video\-tracks\fR \fI[!]\fR\fIn,m,\&.\&.\&.\fR .RS 4 Копировать дорожки видео \fIn\fR, \fIm\fR и так далее\&. Номера \(em это идентификаторы дорожек, которые можно узнать через переключатель \fB\-\-identify\fR\&. Это не просто номера дорожек (см\&. раздел идентификаторы дорожек)\&. По умолчанию: копировать все дорожки видео\&. .sp Вместо идентификаторов дорожек вы также можете предоставить коды языков ISO 639\-2\&. Это будет работать только для исходных файлов, которые содержат языковые теги для своих дорожек\&. .sp Если идентификаторы имеют префикс !, то значение меняется: копировать все дорожки этого типа, кроме тех, которые перечислены после !\&. .RE .PP \fB\-s\fR, \fB\-\-subtitle\-tracks\fR \fI[!]\fR\fIn,m,\&.\&.\&.\fR .RS 4 Копировать дорожки субтитров \fIn\fR, \fIm\fR и так далее\&. Номера \(em это идентификаторы дорожек, которые можно узнать через переключатель \fB\-\-identify\fR\&. Это не просто номера дорожек (см\&. раздел идентификаторы дорожек)\&. По умолчанию: копировать все дорожки субтитров\&. .sp Вместо идентификаторов дорожек вы также можете предоставить коды языков ISO 639\-2\&. Это будет работать только для исходных файлов, которые содержат языковые теги для своих дорожек\&. .sp Если идентификаторы имеют префикс !, то значение меняется: копировать все дорожки этого типа, кроме тех, которые перечислены после !\&. .RE .PP \fB\-b\fR, \fB\-\-button\-tracks\fR \fI[!]\fR\fIn,m,\&.\&.\&.\fR .RS 4 Копировать дорожки кнопок \fIn\fR, \fIm\fR и так далее\&. Номера \(em это идентификаторы дорожек, которые можно узнать через переключатель \fB\-\-identify\fR\&. Это не просто номера дорожек (см\&. раздел идентификаторы дорожек)\&. По умолчанию: копировать все дорожки кнопок\&. .sp Вместо идентификаторов дорожек вы также можете предоставить коды языков ISO 639\-2\&. Это будет работать только для исходных файлов, которые содержат языковые теги для своих дорожек\&. .sp Если идентификаторы имеют префикс !, то значение меняется: копировать все дорожки этого типа, кроме тех, которые перечислены после !\&. .RE .PP \fB\-\-track\-tags\fR \fI[!]\fR\fIn,m,\&.\&.\&.\fR .RS 4 Копировать дорожки тегов \fIn\fR, \fIm\fR и так далее\&. Номера \(em это идентификаторы дорожек, которые можно узнать через переключатель \fB\-\-identify\fR (см\&. раздел идентификаторы дорожек)\&. Это не просто номера дорожек\&. По умолчанию: копировать все дорожки тегов\&. .sp Если идентификаторы имеют префикс !, то значение разворачиваются: копировать всё кроме идентификаторов, перечисленных после !\&. .RE .PP \fB\-m\fR, \fB\-\-attachments\fR \fI[!]\fR\fIn\fR\fI[:all|first]\fR\fI,m\fR\fI[:all|first]\fR\fI,\&.\&.\&.\fR .RS 4 Копирует вложения с идентификаторами \fIn\fR, \fIm\fR и т\&. д\&. ко всем или только к первому выходному файлу\&. За каждым идентификатором может следовать \(Fo:all\(Fc (что по умолчанию, если ничего не указано) или \(Fo:first\(Fc\&. Если разделение активно, то те вложения, чьи идентификаторы указаны с помощью \(Fo:all\(Fc, копируются во все исходные файлы, а другие копируются только в первый выходной файл\&. Если разделение не активно, оба варианта имеют одинаковый эффект\&. .sp По умолчанию копирует все вложения во все выходные файлы\&. .sp Если идентификаторы имеют префикс !, то значение разворачиваются: копировать всё кроме идентификаторов, перечисленных после !\&. .RE .PP \fB\-A\fR, \fB\-\-no\-audio\fR .RS 4 Не копировать любые аудиодорожки из этого файла\&. .RE .PP \fB\-D\fR, \fB\-\-no\-video\fR .RS 4 Не копировать любые видеодорожки из этого файла\&. .RE .PP \fB\-S\fR, \fB\-\-no\-subtitles\fR .RS 4 Не копировать любые субтитры из этого файла\&. .RE .PP \fB\-B\fR, \fB\-\-no\-buttons\fR .RS 4 Не копировать любые дорожки кнопок из этого файла\&. .RE .PP \fB\-T\fR, \fB\-\-no\-track\-tags\fR .RS 4 Не копировать любые теги дорожек из этого файла\&. .RE .PP \fB\-\-no\-chapters\fR .RS 4 Не копировать главы из этого файла\&. .RE .PP \fB\-M\fR, \fB\-\-no\-attachments\fR .RS 4 Не копировать вложения из этого файла\&. .RE .PP \fB\-\-no\-global\-tags\fR .RS 4 Не копировать глобальные теги из этого файла\&. .RE .PP \fB\-\-regenerate\-track\-uids\fR .RS 4 Когда этот параметр используется для исходного файла Matroska, \fBmkvmerge\fR(1) будет создавать новые случайные уникальные идентификаторы дорожек вместо сохранения существующих в файле\&. Существующие UID дорожек в главах и тегах, считанных из того же файла, будут пересчитаны для новых созданных значений\&. .sp Это поведение автоматически включается для файлов Matroska, созданных программой MakeMKV\&. Причина в том, что MakeMKV использует последовательные числа (1, 2, 3\&.\&.\&.) в качестве UID, а не создаёт случайные\&. .RE .PP \fB\-y\fR, \fB\-\-sync\fR \fITID:d\fR\fI[,o[/p]]\fR .RS 4 Подстраивает временные метки дорожки с идентификатором \fITID\fR на \fId\fRмс\&. Идентификаторы дорожек являются теми же, как и те, которые предоставляются с \fB\-\-identify\fR (см\&. раздел идентификаторы дорожек)\&. .sp \fIo\fR/\fIp\fR: поправка временных меток с помощью \fIo\fR/\fIp\fR, чтобы исправить линейные смещения\&. По умолчанию в случае пропуска \fIp\fR равно 1\&. И \fIo\fR и \fIp\fR могут быть числами с плавающей запятой\&. .sp По умолчанию: ручная коррекция синхронизации отключена (что равноценно \fId\fR = \fB0\fR и \fIo\fR/\fIp\fR = \fB1\&.0\fR)\&. .sp Этот параметр можно использовать несколько раз для входного файла, применяемого к нескольким дорожкам, с указанием разных идентификаторов дорожек\&. .RE .PP \fB\-\-cues\fR \fITID:none|iframes|all\fR .RS 4 Элементы управления, для которых записи списка CUE (индекса) дорожки, создаются для данной дорожки (см\&. раздел идентификаторы дорожек)\&. \(Fonone\(Fc предотвращает создание записей списка cue\&. Для \(Foiframes\(Fc только блоки без ссылок назад или вперед (= I\-кадры в видео дорожках) помещаются в список cue\&. \(Foall\(Fc заставляет \fBmkvmerge\fR(1) создавать записи CUE для всех блоков, что делает файл очень большим\&. .sp По умолчанию \(em \(Foiframes\(Fc для дорожек видео и субтитров и \(Fonone\(Fc для звуковых дорожек\&. Смотрите также параметр \fB\-\-no\-cues\fR, который препятствует созданию записей cue, независимо от используемых параметров \fB\-\-cues\fR\&. .sp Этот параметр можно использовать несколько раз для входного файла, применяемого к нескольким дорожкам, с указанием разных идентификаторов дорожек\&. .RE .PP \fB\-\-default\-track\-flag\fR \fITID\fR\fI[:bool]\fR .RS 4 Устанавливает флаг \(Foдорожка по умолчанию\(Fc для данной дорожки (см\&. раздел идентификаторы дорожек), если необязательный аргумент \fIbool\fR равен \fB1\fR либо отсутствует\&. Флаг будет установлен, если исходный контейнер не предоставил эту информацию, и пользователь не указал её с помощью этого параметра\&. .sp Если пользователь явно не выбирает дорожку во время воспроизведения, проигрыватель должен выбрать одну из дорожек, для которой установлен флаг \(Foдорожка по умолчанию\(Fc, учитывая, например, такие предпочтения пользователя, как язык\&. .sp Этот параметр можно использовать несколько раз для входного файла, применяемого к нескольким дорожкам, с указанием разных идентификаторов дорожек\&. .RE .PP \fB\-\-track\-enabled\-flag\fR \fITID\fR\fI[:bool]\fR .RS 4 Устанавливает флаг \(Foдорожка включена\(Fc для данной дорожки (см\&. раздел идентификаторы дорожек) в указанное значение \fIbool\fR (0 или 1, по умолчанию равно 1, если не указано)\&. Дорожки включены по умолчанию, если для них не задан параметр, и исходный контейнер также не предоставляет эту информацию\&. .sp Для воспроизведения следует рассматривать только дорожки, для которых установлен флаг \(Foдорожка включена\(Fc\&. .sp Этот параметр можно использовать несколько раз для входного файла, применяемого к нескольким дорожкам, с указанием разных идентификаторов дорожек\&. .RE .PP \fB\-\-forced\-display\-flag\fR \fITID\fR\fI[:bool]\fR .RS 4 Устанавливает флаг \(Foпринудительное отображение\(Fc для данной дорожки (см\&. раздел идентификаторы дорожек), если необязательный аргумент \fIbool\fR равен \fB1\fR либо отсутствует\&. Используйте его для дорожек, содержащих экранный текст или диалог на иностранном языке\&. .sp Этот параметр можно использовать несколько раз для входного файла, применяемого к нескольким дорожкам, с указанием разных идентификаторов дорожек\&. .RE .PP \fB\-\-hearing\-impaired\-flag\fR \fITID\fR\fI[:bool]\fR .RS 4 Устанавливает флаг \(Foнарушение слуха\(Fc для данной дорожки (см\&. раздел идентификаторы дорожек), если необязательный аргумент \fIbool\fR равен \fB1\fR либо отсутствует\&. Этот флаг может быть установлен, если дорожка подходит для пользователей с нарушениями слуха\&. .sp Этот параметр можно использовать несколько раз для входного файла, применяемого к нескольким дорожкам, с указанием разных идентификаторов дорожек\&. .RE .PP \fB\-\-visual\-impaired\-flag\fR \fITID\fR\fI[:bool]\fR .RS 4 Устанавливает флаг \(Foслабовидящие\(Fc для данной дорожки (см\&. раздел идентификаторы дорожек), если необязательный аргумент \fIbool\fR равен \fB1\fR либо отсутствует\&. Этот флаг может быть установлен, если дорожка подходит для пользователей с нарушениями зрения\&. .sp Этот параметр можно использовать несколько раз для входного файла, применяемого к нескольким дорожкам, с указанием разных идентификаторов дорожек\&. .RE .PP \fB\-\-text\-descriptions\-flag\fR \fITID\fR\fI[:bool]\fR .RS 4 Устанавливает флаг \(Foтекстовые описания\(Fc для данной дорожки (см\&. раздел идентификаторы дорожек), если необязательный аргумент \fIbool\fR равен \fB1\fR либо отсутствует\&. Этот флаг можно задать, если дорожка содержит текстовые описания видеоматериала, пригодного для воспроизведения через систему преобразования текста в речь для слабовидящих пользователей\&. .sp Этот параметр можно использовать несколько раз для входного файла, применяемого к нескольким дорожкам, с указанием разных идентификаторов дорожек\&. .RE .PP \fB\-\-original\-flag\fR \fITID\fR\fI[:bool]\fR .RS 4 Устанавливает флаг \(Foисходный язык\(Fc для данной дорожки (см\&. раздел идентификаторы дорожек), если необязательный аргумент \fIbool\fR равен \fB1\fR либо отсутствует\&. Этот флаг может быть установлен, если дорожка на языке оригинала содержимого (не является переводом)\&. .sp Этот параметр можно использовать несколько раз для входного файла, применяемого к нескольким дорожкам, с указанием разных идентификаторов дорожек\&. .RE .PP \fB\-\-commentary\-flag\fR \fITID\fR\fI[:bool]\fR .RS 4 Устанавливает флаг \(Foкомментарии\(Fc для данной дорожки (см\&. раздел идентификаторы дорожек), если необязательный аргумент \fIbool\fR равен \fB1\fR либо отсутствует\&. Этот флаг может быть установлен, если трек содержит комментарии\&. .sp Этот параметр можно использовать несколько раз для входного файла, применяемого к нескольким дорожкам, с указанием разных идентификаторов дорожек\&. .RE .PP \fB\-\-track\-name\fR \fITID:имя\fR .RS 4 Указывает имя для выбранной дорожки (см\&. раздел Идентификаторы дорожек) равным \fIname\fR\&. .RE .PP \fB\-\-language\fR \fITID:язык\fR .RS 4 Устанавливает язык для данной дорожки (см\&. раздел идентификаторы дорожек)\&. Разрешены как коды языков ISO 639\-2, так и коды стран ISO 639\-1\&. Коды стран будут автоматически преобразованы в коды языков\&. Все языки, включая их коды ISO 639\-2, можно указать с помощью параметра \fB\-\-list\-languages\fR\&. .sp Этот параметр можно использовать несколько раз для входного файла, применяемого к нескольким дорожкам, с указанием разных идентификаторов дорожек\&. .RE .PP \fB\-t\fR, \fB\-\-tags\fR \fITID:имя\-файла\fR .RS 4 Читает теги для дорожки с номером \fITID\fR из файла \fIимя\-файла\fR\&. Подробности смотрите в разделе о теги ниже\&. .RE .PP \fB\-\-aac\-is\-sbr\fR \fITID\fR\fI[:0|1]\fR .RS 4 Сообщает \fBmkvmerge\fR(1), что трек с ID \fITID\fR \(em SBR AAC (также известный как HE\-AAC или AAC+)\&. Эти параметры необходимы, если а) исходный файл является файлом ААС (\fIне\fR файл Matroska) и б) файл AAC содержит данные SBR AAC\&. Причина этого переключателя в том, что технически невозможно автоматически идентифицировать нормальные данные AAC из данных SBR AAC без декодирования полного кадра AAC\&. Поскольку существует несколько патентных проблем с декодерами AAC \fBmkvmerge\fR(1) никогда не будет содержать декодирования\&. Поэтому для файлов SBR AAC этот переключатель является обязательным\&. Полученный файл может не воспроизводиться должным образом или даже не воспроизводиться вообще, если переключатель был пропущен\&. .sp Если исходным файлом является файл Matroska, то CodecID должно быть достаточно для обнаружения SBR AAC\&. Однако, если CodecID неправильный, то этот переключатель можно использовать, чтобы исправить его\&. .sp Если mkvmerge неверно определяет файл AAC в виде SBR, то вы можете добавить \*(Aq:0\*(Aq к идентификатору дорожки\&. .RE .PP \fB\-\-audio\-emphasis\fR \fITID:n|symbolic\-name\fR .RS 4 Задаёт акцент для звуковой дорожки с помощью идентификатора дорожки \fITID\fR\&. Режим может быть либо числом \fIn\fR (определённые значения от \fB0\fR до \fB16\fR) или символьным именем\&. Все допустимые номера и символьные имена могут быть перечислены с помощью параметра \fB\-\-list\-audio\-accession\fR\&. .RE .PP \fB\-\-reduce\-to\-core\fR \fITID\fR .RS 4 Некоторые аудиокодеки имеют ядро с потерями и дополнительные расширения, которые реализуют декодирование без потерь\&. Этот параметр сообщает \fBmkvmerge\fR(1) копировать только ядро, но не расширение\&. По умолчанию \fBmkvmerge\fR(1) копирует как ядро, так и расширение\&. .sp В настоящее время этот параметр влияет только на дорожки DTS\&. Дорожки TrueHD, которые содержат встроенное ядро AC\-3, вместо этого представлены как две отдельные дорожки, для которых пользователь может выбрать, какую дорожку копировать\&. Для DTS такая схема не будет работать, потому что расширения HD не могут быть декодированы сами по себе \(en в отличие от данных TrueHD\&. .RE .PP \fB\-\-remove\-dialog\-normalization\-gain\fR \fITID\fR .RS 4 Некоторые кодеки аудио содержат поля заголовка, которые указывают декодеру или проигрывателю применить усиление для нормализации диалога (обычно отрицательное)\&. Этот параметр сообщает \fBmkvmerge\fR(1) удалить или минимизировать это усиление (gain), изменив соответствующие поля заголовка\&. .sp На данный момент этот параметр влияет только на дорожки AC\-3, DTS и TrueHD\&. .RE .PP \fB\-\-timestamps\fR \fITID:имя\-файла\fR .RS 4 Читает метки времени, которые будут использоваться для определённого идентификатора дорожки с \fIfile\-name\fR\&. Эти метки времени принудительно заменяют метки времени, которые \fBmkvmerge\fR(1) рассчитывает обычно\&. Прочитайте раздел о внешних файлах меток времени\&. .RE .PP \fB\-\-default\-duration\fR \fITID:x\fR .RS 4 Принудительно устанавливает длительность заданной дорожки по умолчанию до указанного значения\&. Также изменяет метки времени дорожки, чтобы соответствовать длительности по умолчанию\&. Аргумент \fIx\fR должен иметь один из постфиксов \*(Aqs\*(Aq, \*(Aqms\*(Aq, \*(Aqus\*(Aq, \*(Aqns\*(Aq, \*(Aqfps\*(Aq, \*(Aqp\*(Aq или \*(Aqi\*(Aq, чтобы указать длительность по умолчанию в секундах, миллисекундах, микросекундах, наносекундах, \(Foкадрах в секунду\(Fc, \(Foпрогрессивных кадрах в секунду\(Fc или \(Foчересстрочных кадрах в секунду\(Fc соответственно\&. Число \fIx\fR может быть числом с плавающей запятой или дробью\&. .sp Если длительность по умолчанию не является принудительной, mkvmerge попытается получить длительность дорожки по умолчанию из контейнера и/или закодированного битового потока для определённых типов дорожек, например, AVC/H\&.264 или MPEG\-2\&. .sp Этот параметр также может быть использован для изменения частоты кадров видеодорожек без необходимости использования внешнего файла временных меток\&. .RE .PP \fB\-\-fix\-bitstream\-timing\-information\fR \fITID\fR\fI[:0|1]\fR .RS 4 Обычно \fBmkvmerge\fR(1) не изменяет информацию о времени (скорость кадров/полей), хранящуюся в битовом потоке видео\&. С помощью этого параметра эта информация корректируется в соответствии с информацией о времени из контейнера\&. Информация о времени из контейнера может поступать из разных источников: из командной строки (см\&. параметр \fB\-\-default\-duration\fR), исходного контейнера или производного от битового потока\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПримечание\fR .ps -1 .br Это было реализовано только для видеодорожек AVC/H\&.264\&. .sp .5v .RE .RE .PP \fB\-\-compression\fR \fITID:n\fR .RS 4 Выбирает метод сжатия, который будет использоваться для дорожки\&. Обратите внимание, что плеер также должен поддерживать этот метод\&. Допустимые значения: \(Fonone\(Fc, \(Fozlib\(Fc и \(Fompeg4_p2\(Fc/\(Fompeg4p2\(Fc\&. .sp Метод сжатия \(Fompeg4_p2\(Fc/\(Fompeg4p2\(Fc является специальным методом сжатия, который называется \(Foудаление заголовка\(Fc и доступен только для видеодорожек MPEG4 part 2\&. .sp По умолчанию для некоторых типов субтитров используется сжатие \(Fozlib\(Fc\&. Этот метод сжатия поддерживает большинство, если не все программы воспроизведения\&. Поддержка других методов сжатия, кроме \(Fonone\(Fc, не гарантируется\&. .RE .SS "Параметры, применяемые только к видеодорожкам" .PP \fB\-f\fR, \fB\-\-fourcc\fR \fITID:FourCC\fR .RS 4 Принудительно указывает заданное значение для FourCC\&. Работает только для дорожек видео в режиме "MS compatibility mode"\&. .RE .PP \fB\-\-display\-dimensions\fR \fITID:widthxheight\fR .RS 4 Файлы Matroska содержат два значения, устанавливающие свойства отображения, к которым проигрыватель должен масштабировать изображение во время воспроизведения: ширина и высота экрана\&. Эти значения можно установить с помощью этого параметра, напр\&., \(Fo1:640x480\(Fc\&. .sp Другим способом указания значений является использование параметра \fB\-\-aspect\-ratio\fR или \fB\-\-aspect\-ratio\-factor\fR (см\&. ниже)\&. Эти параметры являются взаимоисключающими\&. .RE .PP \fB\-\-aspect\-ratio\fR \fITID:ratio|width/height\fR .RS 4 Файлы Matroska содержат два значения, которые устанавливают свойства отображения, до которых проигрыватель должен масштабировать изображение во время воспроизведения: ширина и высота изображения\&. С помощью этого параметра \fBmkvmerge\fR(1) автоматически вычислит ширину и высоту изображения на основе исходной ширины и высоты изображения и соотношения сторон, заданного с помощью этого параметра\&. Коэффициент можно указать либо в виде \fIотношения\fR чисел с плавающей запятой, либо в виде дроби \*(Aq\fIширина\fR/\fIвысота\fR\*(Aq, например \*(Aq16/9\*(Aq\&. .sp Другим способом указать значения является использование параметров \fB\-\-aspect\-ratio\-factor\fR или \fB\-\-display\-dimensions\fR (см\&. выше и ниже)\&. Эти параметры являются взаимоисключающими\&. .RE .PP \fB\-\-aspect\-ratio\-factor\fR \fITID:factor|n/d\fR .RS 4 Другой способ установить соотношение сторон \(em это указать \fIкоэффициент\fR\&. Исходное соотношение сторон сначала умножается на этот \fIкоэффициент\fR, а затем используется как целевое соотношение сторон\&. .sp Другим способом указать значения является использование параметров \fB\-\-aspect\-ratio\fR или \fB\-\-display\-dimensions\fR (см\&. выше и ниже)\&. Эти параметры являются взаимоисключающими\&. .RE .PP \fB\-\-cropping\fR \fITID:слева,сверху,справа,снизу\fR .RS 4 Указывает значения обрезки пикселей для видеодорожки\&. .RE .PP \fB\-\-color\-matrix\-coefficients\fR \fITID:n\fR .RS 4 Устанавливает матричные коэффициенты видео, которые используются для получения значений яркости и цветности на основе основных цветов красного, зелёного и синего\&. Параметр \fIn\fR является целым числом от \fB0\fR до \fB10\fR\&. .sp Допустимые значения и их расшифровка: .sp \fB0\fR: GBR, \fB1\fR: BT709, \fB2\fR: unspecified, \fB3\fR: reserved, \fB4\fR: FCC, \fB5\fR: BT470BG, \fB6\fR: SMPTE 170M, \fB7\fR: SMPTE 240M, \fB8\fR: YCOCG, \fB9\fR: BT2020 non\-constant luminance, \fB10\fR: BT2020 constant luminance .RE .PP \fB\-\-color\-bits\-per\-channel\fR \fITID:n\fR .RS 4 Указывает число кодированных битов для канала цвета\&. Значение \fB0\fR показывает, что число битов не указано\&. .RE .PP \fB\-\-chroma\-subsample\fR \fITID:hori,vert\fR .RS 4 Количество пикселей, предназначенных для удаления в каналах Cr и Cb для каждого неудалённого пикселя по горизонтали/вертикали\&. .sp Пример: Для видео с цветовая субдискретизация 4:2:0 следует указать параметр \fITID\fR:\fB1\fR,\fB1\fR\&. .RE .PP \fB\-\-cb\-subsample\fR \fITID:hori,vert\fR .RS 4 Количество пикселей, предназначенных для удаления в канале Cb для каждого неудалённого пикселя по горизонтали\&. Это добавка к \fB\-\-chroma\-subsample\fR\&. .sp Пример: для видео с цветовой субдискретизацией 4:2:1, параметр \fB\-\-chroma\-subsample\fR должен быть установлен до \fITID\fR:\fB1\fR,\fB0\fR и подвыборка Cb должна быть установлена до \fITID\fR:\fB1\fR,\fB0\fR\&. .RE .PP \fB\-\-chroma\-siting\fR \fITID:hori,vert\fR .RS 4 Устанавливает то, как цветность располагается по горизонтали/вертикали (\fB0\fR: не указано, \fB1\fR: сверху совмещённо, \fB2\fR: наполовину)\&. .RE .PP \fB\-\-color\-range\fR \fITID:n\fR .RS 4 Устанавливает отсечение диапазонов цвета (\fB0\fR: неопределено, \fB1\fR: диапазон трансляции, \fB2\fR: полный диапазон (без отсечения), \fB3\fR: задан через MatrixCoefficients/TransferCharacteristics)\&. .RE .PP \fB\-\-color\-transfer\-characteristics\fR \fITID:n\fR .RS 4 Характеристики передачи видео\&. .sp Допустимые значения и их расшифровка: .sp \fB0\fR: reserved, \fB1\fR: ITU\-R BT\&.709, \fB2\fR: unspecified, \fB3\fR: reserved, \fB4\fR: gamma 2\&.2 curve, \fB5\fR: gamma 2\&.8 curve, \fB6\fR: SMPTE 170M, \fB7\fR: SMPTE 240M, \fB8\fR: linear, \fB9\fR: log, \fB10\fR: log sqrt, \fB11\fR: IEC 61966\-2\-4, \fB12\fR: ITU\-R BT\&.1361 extended color gamut, \fB13\fR: IEC 61966\-2\-1, \fB14\fR: ITU\-R BT\&.2020 10 bit, \fB15\fR: ITU\-R BT\&.2020 12 bit, \fB16\fR: SMPTE ST 2084, \fB17\fR: SMPTE ST 428\-1; \fB18\fR: ARIB STD\-B67 (HLG) .RE .PP \fB\-\-color\-primaries\fR \fITID:n\fR .RS 4 Устанавливает базовые цвета видео\&. .sp Допустимые значения и их расшифровка: .sp \fB0\fR: reserved, \fB1\fR: ITU\-R BT\&.709, \fB2\fR: unspecified, \fB3\fR: reserved, \fB4\fR: ITU\-R BT\&.470M, \fB5\fR: ITU\-R BT\&.470BG, \fB6\fR: SMPTE 170M, \fB7\fR: SMPTE 240M, \fB8\fR: FILM, \fB9\fR: ITU\-R BT\&.2020, \fB10\fR: SMPTE ST 428\-1, \fB22\fR: JEDEC P22 phosphors .RE .PP \fB\-\-max\-content\-light\fR \fITID:n\fR .RS 4 Устанавливает максимальную яркость одного пикселя (Maximum Content Light Level) в канделах на квадратный метр (кд/м2)\&. Значение \fIn\fR должно быть целым неотрицательным числом\&. .RE .PP \fB\-\-max\-frame\-light\fR \fITID:n\fR .RS 4 Устанавливает максимальную яркость одного полного кадра (Maximum Frame\-Average Light Level) в канделах на квадратный метр (кд/м2)\&. Значение \fIn\fR должно быть целым неотрицательным числом\&. .RE .PP \fB\-\-chromaticity\-coordinates\fR \fITID:red\-x,red\-y,green\-x,green\-y,blue\-x,blue\-y\fR .RS 4 Указывает координату цветности красного/зелёного/синего цветов, как определено в CIE 1931\&. .RE .PP \fB\-\-white\-color\-coordinates\fR \fITID:x,y\fR .RS 4 Указывает координату цветности белого цвета, как определено в CIE 1931\&. .RE .PP \fB\-\-max\-luminance\fR \fITID:float\fR .RS 4 Устанавливает максимальную яркость в канделах на квадратный метр (кд/м2)\&. Значение должно быть меньше 9999,99\&. .RE .PP \fB\-\-min\-luminance\fR \fITID:float\fR .RS 4 Устанавливает минимальную яркость в канделах на квадратный метр (кд/м\(S2)\&. Значение должно быть меньше чем 999,99\&. .RE .PP \fB\-\-projection\-type\fR \fITID:method\fR .RS 4 Устанавливает используемый метод проекции видео\&. Допустимые значения: 0 (прямоугольная проекция), 1 (равноугольная проекция), 2 (проекция кубической карты) и 3 (проекция сетки)\&. .RE .PP \fB\-\-projection\-private\fR \fITID:данные\fR .RS 4 Устанавливает частные данные, которые применяются только к определённой проекции\&. Данные должны быть представлены в виде шестнадцатеричных чисел с префиксом \(Fo0x\(Fc или без него, с пробелами или без них\&. .RE .PP \fB\-\-projection\-pose\-yaw\fR \fITID:float\fR .RS 4 Определяет параметры поворота проекции вокруг перпендикулярной оси\&. .RE .PP \fB\-\-projection\-pose\-pitch\fR \fITID:float\fR .RS 4 Определяет параметры поворота проекции вокруг поперечной оси\&. .RE .PP \fB\-\-projection\-pose\-roll\fR \fITID:float\fR .RS 4 Определяет параметры поворота проекции вокруг продольной оси\&. .RE .PP \fB\-\-field\-order\fR \fITID:n\fR .RS 4 Задаёт порядок полей в дорожке видео с идентификатором \fITID\fR\&. Порядок должен быть указан одним из следующих номеров: .sp \fB0\fR: прогрессивный; \fB1\fR: чересстрочный с отображением верхнего поля первым, первым сохраняется верхнее поле; \fB2\fR: неопределённый порядок полей; \fB6\fR: чересстрочный с отображением нижнего поля первым, первым сохраняется нижнее поле; \fB9\fR: чересстрочный с отображением нижнего поля первым, первым сохраняется нижнее поле; \fB14\fR: чересстрочный с отображением верхнего поля первым, первым сохраняется нижнее поле .RE .PP \fB\-\-stereo\-mode\fR \fITID:n|symbolic\-name\fR .RS 4 Устанавливает стереорежим для видеодорожки с помощью идентификатора дорожки \fITID\fR\&. Режим может быть числом \fIn\fR от \fB0\fR до \fB14\fR либо символьным именем\&. Все допустимые номера и имена могут быть перечислены с помощью параметра \fB\-\-list\-stereo\-modes\fR\&. .RE .SS "Параметры, применяющиеся только к текстовым субтитрам" .PP \fB\-\-sub\-charset\fR \fITID:кодировка\fR .RS 4 Устанавливает набор символов для преобразования в UTF\-8 для субтитров UTF\-8 для заданного идентификатора дорожки\&. Если не указано иное, набор символов будет получен из текущих настроек языка\&. Обратите внимание, что набор символов не требуется для чтения субтитров из файлов Matroska или из потоков Kate, поскольку они всегда хранятся в UTF\-8\&. Смотрите раздел о текстовых файлах и наборах символов, чтобы узнать, как \fBmkvmerge\fR(1) преобразует между наборами символов\&. .sp Этот параметр можно использовать несколько раз для входного файла, применяемого к нескольким дорожкам, с указанием разных идентификаторов дорожек\&. .RE .SS "Прочие параметры" .PP \fB\-i\fR, \fB\-\-identify\fR \fIимя\-файла\fR .RS 4 Позволит \fBmkvmerge\fR(1) проверить один файл и сообщить его тип, дорожки, содержащиеся в файле, и их идентификаторы\&. Если используется этот параметр, то другим единственным разрешённым параметром является имя файла\&. .sp Формат вывода результата может быть изменён параметром \-\-identification\-format\&. .RE .PP \fB\-J\fR \fIимя\-файла\fR .RS 4 Это удобный псевдоним для \(Fo\-\-identification\-format json \-\-identify имя\-файла\(Fc\&. .RE .PP \fB\-F\fR, \fB\-\-identification\-format\fR \fIформат\fR .RS 4 Определяет исходный формат, используемый параметром \-\-identify\&. Поддерживаются следующие форматы: text (по умолчанию, если этот параметр не используется) и json\&. .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} Формат text выглядит коротким и удобочитаемым для человека\&. Он состоит из одной строки для каждого найденного объекта (контейнера, дорожки, вложения и т\&. д\&.)\&. .sp Этот формат не для анализа\&. Выходные данные будут переведены в язык, используемый в \fBmkvmerge\fR(1) (см\&. также \-\-ui\-language)\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} Формат вывода json является машиночитаемым представлением JSON\&. Этот формат соответствует схеме JSON, описанной в следующем файле: .sp \m[blue]\fBmkvmerge\-identification\-output\-schema\-v18\&.json\fR\m[]\&\s-2\u[3]\d\s+2 .sp Все версии схемы JSON доступны как онлайн, так и в выпущенных архивах исходного кода\&. .RE .RE .PP \fB\-\-probe\-range\-percentage\fR \fIпроцент\fR .RS 4 Типы файлов, такие как программы и транспортные потоки MPEG (\&.vob, \&.m2ts), требуют разбора определённого количества данных, чтобы обнаружить все дорожки, содержащиеся в файле\&. Эта количество составляет 0,3% от размера исходного файла или 10 МБ, в зависимости от того, что больше\&. .sp Если известно, что дорожки присутствуют, но не найдены, то процент для проверки можно изменить с помощью этого параметра\&. Минимальный размер 10 МБ является встроенным и не может быть изменён\&. .RE .PP \fB\-\-list\-audio\-emphasis\fR .RS 4 Выводит список допустимых чисел и их соответствующих символических имён для параметра \fB\-\-audio\-emphasis\fR\&. .RE .PP \fB\-\-list\-languages\fR .RS 4 Перечисляет все языки и их коды ISO 639\-2, которые можно использовать с параметром \fB\-\-language\fR\&. .RE .PP \fB\-\-list\-stereo\-modes\fR .RS 4 Выводит список допустимых чисел и их соответствующих символических имён для параметра \fB\-\-stereo\-mode\fR\&. .RE .PP \fB\-l\fR, \fB\-\-list\-types\fR .RS 4 Список поддерживаемых типов входящих файлов\&. .RE .PP \fB\-\-priority\fR \fIприоритет\fR .RS 4 Устанавливает приоритет, с которым выполняется процесс \fBmkvmerge\fR(1)\&. Допустимые значения \(em \(Folowest\(Fc, \(Folower\(Fc, \(Fonormal\(Fc, \(Fohigher\(Fc и \(Fohighest\(Fc\&. Если ничего не задано, используется \(Fonormal\(Fc\&. В системах подобных Unix \fBmkvmerge\fR(1) использует функцию \fBnice\fR(2)\&. Поэтому только суперпользователь может использовать \(Fohigher\(Fc и \(Fohighest\(Fc\&. В Windows все значения доступны для использования любому пользователю\&. .sp Выбор "самого низкого" также приводит к тому, что \fBmkvmerge\fR(1) выбирает приоритет холостого ввода\-вывода в дополнение к самому низкому возможному приоритету процесса\&. .RE .PP \fB\-\-command\-line\-charset\fR \fIкодировка\fR .RS 4 Устанавливает набор символов для преобразования строк заданных через командную строку\&. По умолчанию используется набор символов для системной локальные\&. Эти параметры применяются к аргументам следующих параметров: \fB\-\-title\fR, \fB\-\-track\-name\fR и \fB\-\-attachment\-description\fR\&. .RE .PP \fB\-\-output\-charset\fR \fIкодировка\fR .RS 4 Указывает кодировку, в которую конвертируются выходные строки\&. По умолчанию используется текущая кодировка системного языка\&. .RE .PP \fB\-r\fR, \fB\-\-redirect\-output\fR \fIимя\-файла\fR .RS 4 Записывает все сообщения в файл \fIfile\-name\fR вместо консоли\&. Хотя это можно легко сделать с помощью перенаправления вывода, есть случаи, когда этот параметр нужен: если терминал повторно интерпретирует выход перед записью его в файл\&. Набор символов, установленный с \fB\-\-output\-charset\fR, учитывается\&. .RE .PP \fB\-\-flush\-on\-close\fR .RS 4 Указывает программе сбросить все данные, закэшированные в памяти, в хранилище при закрытии файлов, открытых для записи\&. Это может быть использовано для предотвращения потери данных при отключении питания или для обхода определённых проблем в операционной системе или драйверах\&. Недостатком является то, что паковка займёт больше времени, так как mkvmerge придётся ждать, пока все данные не будут записаны в хранилище перед выходом\&. Смотрите проблемы #2469 и #2480 в трекере ошибок MKVToolNix, где подробно прокомментированы плюсы и минусы\&. .RE .PP \fB\-\-ui\-language\fR \fIкод\fR .RS 4 Принудительно использовать перевод на \fIкод\fR языка (напр\&., \(Fode_DE\(Fc для немецкого)\&. Если указать \(Folist\(Fc на месте \fIкода\fR, то отобразится список доступных переводов\&. .RE .PP \fB\-\-abort\-on\-warnings\fR .RS 4 Указывает mkvmerge прерывание после появления первого предупреждения\&. Код завершения программы будет 1\&. .RE .PP \fB\-\-deterministic\fR \fIseed\fR .RS 4 Позволяет создавать файлы, идентичные до байта, если та же версия \fBmkvmerge\fR(1) использована с теми же исходными файлами, тем же набором параметров и тем же начальным элементом\&. Обратите внимание, что информационное поле сегмента \(Foдата\(Fc не записывается в этом режиме\&. .sp Зерно может быть произвольной строкой и не обязательно должно быть числом\&. .sp Результат работы байт\-идентичных файлов гарантируется только при следующих условиях: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} Используется та же версия \fBmkvmerge\fR(1), собранная с теми же версиями libEBML и libMatroska\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} Используемые исходные файлы байт\-идентичны\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ .sp -1 .IP " 3." 4.2 .\} Те же параметры командной строки используются в том же порядке (за исключением \fI\-\-output \&.\&.\&.\fR)\&. .RE .sp Использование других версий \fBmkvmerge\fR(1) или других параметров командной строки может выдать тот же файл, идентичный до байта, но это не гарантируется\&. .RE .PP \fB\-\-debug\fR \fIтематика\fR .RS 4 Включить режим отладки для указанной функции\&. Этот параметр полезен только для разработчиков\&. .RE .PP \fB\-\-engage\fR \fIфункция\fR .RS 4 Включает экспериментальные функции\&. Список доступных функций можно запросить с помощью \fBmkvinfo \-\-engage list\fR\&. Эти функции не предназначены для использования в обычных ситуациях\&. .RE .PP \fB\-\-gui\-mode\fR .RS 4 Включает режим графического интерфейса\&. В этом режиме могут отображаться специально отформатированные строки для отправки управляющих сообщений интерфейсу\&. Формат сообщений \(em \(Fo#GUI#message\(Fc\&. За сообщением могут быть указаны пары ключа и значения, например, \(Fo#GUI#message#key1=value1#key2=value2\&...\(Fc\&. Сообщения и ключи не переводятся и всегда выводятся на английском\&. .RE .PP \fB@\fR\fIфайл\-параметров\&.json\fR .RS 4 Читает дополнительные аргументы командной строки из файла \fIoptions\-file\fR\&. Подробности смотрите в разделе файлов параметров\&. .RE .PP \fB\-\-capabilities\fR .RS 4 Выводит информацию о дополнительных функциях, которые были скомпилированы и вышли\&. В первой строке вывода будет информация о версии\&. Все последующие строки содержат ровно одно слово, наличие которого указывает на то, что функция скомпилирована\&. Эти функции следующие: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \(FoFLAC\(Fc \-\- читает необработанные файлы FLAC и работает с дорожками FLAC в других контейнерах, например Ogg или Matroska\&. .RE .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 Показать сведения об использовании и выйти\&. .RE .PP \fB\-V\fR, \fB\-\-version\fR .RS 4 Показать сведения о версии и выйти\&. .RE .SH "ИСПОЛЬЗОВАНИЕ" .PP Для каждого файла пользователь может выбрать, какие дорожки \fBmkvmerge\fR(1) должен взять\&. Все они помещаются в файл, указанный с параметром \fB\-o\fR\&. Список известных (и поддерживаемых) входных форматов можно получить с помощью параметра \fB\-l\fR\&. .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBВажно\fR .ps -1 .br .PP Порядок параметров в командной строке очень важен\&. Пожалуйста, прочтите раздел \(FoПорядок параметров\(Fc, если вы незнакомы с программой\&. .sp .5v .RE .SH "ПОРЯДОК ПАРАМЕТРОВ" .PP Порядок ввода параметров важен для некоторых параметров\&. Варианты делятся на две категории: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} Параметры, которые влияют на всю программу и не привязаны ни к одному входному файлу\&. Они включают, но не ограничиваются \fB\-\-command\-line\-charset\fR, \fB\-\-output\fR или \fB\-\-title\fR\&. Они могут быть в любом месте командной строки\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} Параметры, которые влияют на одиночный входной файл или одиночную дорожку во входном файле\&. Все эти параметры применяются к следующему входному файлу в командной строке\&. Все параметры, применяемые к одному и тому же входному файлу (или к дорожкам из одного и того же входного файла), могут быть записаны в любом порядке, если все они появляются перед именем этого входного файла\&. Примеры применения параметров к входному файлу: \fB\-\-no\-chapters\fR или \fB\-\-chapter\-charset\fR\&. Примеры применения параметров к одиночной дорожке: \fB\-\-default\-duration\fR или \fB\-\-language\fR\&. .RE .PP Параметры обрабатываются слева направо\&. Если параметр появляется несколько раз в пределах одной области, будет использовано последнее вхождение\&. Поэтому заголовок будет установлен на \(Foчто\-то другое\(Fc в следующем примере: .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o выход\&.mkv \-\-title \*(AqТакой\*(Aq вход\&.avi \-\-title \*(AqДругой\*(Aq .fi .if n \{\ .RE .\} .PP В следующем примере показано, что использование параметра \fB\-\-language\fR дважды является нормальным, так как они используется в различных областях\&. Несмотря на то, что они применяются к одному и тому же идентификатору дорожки, они применяются к разным исходным файлам и, следовательно, имеют разную область действия: .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o выход\&.mkv \-\-language 0:fre fran\(,cais\&.ogg \-\-language 0:deu deutsch\&.ogg .fi .if n \{\ .RE .\} .SH "ПРИМЕРЫ" .PP Предположим, у вас есть файл Моё\-видео\&.avi и аудиодорожка в отдельном файле, например \(FoМоё\-видео\&.wav\(Fc\&. Для начала вы хотите закодировать аудио в OggVorbis: .sp .if n \{\ .RS 4 .\} .nf $ oggenc \-q4 \-oМоё\-видео\&.ogg Моё\-видео\&.wav .fi .if n \{\ .RE .\} .PP Спустя несколько минут вы можете объединить видео и аудио: .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o Моё\-видео\-со\-звуком\&.mkv Моё\-видео\&.avi Моё\-видео\&.ogg .fi .if n \{\ .RE .\} .PP Если ваш AVI уже содержит звуковую дорожку, то она также будет скопирована (если \fBmkvmerge\fR(1) поддерживает её аудиоформат)\&. Чтобы избежать этого, просто сделайте следующее .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o Моё\-видео\-со\-звуком\&.mkv \-A Моё\-видео\&.avi Моё\-видео\&.ogg .fi .if n \{\ .RE .\} .PP После нескольких минут раздумий вы выбираете другую звуковую дорожку, например комментарии или иноязычную дорожку к \(FoMyMovie\-add\-audio\&.wav\(Fc\&. Кодируете его ещё раз и объединяете с другим файлом: .sp .if n \{\ .RS 4 .\} .nf $ oggenc \-q4 \-oМоё\-видео\-с\-добавлением\-аудио\&.ogg Моё\-видео\-с\-добавлением\-аудио\&.wav $ mkvmerge \-o МВ\-полное\&.mkv Моё\-видео\-с\-аудио\&.mkv Моё\-видео\-с\-добавлением\-аудио\&.ogg .fi .if n \{\ .RE .\} .PP Такого же результата можно добиться с помощью .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o МВ\-полное\&.mkv \-A Моё\-видео\&.avi Моё\-видео\&.ogg Моё\-видео\-с\-добавлением\-аудио\&.ogg .fi .if n \{\ .RE .\} .PP Теперь используйте mplayer и наслаждайтесь\&. Если у вас есть несколько аудиодорожек (или даже дорожек видео), вы можете указать mplayer\*(Aqу какую дорожку проигрывать, используя параметры \*(Aq\fB\-vid\fR\*(Aq и \*(Aq\fB\-aid\fR\*(Aq\&. Они основаны на 0 и не различают видео и аудио\&. .PP Если вам нужна синхронизация звуковой дорожки, вы можете легко это сделать\&. Сначала узнайте идентификатор дорожки Vorbis с помощью .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-\-identify рассинхрон\&.ogg .fi .if n \{\ .RE .\} .PP Теперь вы можете использовать этот идентификатор в следующей командной строке: .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o синхронный\&.mkv \-A источник\&.avi \-y 12345:200 рассинхрон\&.ogg .fi .if n \{\ .RE .\} .PP Это добавит 200 мс тишины в начале звуковой дорожки с идентификатором \fB12345\fR, взятым из \*(Aqout of sync\&.ogg\*(Aq\&. .PP Некоторые фильмы начинают синхронизироваться правильно, но постепенно теряют синхронизацию\&. Для таких фильмов вы можете указать коэффициент задержки, который будет применяться ко всем временным меткам \(en данные не добавляются и не удаляются\&. Поэтому, если вы сделаете это соотношение слишком большим или слишком маленьким, вы получите плохие результаты\&. Например, эпизод имеет рассинхронизацию \fB0,2\fR секунды в конце фильма длиной \fB77340\fR кадров\&. При частоте кадров \fB29,97 к/c\fR \fB0,2\fR секунды составляют примерно \fB6\fR кадров\&. Поэтому я сделал .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o синхронный\&.mkv \-y 23456:0,77346/77340 рассинхрон\&.mkv .fi .if n \{\ .RE .\} .PP Результат был прекрасный\&. .PP Параметры синхронизации могут использоваться для субтитров таким же способом\&. .PP Для текстовых субтитров можно использовать программное обеспечение Windows (типа SubRipper) или пакет subrip, который можно найти в исходных файлах \fBtranscode\fR(1) в каталоге \(Focontrib/subrip\(Fc\&. Общий процесс таков: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} извлечь необработанный поток субтитров из исходника: .sp .if n \{\ .RS 4 .\} .nf $ tccat \-i /path/to/copied/dvd/ \-T 1 \-L | tcextract \-x ps1 \-t vob \-a 0x20 | subtitle2pgm \-o мойфильм .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} конвертировать результирующие изображения PGM в текст с помощью gocr: .sp .if n \{\ .RS 4 .\} .nf $ pgm2txt моёвидео .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ .sp -1 .IP " 3." 4.2 .\} проверить правописание результирующих текстовых файлов: .sp .if n \{\ .RS 4 .\} .nf $ ispell \-d american *txt .fi .if n \{\ .RE .\} .RE .sp .RS 4 .ie n \{\ \h'-04' 4.\h'+01'\c .\} .el \{\ .sp -1 .IP " 4." 4.2 .\} конвертировать текстовые файлы в файл SRT: .sp .if n \{\ .RS 4 .\} .nf $ srttool \-s \-w \-i мойфильм\&.srtx \-o мойфильм\&.srt .fi .if n \{\ .RE .\} .RE .PP Выходной файл может быть использован как входной для \fBmkvmerge\fR(1): .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o мойфильм\&.mkv мойфильм\&.avi мойфильм\&.srt .fi .if n \{\ .RE .\} .PP Если вы хотите указать язык для определённой дорожки, это легко сделать\&. Сначала узнайте код ISO 639\-2 для вашего языка\&. \fBmkvmerge\fR(1) может перечислить все эти коды для вас: .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-\-list\-languages .fi .if n \{\ .RE .\} .PP Найдите список нужных вам языков\&. Допустим, вы поместили две звуковые дорожки в файл Matroska и хотите установить коды своих языков, а также идентификаторы дорожек 2 и 3\&. Это можно сделать при помощи .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o с\-кодами\-языков\&.mkv \-\-language 2:ger \-\-language 3:dut без\-кодов\-языков\&.mkv .fi .if n \{\ .RE .\} .PP Как вы видите, переключатель \fB\-\-language\fR может быть использован несколько раз\&. .PP Например, вы также хотите, чтобы проигрыватель использовал нидерландский язык в качестве языка по умолчанию\&. У вас также есть дополнительные субтитры, например, на английском и французском языках, и вы хотите, чтобы проигрыватель отображал французские по умолчанию\&. Это можно сделать с помощью .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o with\-lang\-codes\&.mkv \-\-language 2:ger \-\-language 3:dut \-\-default\-track\-flag 3 without\-lang\-codes\&.mkv \-\-language 0:eng english\&.srt \-\-default\-track\-flag 0 \-\-language 0:fre french\&.srt .fi .if n \{\ .RE .\} .PP Если вы не видите язык или флаг дорожки по умолчанию, которые вы указали в выводе \fBmkvinfo\fR(1), прочитайте, пожалуйста, раздел о стандартных значениях\&. .PP Отключить сжатие для исходного файла\&. .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o без\-сжатия\&.mkv \-\-compression \-1:none Мой\-фильм\&.avi \-\-compression \-1:none мойфильм\&.srt .fi .if n \{\ .RE .\} .SH "ИДЕНТИФИКАТОРЫ ДОРОЖЕК" .SS "Обычные идентификаторы дорожек" .PP Некоторые параметры в \fBmkvmerge\fR(1) требуют идентификатор дорожки, чтобы определить к какой дорожке они должны быть применены\&. Эти идентификаторы дорожек печатаются считывателями при демульплексировании текущего входного файла, или если \fBmkvmerge\fR(1) выполняется с параметром \fB\-\-identify\fR\&. Пример такого вывода: .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-i v\&.mkv Файл \*(Aqv\&.mkv\*(Aq: контейнер Matroska ID дорожки 0: video (V_MS/VFW/FOURCC, DIV3) ID дорожки 1: audio (A_MPEG/L3) .fi .if n \{\ .RE .\} .PP Не путайте идентификаторы дорожек, назначаемых дорожкам во входном файле MKV, с идентификаторами дорожек входных файлов\&. Для параметров, требующих этих значений, используются только идентификаторы дорожек входных файлов\&. .PP Также обратите внимание, что каждый входной файл имеет свой собственный набор идентификаторов дорожек\&. Поэтому идентификаторы дорожек для файла \*(Aqfile1\&.ext\*(Aq как сообщает \*(Aqmkvmerge \-\-identify\*(Aq не изменяются независимо от того, сколько там других входных файлов и в каком положении \*(Aqfile1\&.ext\*(Aq используются\&. .PP ID дорожек назначаются следующим образом: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Файлы AVI: видеодорожка имеет идентификатор 0\&. Звуковые дорожки получают идентификаторы в порядке возрастания, начиная с 1\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Файлы AAC, AC\-3, MP3, SRT и WAV: одна \(Foдорожка\(Fc в этом файле получает идентификатор 0\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Большинство других файлов: идентификаторы треков назначаются в порядке, в котором треки находятся в файле, начиная с 0\&. .RE .PP Параметры, использующие идентификаторы треков это те, описание которых содержит \*(AqTID\*(Aq\&. Следующие параметры также используются идентификаторы треков: \fB\-\- audio\-tracks\fR, \fB\-\-video\-tracks\fR, \fB\-\-subtitle\-tracks\fR, \fB\-\-button\-tracks\fR и \fB\-\-track\-tags\fR\&. .SS "Специальные идентификаторы дорожки" .PP Есть несколько идентификаторов, которые имеют особое значение и не встречаются в выходных данных идентификации\&. .PP Специальный идентификатор дорожки \(Fo\fB\-1\fR\(Fc является символом подстановки и применяет данный переключатель ко всем дорожкам, которые считываются из входного файла\&. .PP Специальный идентификатор дорожки \(Fo\fB\-2\fR\(Fc ссылается на главы в исходном файле\&. В данный момент только параметр \fB\-\-sync\fR использует этот специальный идентификатор\&. В качестве альтернативы \fB\-\-sync \-2:\&.\&.\&.\fR можно использовать параметр \fB\-\-chapter\-sync \&.\&.\&.\fR\&. .SH "РАБОТА С ЯЗЫКАМИ" .PP Matroska поддерживает два различных типа языковых элементов: старый, устаревший элемент \(FoLanguage\(Fc, содержащий коды ISO 639\-2 alpha 3, и новые теги \(FoLanguageIETF\(Fc, содержащие языковые теги IETF BCP 47\&. Все параметры \fBmkvmerge\fR(1), которые принимают язык, принимают языковой тег BCP 47\&. \fBmkvmerge\fR(1) будет выводить значение для устаревшего элемента \(FoLanguage\(Fc из языковых тегов BCP 47, где это возможно\&. .PP При идентификации файла в режиме JSON существующие элементы заголовка дорожки \(FoLanguageIETF\(Fc будут выведены в качестве свойства дорожки language_ietf\&. .PP При записи файла \fBmkvmerge\fR(1) всегда будет записывать элементы \(FoLanguageIETF\(Fc, \(FoChapLanguageIETF\(Fc и \(FoTagLanguageIETF\(Fc (последние два только в случае записи глав или тегов соответственно)\&. В дополнение к этим элементам будут записаны соответствующие старые элементы; они будут установлены на часть кода ISO 639\-2 языкового тега BCP 47\&. Например, когда язык дорожки установлен на sr\-Cyrl\-RS, \(FoLanguageIETF\(Fc будет установлен на sr\-Cyrl\-RS, а старый элемент \(FoLanguage\(Fc будет установлен на srp\&. .PP При чтении существующих файлов (файлы Matroska, файлы глав или тегов XML и т\&. д\&.), которые уже содержат элементы \(Fo\&.\&.\&.LanguageIETF"\(Fc существующие элементы будут сохранены\&. В противном случае элементы "\(Fo\&.\&.LanguageIETF\(Fc будут добавлены на основе параметров командной строки и других существующих устаревших элементов \(Fo\&.\&.\&.Language\(Fc\&. .PP Создание новых элементов можно полностью отключить с помощью параметра командной строки \fB\-\-disable\-language\-ietf\fR, который действует на все три новых элемента\&. .PP С помощью параметра \fB\-\-normalize\-language\-ietf\fR можно выбрать метод нормализации, применяемый к расширенным языковым подтегам\&. .SH "ПРЕОБРАЗОВАНИЕ ТЕКСТОВЫХ ФАЙЛОВ И КОДИРОВОК" .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBПримечание\fR .ps -1 .br .PP Этот раздел относится ко всем программам в MKVToolNix, даже если в нём упоминается только \fBmkvmerge\fR(1)\&. .sp .5v .RE .SS "Введение" .PP Весь текст в файле Matroska закодирован в UTF\-8\&. это означает, что \fBmkvmerge\fR(1) должен преобразовать каждый текстовый файл, который он читает, а также каждый текст, представленный в командной строке, из любого набора символов в UTF\-8\&. В свою очередь это также означает, что вывод \fBmkvmerge\fR(1) необходимо преобразовать обратно в этот набор символов из UTF\-8, например, если не\-английский перевод используется с \fB\-\-ui\-language\fR или для текста, происходящего из файла Matroska\&. .PP \fBmkvmerge\fR(1) выполняет это преобразование автоматически на основе наличия маркера порядка байтов (коротко: BOM) или текущей локали системы\&. То, как набор символов выводится из локали, зависит от операционной системы, в которой \fBmkvmerge\fR(1) выполняется\&. .SS "Маркеры последовательности байтов (BOM)" .PP Текстовые файлы, начинающиеся с BOM, уже закодированы в одном представлении UTF\&. \fBmkvmerge\fR(1) поддерживает следующие пять режимов: UTF\-8, UTF\-16 Little и Big Endian, UTF\-32 Little и Big Endian\&. Текстовые файлы из BOM автоматически конвертируются в UTF\-8\&. Любые параметры, которые иначе установят набор символов для такого файла (например, \fB\-\-sub\-charset\fR), молча игнорируется\&. .SS "Linux и Unix\-подобные системы, включая macOS" .PP В Unix\-системах \fBmkvmerge\fR(1) использует системный вызов \fBsetlocale\fR()3, который, в свою очередь, использует переменные среды \fILANG\fR, \fILC_ALL\fR и \fILC_CYPE\fR\&. Полученный набор символов часто является одним из семейства UTF\-8 или ISO\-8859\-* и используется для всех операций с текстовыми файлами и для кодирования строк в командной строке и для вывода в консоль\&. .SS "Windows" .PP В Windows набор символов по умолчанию, используемый для преобразования текстовых файлов, определяется вызовом системного вызова \fBGetACP()\fR\&. .PP Чтение командной строки завершается функцией \fBGetCommandLineW()\fR, которая возвращает строку Unicode\&. Поэтому параметр \fB\-\-command\-line\-charset\fR игнорируется в Windows\&. .PP Вывод консоли состоит из трёх сценариев: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} Если вывод перенаправлен параметром \fB\-\-redirect\-output\fR, то по умолчанию устанавливается набор символов UTF\-8\&. Это можно изменить с помощью \fB\-\-output\-charset\fR\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} Если вывод перенаправлен с \fBcmd\&.exe\fR самостоятельно, например с mkvinfo file\&.mkv > info\&.txt, тогда набор символов всегда будет установлен в UTF\-8 и не может быть изменён\&. .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ .sp -1 .IP " 3." 4.2 .\} В противном случае (при записи непосредственно в консоль) используется функция Windows \fBWriteConsoleW()\fR и параметр \fB\-\-output\-charset\fR игнорируется\&. Консоль должна иметь возможность выводить все символы Unicode, для которых установлена соответствующая поддержка языков (например, китайские символы могут не отображаться в английских версиях Windows)\&. .RE .SS "Параметры командной строки" .PP Существуют следующие параметры для указания специфичных кодировок: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-sub\-charset\fR для файлов субтитров и для субтитров, находящихся в контейнере формата, для которых кодировка не может быть определена однозначно (напр\&. файлы Ogg), .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-chapter\-charset\fR для текстовых файлов глав и для глав и заголовков файлов, хранящихся в контейнерных форматах, для которых набор символов не может быть определён однозначно (например, файлы Ogg для информации глав, дорожек и заголовков файлов и т\&. д\&.; файлы MP4 для информации глав), .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-command\-line\-charset\fR \- для всех строк в командной строке, .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB\-\-output\-charset\fR для всех строк, записанных в консоль или файл, если вывод был перенаправлен с параметром \fB\-\-redirect\-output\fR\&. В не Windows\-системах по умолчанию для исходного набора символов используется текущий набор символов системы\&. В Windows перенаправление по умолчанию установлено в UTF\-8 с использованием \fB\-\-redirect\-output\fR и с самим \fBcmd\&.exe\fR, например, mkvinfo file\&.mkv > info\&.txt\&. .RE .SH "ФАЙЛЫ ПАРАМЕТРОВ" .PP Файлом параметров является файл, из которого \fBmkvmerge\fR(1) может считать дополнительные аргументы командной строки\&. Это можно использовать для того, чтобы обойти определённые ограничения оболочки или операционной системы во время выполнения внешних программ, например, при ограниченной длине командной строки\&. .PP Файл параметров содержит данные в формате JSON\&. Его содержимое должно быть действительным массивом JSON, состоящим исключительно из строк JSON\&. Кодировка файла должна быть UTF\-8\&. Файл не должен начинаться с маркера порядка байтов (BOM), но если он существует, он будет пропущен\&. .PP Правила для экранирования специальных символов внутри JSON приведены в официальной спецификации JSON, \m[blue]\fBRFC 7159\fR\m[]\&\s-2\u[4]\d\s+2\&. .PP Само имя файла параметров должно быть указано в виде аргумента командной строки с префиксом \(Fo@\(Fc\&. .PP Командная строка \(Fo\fBmkvmerge \-o "my file\&.mkv" \-A "a movie\&.avi" sound\&.ogg\fR\(Fc может быть преобразована в следующий файл параметров JSON под названием, например, \(Fooptions\&.json\(Fc: .sp .if n \{\ .RS 4 .\} .nf [ "\-o", "c:\e\eMatroska\e\eмой файл\&.mkv", "\-\-title", "#65", "\-A", "фильм\&.avi", "звук\&.ogg" ] .fi .if n \{\ .RE .\} .PP Тогда соответствующая команда будет \(Fo\fBmkvmerge @options\&.json\fR\(Fc\&. .SH "СВЯЗЫВАНИЕ ФАЙЛА" .PP Matroska поддерживает связывание файлов, которое просто говорит, что конкретный файл является предшественником или преемником текущего файла\&. Если быть точным, то на самом деле связаны не файлы, а сегменты Matroska\&. Поскольку большинство файлов, вероятно, будут содержать только один сегмент Matroska, в приведённых ниже объяснениях используется термин \(Foсвязывание файлов\(Fc, хотя \(Foсвязывание сегментов\(Fc было бы более подходящим\&. .PP Каждый сегмент идентифицируется уникальным 128\-битным UID сегмента\&. Этот UID автоматически генерирует \fBmkvmerge\fR(1)\&. Связывание осуществляется главным образом путём размещения UID сегментов (кратко: SID) предыдущего/следующего файла в информацию заголовка сегмента\&. \fBmkvinfo\fR(1) печатает эти идентификаторы SID, если найдёт их\&. .PP Если файл разбит на несколько меньших и используется связывание, то метки времени не будут начинаться снова с 0, а будут продолжаться там, где остановился последний файл\&. Таким образом сохраняется абсолютное время, даже если предыдущие файлы недоступны (например, во время потоковой передачи)\&. Если связывание не используется, временные метки должны начинаться с 0 для каждого файла\&. По умолчанию \fBmkvmerge\fR(1) не использует связывание файлов\&. Если вы хотите, вы можете включить его с помощью параметра \fB\-\-link\fR\&. Этот параметр полезен только в том случае, если также активировано разделение\&. .PP Независимо от того, активировано ли разделение или нет, пользователь может указать \fBmkvmerge\fR(1) чтобы связать созданные файлы с конкретными SID\&. Это достигается с помощью параметров \fB\-\-link\-to\-previous\fR и \fB\-\-link\-to\-next\fR\&. Эти параметры принимают сегмент SID в формате, который выводит \fBmkvinfo\fR(1): 16 шестнадцатеричных чисел между \fB0x00\fR и \fB0xff\fR, где каждое имеет префикс \*(Aq0x\*(Aq, например, \*(Aq0x41 0xda 0x73 0x66 0xd9 0xcf 0xb2 0x1e 0xae 0x78 0xeb 0xb4 0x5e 0xca 0xb3 0x93\*(Aq\&. В качестве альтернативы можно использовать более короткую форму: 16 шестнадцатеричных чисел между \fB0x00\fR и \fB0xff\fR без префиксов \*(Aq0x\*(Aq и без пробелов, например \*(Aq41da7366d9cfb21eae78ebb45ecab393\*(Aq\&. .PP Если разделение используется, то первый файл связывается с SID, передаваемым из \fB\-\-link\-to\-previous\fR, и последний файл связывается с SID, передаваемым из \fB\-\-link\-to\-next\fR\&. Если разделение не используется, то один выходной файл будет связан с обоими SID\&. .SH "СТАНДАРТНЫЕ ЗНАЧЕНИЯ" .PP Спецификация Matroska утверждает, что некоторые элементы имеют значение по умолчанию\&. Обычно элемент не записывается в файл, если его значение равно значению по умолчанию, чтобы сэкономить место\&. Элементы, которые пользователь может пропустить в выводе \fBmkvinfo\fR(1), \(em это элементы \fIязык\fR и \fIфлаг дорожки по умолчанию\fR\&. Значением по умолчанию для элемента \fIязык\fR является английский (\*(Aqeng\*(Aq), а значением по умолчанию для элемента \fIфлаг дорожки по умолчанию\fR является \fIда\fR\&. Поэтому, если вы использовали \fB\-\-language 0:eng\fR для дорожки, оно не будет отображаться в выводе \fBmkvinfo\fR(1)\&. .SH "ВЛОЖЕНИЯ" .PP Возможно, вы также хотите сохранить некоторые фотографии вместе со своим файлом Matroska, или вы используете субтитры SSA и нуждаетесь в специальном шрифте TrueType, который очень редко встречается\&. В этих случаях вы можете вложить эти файлы в файл Matroska\&. Они будут не просто добавлены в файл, а встроены в него\&. Затем проигрыватель сможет показать эти файлы (случай \(Foфотографий\(Fc) или использовать их для воспроизведения субтитров (случай \(Foшрифты TrueType\(Fc)\&. .PP Вот пример вложения фотографии и шрифта TrueType в выходной файл: .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o output\&.mkv \-A video\&.avi sound\&.ogg \e \-\-attachment\-description "Me and the band behind the stage in a small get\-together" \e \-\-attachment\-mime\-type image/jpeg \e \-\-attach\-file me_and_the_band\&.jpg \e \-\-attachment\-description "The real rare and unbelievably good looking font" \e \-\-attachment\-mime\-type application/octet\-stream \e \-\-attach\-file really_cool_font\&.ttf .fi .if n \{\ .RE .\} .PP Если в качестве входного файла используется файл Matroska с вложением, то \fBmkvmerge\fR(1) скопирует вложения в новый файл\&. Выбор того, какие вложения копируются, а какие нет, можно изменить с помощью параметров \fB\-\-attachments\fR и \fB\-\-no\-attachments\fR\&. .SH "ГЛАВЫ" .PP Система глав Matroska более обширна, чем старая известная система, используемая в файлах OGM\&. Полная документация расположена на \m[blue]\fBсайте Matroska\fR\m[]\&\s-2\u[1]\d\s+2\&. .PP \fBmkvmerge\fR(1) поддерживает два типа файлов глав в качестве входных данных\&. Первый формат под названием \(Foпростой формат главы\(Fc является тем же форматом, который ожидают инструменты OGM\&. Второй формат \(em это формат глав на основе XML, который поддерживает все функции глав Matroska\&. .PP Помимо специальных файлов глав \fBmkvmerge\fR(1) может также читать главы из других форматов (например, MP4, Ogg, Blu\-rays или DVD)\&. .SS "Простой формат глав" .PP Этот формат состоит из пар строк, начинающихся с \(FoCHAPTERxx=\(Fc и \(FoCHAPTERxxNAME=\(Fc соответственно\&. Первый содержит метку времени начала, а второй содержит название\&. Например: .sp .if n \{\ .RS 4 .\} .nf CHAPTER01=00:00:00\&.000 CHAPTER01NAME=Intro CHAPTER02=00:02:30\&.000 CHAPTER02NAME=Baby prepares to rock CHAPTER03=00:02:42\&.300 CHAPTER03NAME=Baby rocks the house .fi .if n \{\ .RE .\} .PP \fBmkvmerge\fR(1) преобразует каждую пару или строки в один ChapterAtom Matroska\&. Он не устанавливает какой\-либо ChapterTrackNumbe, что означает, что все главы применяются ко всем дорожкам в файле\&. .PP Поскольку это текстовый файл, может потребоваться преобразование набора символов\&. Смотрите раздел о текстовых файлах и наборах символов для разъяснения, как \fBmkvmerge\fR(1) преобразует между наборами символов\&. .SS "Формат глав на основе XML" .PP Формат глав на основе XML, выглядит примерно так: .sp .if n \{\ .RS 4 .\} .nf 00:00:30\&.000 00:01:20\&.000 A short chapter eng 00:00:46\&.000 00:01:10\&.000 A part of that short chapter eng .fi .if n \{\ .RE .\} .PP У этого формата есть три возможности, отсутствующие в простом формате глав: .sp .RS 4 .ie n \{\ \h'-04' 1.\h'+01'\c .\} .el \{\ .sp -1 .IP " 1." 4.2 .\} Временная метка конца главы может быть установлена, .RE .sp .RS 4 .ie n \{\ \h'-04' 2.\h'+01'\c .\} .el \{\ .sp -1 .IP " 2." 4.2 .\} главы могут быть вложены, .RE .sp .RS 4 .ie n \{\ \h'-04' 3.\h'+01'\c .\} .el \{\ .sp -1 .IP " 3." 4.2 .\} язык и страна могут быть указаны\&. .RE .PP Дистрибутив mkvtoolnix содержит несколько файлов для примера, они расположены в подпапке doc и могут быть использованы в качестве образца\&. .PP Далее показан список поддерживаемых тегов XML, их типы данных и интервал допустимых значений: .sp .if n \{\ .RS 4 .\} .nf Chapters (master) EditionEntry (master) EditionUID (unsigned integer, valid range: 1 <= value) EditionFlagHidden (unsigned integer, valid range: 0 <= value <= 1) EditionFlagDefault (unsigned integer, valid range: 0 <= value <= 1) EditionFlagOrdered (unsigned integer, valid range: 0 <= value <= 1) ChapterAtom (master) ChapterAtom (master) ChapterUID (unsigned integer, valid range: 1 <= value) ChapterTimeStart (unsigned integer) ChapterTimeEnd (unsigned integer) ChapterFlagHidden (unsigned integer, valid range: 0 <= value <= 1) ChapterFlagEnabled (unsigned integer, valid range: 0 <= value <= 1) ChapterSegmentUID (binary, valid range: 1 <= length in bytes) ChapterSegmentEditionUID (unsigned integer, valid range: 1 <= value) ChapterPhysicalEquiv (unsigned integer) ChapterTrack (master) ChapterTrackNumber (unsigned integer, valid range: 1 <= value) ChapterDisplay (master) ChapterString (UTF\-8 string) ChapterLanguage (UTF\-8 string) ChapterCountry (UTF\-8 string) ChapterProcess (master) ChapterProcessCodecID (unsigned integer) ChapterProcessPrivate (binary) ChapterProcessCommand (master) ChapterProcessTime (unsigned integer) ChapterProcessData (binary) .fi .if n \{\ .RE .\} .SS "Чтение глав из Blu\-ray" .PP \fBmkvmerge\fR(1) может читать главы из незашифрованных дисков Blu\-ray\&. Для этого вы можете использовать путь к одному из списков воспроизведения MPLS с параметром \-\-chapters\&. .PP Пример: \-\-chapters /srv/blurays/BigBuckBunny/BDMV/PLAYLIST/00001\&.mpls .SS "Чтение глав из DVD" .PP Когда MKVToolNix собран с библиотекой libdvdread, \fBmkvmerge\fR(1) может читать главы с DVD\&. Для этого вы можете использовать путь к одной из папок или файлов на DVD с параметром \fI\-\-chapters\fR\&. Поскольку DVD\-диски могут содержать более одного заголовка, а каждый заголовок имеет свой собственный набор глав, вы можете добавить двоеточие и желаемый номер имени в конец аргумента имени файла\&. Номер имени по умолчанию равен 1\&. .PP Пример: \-\-chapters /srv/dvds/BigBuckBunny/VIDEO_TS:2 .SS "Общие замечания" .PP При разделении файлов \fBmkvmerge\fR(1) также правильно корректирует главы\&. Это означает, что каждый файл содержит только записи глав, которые к нему относятся, и что метки времени будут смещены в соответствии с новыми метками времени каждого исходного файла\&. .PP \fBmkvmerge\fR(1) может копировать главы из входных файлов Matroska, если они явно не отключены с помощью параметра \fB\-\-no\-chapters\fR\&. Главы из всех источников (файлы Matroska, файлы Ogg, файлы MP4, текстовые файлы глав) обычно не объединяются, а выходят в отдельные ChapterEdition\&. Только если главы читаются из нескольких файлов Matroska или XML, имеющих одинаковые идентификаторы UID издания, будут объединены в единый ChapterEdition\&. Если такое объединение желательно и в других ситуациях, пользователь должен сначала извлечь главы из всех источников с помощью \fBmkvextract\fR(1) затем вручную объединить файлы XML, а затем мультиплексировать их\&. .SH "МЕТКИ" .SS "Введение" .PP Система тегов Matroska аналогична системе других контейнеров: набор пар \fIKEY=VALUE\fR\&. Однако в Matroska эти теги также могут быть вложенными, и как \fIKEY, так и VALUE\fR являются собственными элементами\&. Пример файла example\-tags\-2\&.xml показывает, как использовать эту систему\&. .SS "Область применения тегов" .PP Теги Matroska не применяются автоматически ко всему файлу\&. Они могут могут применяться к разным частям файла: к одной или нескольким дорожкам, к одной или нескольким главам или даже к комбинации обоих\&. \m[blue]\fBСпецификация Matroska\fR\m[]\&\s-2\u[5]\d\s+2 содержит более подробную информацию об этом факте\&. .PP Одним из важных фактов является то, что теги связываются с дорожками или главами с помощью элемент тега Targets Matroska и что, UID, используемые для этого связывания, \fIне\fR являются идентификаторами дорожек, которые \fBmkvmerge\fR(1) использует везде\&. Вместо номеров используются UID ,которые \fBmkvmerge\fR(1) вычисляет автоматически (если дорожка взята из формата файла, отличного от Matroska) или которые копируются из входного файла, если входной файл дорожки является файлом Matroska\&. Поэтому трудно узнать, какие UID использовать в файле тегов, прежде чем файл будет передан в \fBmkvmerge\fR(1)\&. .PP \fBmkvmerge\fR(1) знает два варианта, с помощью которых вы можете добавить теги к файлам Matroska: параметры \fB\-\-global\-tags\fR и \fB\-\-tags\fR\&. Разница в том, что первый параметр, \fB\-\-global\-tags\fR, заставит теги применяться ко всему файлу, удалив любой из упомянутых выше элементов Targets\&. Второй параметр, \fB\-\-tags\fR, автоматически вставляет UID, который \fBmkvmerge\fR(1) создаёт для тега, указанного с помощью части \fITID\fR параметра \fB\-\-tags\fR\&. .SS "Пример" .PP Допустим, вы хотите добавить теги к видеодорожке, прочитанной из файла AVI\&. \fBmkvmerge \-\-identify file\&.avi\fR сообщает вам, что ИД видеодорожки (не путайте этот идентификатор с UID!) равен 0\&. Итак, вы создаёте файл тегов, оставив все элементы Targets и выполнив \fBmkvmerge\fR(1): .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \-o файл\&.mkv \-\-tags 0:теги\&.xml файл\&.avi .fi .if n \{\ .RE .\} .SS "Формат файла тегов" .PP \fBmkvmerge\fR(1) поддерживает формат файла тега на основе XML\&. Формат очень точно смоделирован по \m[blue]\fBспецификации Matroska\fR\m[]\&\s-2\u[5]\d\s+2\&. Как двоичный, так и дистрибутив исходников MKVToolNix поставляются с образцом файла с именем example\-tags\-2\&.xml, который просто перечисляет все известные теги и может использоваться в качестве основы для реальных файлов тегов\&. .PP Основы: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Крайний элемент должен быть \&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Один логический тег содержится в паре тегов XML\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Пробелы перед и после меток игнорируются\&. .RE .SS "Типы данных" .PP Новая система тегов Matroska знает только два типа данных: строку UTF\-8 и двоичный тип\&. Первый используется для имени тега и элемента , а двоичный тип используется для элемента \&. .PP Поскольку двоичные данные сами по себе не помещаются в файл XML \fBmkvmerge\fR(1) поддерживает два других метода хранения двоичных данных\&. Если содержимое тега XML начинается с \*(Aq@\*(Aq, то следующий текст рассматривается как имя файла\&. Содержимое соответствующего файла копируется в элемент Matroska\&. .PP В противном случае ожидается, что данные будут закодированы в Base64\&. Это кодировка, которая преобразует двоичные данные в ограниченный набор символов ASCII и используется, например, в программах электронной почты\&. \fBmkvextract\fR(1) выведет данные, закодированные в Base64 для двоичных элементов\&. .PP Устаревшей системе тегов известны ещё некоторые типы данных, которые можно найти в официальной спецификации тегов Matroska\&. Поскольку \fBmkvmerge\fR(1) больше не поддерживает эту систему, эти типы здесь не описаны\&. .SS "Известные теги файла формата XML" .PP Далее показан список поддерживаемых тегов XML, их типы данных и интервал допустимых значений: .sp .if n \{\ .RS 4 .\} .nf Tags (master) Tag (master) Targets (master) TargetTypeValue (unsigned integer) TargetType (UTF\-8 string) TrackUID (unsigned integer) EditionUID (unsigned integer) ChapterUID (unsigned integer) AttachmentUID (unsigned integer) Simple (master) Simple (master) Name (UTF\-8 string) TagLanguage (UTF\-8 string) DefaultLanguage (unsigned integer) String (UTF\-8 string) Binary (binary) .fi .if n \{\ .RE .\} .SH "ИНФОРМАЦИЯ О СЕГМЕНТАХ" .PP С помощью XML\-файла сегментной информации можно задать определённые значения в поле заголовка \(Foинформация о сегменте\(Fc файла Matroska\&. Все эти значения не могут быть установлены с помощью других параметров командной строки\&. .PP Другие поля заголовка \(Foинформации о сегментах\(Fc можно установить с помощью параметров командной строки, но не с помощью файла XML\&. Это включает, например, параметры \fB\-\-title\fR и \fB\-\-timestamp\-scale\fR\&. .PP Существуют и другие элементы, которые нельзя установить ни с помощью параметров командной строки, ни с помощью файлов XML\&. К ним относятся следующие элементы: \fIDateUTC\fR (также известный как \(Foдата мультиплексирования\(Fc), \fIMuxingApp\fR, \fIWritingApp\fR и \fIDuration\fR\&. Они всегда устанавливаются \fBmkvmerge\fR(1) самостоятельно\&. .PP Далее показан список поддерживаемых тегов XML, их типы данных и интервал допустимых значений: .sp .if n \{\ .RS 4 .\} .nf Info (master) SegmentUID (binary, valid range: length in bytes == 16) SegmentFilename (UTF\-8 string) PreviousSegmentUID (binary, valid range: length in bytes == 16) PreviousSegmentFilename (UTF\-8 string) NextSegmentUID (binary, valid range: length in bytes == 16) NextSegmentFilename (UTF\-8 string) SegmentFamily (binary, valid range: length in bytes == 16) ChapterTranslate (master) ChapterTranslateEditionUID (unsigned integer) ChapterTranslateCodec (unsigned integer) ChapterTranslateID (binary) .fi .if n \{\ .RE .\} .SH "КОМПОНОВКА ФАЙЛА Matroska" .PP Компоновка файла Matroska достаточно гибкая\&. \fBmkvmerge\fR(1) будет отображать файл заранее предопределённым образом\&. Результирующий файл выглядит так: .PP [Заголовок EBML] [сегмент {метапоиск #1} [информация о сегменте] [информация о дорожке] {вложения} {главы} [кластер 1] {кластер 2} \&.\&.\&. {кластер n} {cue} {метапоиск #2} {метки}] .PP Элементы в фигурных скобках необязательны и зависят от использованного содержимого и параметров\&. Пара замечаний: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} метапоиск №1 включает лишь небольшое количество элементов уровня 1, и только если они действительно существуют: вложения, главы, списки cue, теги, метапоиск №2\&. Старые версии \fBmkvmerge\fR(1) также используется для размещения кластеров в этом мета\-элементе поиска\&. Поэтому потребовалось некоторое неточное угадывание, чтобы зарезервировать достаточно места\&. Это часто терпело неудачу\&. Теперь только кластеры хранятся в метапоиске №2, а метапоиск №1 относится к метапоиску №2\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} Элементы вложения, главы и тега присутствуют только в том случае, если они были добавлены\&. .RE .PP Наиболее короткий файл Matroska выглядит так: .PP [Заголовок EBML] [сегмент [информация о сегменте] [информация о дорожке] [кластер 1]] .PP Это пример файла, содержащий только с аудио\&. .SH "ВНЕШНИЕ ФАЙЛЫ МЕТОК ВРЕМЕНИ" .PP \fBmkvmerge\fR(1) позволяет пользователю самостоятельно выбирать метки времени для определённой дорожки\&. Это можно использовать для создания файлов с переменной частотой кадров или для включения тишины в аудио\&. В этом случае кадр является элементом, который создаёт отдельно для блока Matroska\&. Для видео это ровно один кадр, для аудио это один пакет определённого типа аудио\&. например, для AC\-3 это будет пакет, содержащий \fB1536\fR сэмплов\&. .PP Файлы временных меток, используемые при добавлении дорожек друг к другу, должны указываться только для первой части цепочки дорожек\&. Например, если вы добавляете два файла, v1\&.avi и v2\&.avi, и хотите использовать временные метки, ваша командная строка должна выглядеть примерно так: .sp .if n \{\ .RS 4 .\} .nf $ mkvmerge \&.\&.\&. \-\-timestamps 0:мои_временные_метки\&.txt v1\&.avi +v2\&.avi .fi .if n \{\ .RE .\} .PP Существует четыре формата, которые распознает \fBmkvmerge\fR(1)\&. Первая строка всегда содержит номер версии\&. Пустые строки и строки, содержащие только пробелы, и строки, начинающиеся с \(Fo#\(Fc, игнорируются\&. .SS "Формат файла меток времени v1" .PP Этот формат начинается со строки версии\&. Вторая строка объявляет количество кадров в секунду по умолчанию\&. Все последующие строки содержат три числа, разделённые запятыми: начальный кадр (\fB0\fR \(em первый кадр), конечный кадр и количество кадров в этом диапазоне\&. FPS \(em это число с плавающей запятой с точкой \*(Aq\&.\*(Aq в качестве десятичной запятой\&. Диапазоны могут содержать разрывы, для которых используется стандартное значение FPS\&. Например: .sp .if n \{\ .RS 4 .\} .nf # timestamp format v1 assume 27\&.930 800,1000,25 1500,1700,30 .fi .if n \{\ .RE .\} .SS "Формат файла меток времени v2" .PP В этом формате каждая строка содержит метку времени для соответствующего кадра\&. Эта временная метка должна быть указана с точностью до миллисекунд\&. Это может быть число с плавающей запятой, но это не обязательно\&. Вы \fIдолжны\fR предоставить как минимум столько строк временных меток, сколько кадров в дорожке\&. Метки времени в этом файле должны быть отсортированы\&. Пример для 25 кадров в секунду: .sp .if n \{\ .RS 4 .\} .nf # timestamp format v2 0 40 80 .fi .if n \{\ .RE .\} .SS "Формат файла меток времени v3" .PP В этом формате каждая строка содержит длительность в секундах, за которой следует дополнительное количество кадров в секунду\&. Оба могут быть числами с плавающей запятой\&. Если количество кадров в секунду отсутствует, используется значение по умолчанию\&. Для аудио вы должны позволить кодеку самостоятельно вычислить метки времени кадра\&. Для этого вы должны использовать \fB0,0\fR в качестве количества кадров в секунду\&. Вы также можете создать разрывы в потоке, используя ключевое слово \*(Aqgap\*(Aq, за которым следует длительность разрыва\&. Пример аудиофайла: .sp .if n \{\ .RS 4 .\} .nf # timestamp format v3 assume 0\&.0 25\&.325 7\&.530,38\&.236 gap, 10\&.050 2\&.000,38\&.236 .fi .if n \{\ .RE .\} .SS "Формат файла меток времени v4" .PP Формат идентичен формату v2\&. Единственное отличие в том, что временные метки не должны быть отсортированы\&. Этот формат не следует когда\-либо использовать\&. .SH "КОДЫ ЗАВЕРШЕНИЯ" .PP \fBmkvmerge\fR(1) завершается с одним из трёх кодов: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB0\fR \-\- Этот код завершения означает, что паковка закончилась успешно\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB1 \fR\-\- В этом случае \fBmkvmerge\fR(1) выдал хотя бы одно предупреждение, однако паковка продолжилась\&. Предупреждение начинается с текста \(FoWarning:\(Fc\&. В зависимости от произошедших ошибок, результирующие файлы могут быть либо целыми либо повреждёнными\&. Пользователю рекомендуется обратить внимание на само предупреждение и проверить результирующие файлы\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} \fB2\fR \-\- Этот код завершения используется в случае возникновения ошибки\&. \fBmkvmerge\fR(1) прекращает работу сразу после вывода сообщения об ошибке\&. Ошибки могут возникнуть из\-за неверных параметров командной строки, из\-за ошибки чтения/записи или просто из\-за повреждённых файлов\&. .RE .SH "ПЕРЕМЕННЫЕ СРЕДЫ" .PP \fBmkvmerge\fR(1) использует стандартные переменные, определяющие системный язык (например: \fILANG\fR и семейство \fILC_*\fR)\&. Дополнительные переменные: .PP \fIMKVMERGE_DEBUG\fR, \fIMKVTOOLNIX_DEBUG\fR и его краткая форма \fIMTX_DEBUG\fR .RS 4 Содержимое обрабатывается так, как если бы оно было передано с помощью параметра \fB\-\-debug\fR\&. .RE .PP \fIMKVMERGE_ENGAGE\fR, \fIMKVTOOLNIX_ENGAGE\fR и его краткая форма \fIMTX_ENGAGE\fR .RS 4 Содержимое обрабатывается так, как если бы оно было передано с помощью параметра \fB\-\-engage\fR\&. .RE .SH "СМОТРИТЕ ТАКЖЕ" .PP \fBmkvinfo\fR(1), \fBmkvextract\fR(1), \fBmkvpropedit\fR(1), \fBmkvtoolnix-gui\fR(1) .SH "ДОМАШНЯЯ СТРАНИЦА" .PP Последняя версия программы всегда доступна на \m[blue]\fBдомашней странице MKVToolNix\fR\m[]\&\s-2\u[6]\d\s+2\&. .SH "АВТОР" .PP \fBМориц Бункус\fR <\&moritz@bunkus\&.org\&> .RS 4 Разработчик .RE .SH "ПРИМЕЧАНИЯ" .IP " 1." 4 сайт Matroska .RS 4 \%https://www.matroska.org/ .RE .IP " 2." 4 домашней странице IANA .RS 4 \%https://www.iana.org/assignments/media-types/ .RE .IP " 3." 4 mkvmerge-identification-output-schema-v18.json .RS 4 \%https://mkvtoolnix.download/doc/mkvmerge-identification-output-schema-v18.json .RE .IP " 4." 4 RFC 7159 .RS 4 \%https://tools.ietf.org/html/rfc7159 .RE .IP " 5." 4 Спецификация Matroska .RS 4 \%https://www.matroska.org/technical/specs/index.html .RE .IP " 6." 4 домашней странице MKVToolNix .RS 4 \%https://mkvtoolnix.download/ .RE