Как пользоваться мьюксером из командной строки:

Нужно создать файл с расширением .meta. В этом файле перечисляются файлы, которые нужно смьюксить в TS.
В первой строке meta файла могут быть указаны дополнительные параметры, которые относятся ко всем дорожкам. 
В этом случае строка должна начинаться со слова MUXOPT.


В последующих строка указывается список дорожек и их параметры.

Формат такой:
<Название кодека>, <Название файла>, <Дополнительные параметры>
Дополнительные параметры перечисляются через запятую. Для каждого параметра указывается его имя и значение.
Пример META файла:

V_MPEG4/ISO/AVC, D:\media\test\stream.h264, fps=25
A_AC3, D:\media\test\stream.ac3, timeshift=-10000ms

В этом примере происходит мьюксинг одной аудио дороги в формате AC3 и одной видеодороги в формате H264.


Дополнительные параметы аудио/видео дорожек:

fps - для видеодорожек и дорожек с сабтитрами можно явно задать значение fps (см. пример выше). Если fps не указан, он начитывается из потока.


level - позволяет перезаписать поле level в потоке H264. Например, можно изменить профиль High@5.1 на High@4.1.
Следует иметь ввиду, что обновляется только заголовок. H264 Поток может не удовлетворять требованиям 
более низкого level. 

insertSEI - параметр используется только для видео H.264. При его включении просиходит следующее: если оригинальный видеопоток не содержит 
информации SEI picture timing и SEI buffering period, то такая инфомация добавляется в поток. Этот параметр рекомендуется включать
для лучшей совместимости с приставкой Sony Playstation 3.

contSPS - параметр используется только для видео H.264. При включении параметра, если оригинальный видеопоток не содержит циклически повторяющихся 
элементов SPS/PPS (при импорте из MKV они могут быть записаны только один раз в начале файла), то SPS/PPS будут дополнительно вставляться в поток
перед каждым ключевым кадром. Рекомендуется всегда включать этот параметр. 
Примечание: для x264 потоков видеоплейер Dune HD не может декодировать повторный SPS элемент, видимо это ошибка в текущей прошивке плейера.

delPulldown - для видеодорожек. Убирает из дорожки метки pulldown. Внимание! При включении параметра delPulldown обычно требуется ввод 
              нового значения fps, отличающегося от значения в потоке. Например, если fps потока 29.97, то после включения delPulldown потребуется 
              выставить fps=23.976. 

timeshift - Для аудио дорожек и дорожек с сабтитрами поддерживается параметр timeshift, может быть как больше, так и меньше нуля. 
Значение для timeshift задается в миллисекундах (в конце должно стоять ms) или в секундах (в конце буква s). Этот параметр 
позволяет сдвинуть аудиодорожку по времени вперед (положительное значение параметра) или назад.

down-to-dts - доступно только для дорожек DTS-HD. Делает преобразование DTS-HD в стандартный DTS.
down-to-ac3 - доступно только для дорожек TRUE-HD c ядром AC3 внутри (обычно такие пишут на Blu-ray диски).

track - начиная с версии 0.9.96 появилась возможность ссылаться на дорожки, лежащие в других контейнерах. В этом случае нужно указывать
номер дорожки внутри контейнера. 
mplsFile - ссылка на MPLS файл, которому принадлежит медиа файл текущей дорожки. Эта информация позволяет более точно
           обрабатывать стыки файлов при выполнении операции объединения (append). Опция доступна только для дорожек, находящихся
           внутри M2TS файлов. В качестве значения указывается номер MPLS файла. Например: mplsFile=00048. Файл ищется относительно 
           папки медиа файла в подкаталогах ./../PLAYLIST и ./../BACKUP/PLAYLIST.
           При объединении большого количества файлов с Blu-ray диска (10 и более), рекомендуется указывать эту 
           опцию. Если не включить эту опцию и в Blu-ray диске использовался playlist с connection_condition=5, на каждом стыке 
           будет накапливаться рассинхронизация аудио/сабтитров с видео около 17ms (от 0 до длины аудио фрейма текущей дорожки). 
           Этот параметр автоматически заполняется в GUI при открытии MPLS файла.

Параметры для текстовых сабтитров SRT:
video-width - ширина видео в пикселях
video-height - высота видео в пикселях
fps          - fps видео
bottom-offset - отступ от нижнего края при выводе текста.
font-name    - название используемого шрифта в кавычках
font-color   - Цвет шрифта, например, 0x00FFFFFF. Цвет можно вводить в шестнадцатеричном или десятичном виде.
font-size    - размер шрифта
font-italic   - выводить текст с наклоном
font-bold     - выводить жирный текст
font-underline - подчеркнутый текст
font-strikeout - перечеркнутый текст



Список поддерживаемых контейнеров:
- TS/M2TS
- EVO/VOB/MPG
- MKV
- MPLS (Blu-ray media play list file)

Для получения номер дорожки запустите: tsMuxer <имя файла контейнера>.

Для запуска мьюксера нужно открыть windows терминал, far или другой файловый менеджер и набрать:
tsMuxer <имя meta файла> <имя TS файла>

Наименования кодеков в meta файле:
V_MPEG4/ISO/AVC - H264
V_MS/VFW/WVC1   - VC1
V_MPEG-2        - MPEG2

A_AC3 - DD (AC3) / DD+ (E-AC3) / True HD (True HD только для дорожек с AC3 core внутри).
A_AAC - AAC
A_DTS - DTS / DTS-HD
A_MP3 - MPEG audio layer 1/2/3
A_LPCM - raw pcm data or PCM WAVE file

S_HDMV/PGS - сабтитры в формате Presentation Graphic Stream.
S_TEXT/UTF8 - сабтитры в формате SRT. Текстовый файл должен быть в unicode. Допускаются любые форматы: UTF-8, UTF-16 (little-endoan,
              big-endian), UTF-32 (little-endian, big-endian).


Дополнительные параметры мьюксера в строке MUXOPT.

Параметры этой группы влият на весь поток в целом, а не на отдельную дорожку. Параметры перечисляются через пробел.


--pcr-on-video-pid - не выделять отдельный PID для PCR, а использовать существующий video PID.
--new-audio-pes - использовать байт 0xfd вместо 0xbd для дорожек AC3, True-HD, DTS и DTS-HD. Это соответствует стандарту Blu-ray.
-vbr - использовать переменный битрейт 
--minbitrate=xxxx - задает нижнюю границу vbr битрейта. Если поток занимает меньшее количество байт, будут вставляться NULL пакеты
для забивания потока до нужной полосы.
--maxbitrate=xxxx - верхняя граница vbr битрейта. 
--cbr - режим мьюксинга с фиксированным битрейтом. Опции --vbr и --cbr не должны использоваться совместно.
--vbv-len - длина виртуального буфера в миллисекундах. Значение по умолчанию 500. Обычно этот параметр используется совместно с --cbr.
Параметр аналогичен значению vbv-buffer-size в кодере x264, но задается не в килобитах, а в миллисекундах (при константном битрейте
их можно пересчитать друг в друга). Если вы самостоятельно кодировали файл в x264 в режиме константного битрейта, для более
плавного вещания файла в сеть рекомендуется выставлять такое же (или меньшее) значение этого параметра чем в x264. При переполнении виртуального
буфера в лог будут выведены соответствующие ошибки.
--bitrate=xxxx - битрейт для режима мьюксинга с фиксированным битрейтом.
Значения --maxbitrate, --minbitrate и --bitrate указывается в килобитах в секунду. Можно использовать не целое число, разделитель
между целой и дробной частью символ точка. Например: --maxbitrate=19423.432
--no-asyncio - не создавать отдельный поток для записи выходных файлов. Включение этого режима также отменяет флаг FILE_FLAG_NO_BUFFERING.
Это несколько снижает скорость записи, но позволяет видеть объем выходного файла во время работы.
--auto-chapters=nn - вставлять главы каждые nn минут. Используется только в режиме blu-ray muxing.
--custom-chapters=<строка параметров> - вставлять главы в указанных местах. Используется только в режиме blu-ray muxing.
Строка параметров имеет следующий вид: hh:mm:ss;hh:mm:ss и т.д. Через точку с запятой перечисляются временные метки, в которых
надо вставить новую главу. Строка не должна содержать пробелов.
--demux - в этом режиме выбранные аудио/видео треки сохраняются как отдельные файлы. При обработке дорожек на них накладываются
  все выбранные эффекты, например, смена level для h.264. В режиме demux некоторые типы дорожек всегда подвераются изменениям при
  сохранении в файл:
   - Субтитры в формате Presentation graphic stream преобразуются в формат sup
   - PCM аудиодорожки сохраняются в виде WAV файлов. Также происходит автоматическое разбиение на несколько файлов,
     если размер WAV файла превышает 4Gb.
--cut-start - Обрезать начало файла. Значение должно завершаться "ms" (число миллисекунд), "s" (число секунд) или "min" (число минут)
--cut-end   - Обрезать конец файла. Значение должно завершаться "ms" (число миллисекунд), "s" (число секунд) или "min" (число минут)
--split-duration - разрезать выходной по времени. Время указывается в секундах. Длина каждой части всегда будет чуть меньше введенного значения,
                   т.к. точка разрыва файла происходит только по ключевым кадрам (или по границам аудиофреймов если нет видеодорожки).
                   При этом контролируется, что следующая допустимая точка разрыва не должна превышать указанное значение.
--split-size - разрезать выходной файл по размеру. Длина каждой части всегда будет чуть меньше введенного значения.
               Значение должно завершаться одним из следующих префиксов:
  Kb - значение указано в килобайтах (1000 байт).
  Kib - значение указано в единицах 2^10 байт.
  mb - значение указано в мегабайтах (1000000 байт).
  mib - значение указано в единицах 2^20 байт.
  gb - значение указано в гигабайтах (1000000000 байт).
  gib - значение указано в единицах 2^30 байт.



При работе tsMuxer не использует внешних фильтров (кодеков).
