Remap - это смена номера пида на необходимое значение.
Описание полей
Map PIDs
-
Строка переопределения pid.
Для примера: pmt=100, video=101, audio=102, 1003=200
Возможные значения:
1003=200
- сменить номер pid 1003 на 200.
audio=100
- сменить pid звука на 100
video=107
- сменить pid видео на 107
ttx=108
- сменить pid телетекста на 108
pmt=109
- сменить pid PMT таблицы на 109
Filter PIDs
Фильтрация пидов в потоке.
Для примера: 102, 103, 90
- остальные пиды будут удалены.
Change PNR
Изменить номер PNR (он - же SID)
Change TSID
Изменить номер transport stream id
Для чего менять и фильтровать пиды?
Смена:
Представим ситуацию: у нас есть 2 источника сигнала в одном стриме/телеканале "Muz":
первый источник мы принимаем со спутника а резервный - через интернет.
У источника со спутника значение пидов: video=645, audio=636, pnr=400, pmt=400
С резервного источника значение: video=186, audio=187, pnr=100, pmt=103
В момент переключения на резервный источник - у всех клиентов будет черный экран: плееры потеряют видео/аудио дорожку. Еще бы! только что видео-поток был с номером 645, и вдруг стал 186. На iptv приставке придется переключить канал вперед-назад, чтоб плеер переподключился к каналу, и считав таблицу PMT, начал снова показывать. (считал таблицу PAT, а следом PMT и получил новые идентификаторы потоков).
Фильтрация
Теперь представим ситуацию, что мы наши готовые каналы - подаем не только в iptv - но и в кабельную DVB-C сеть.
У нас все те-же источники (спутник и интернет) - как в примере выше, но у некоторых источников присутствуют и дополнительные пиды. К примеру у резерва канала "Muz" - 2 аудиодорожки:
Cо спутника
video=645,
audio=636,
pnr=400,
pmt=400
С резервного источника
video=186,
audio.rus=187,
audio.eng=188
,
pnr=100,
pmt=103
То есть, во втором источнике - есть одна "неучтенная" звуковая дорожка с пидом 188.
Если мы обойдемся только ремапом- то, при переключении канала на резерв - у нас появится один лишний - "неучтенный" pid. И это может сыграть с нами одну неприятную шутку.
Представим что у нас есть каналы "Muz" и "Sport" с произведенным переопределением пидов:
"Sport"
video=188,
audio=189,
pnr=186,
pmt=186
"Muz"
video=190,
audio=191,
pnr=192,
pmt=192
Мы собираем из наших spts потоков - mpts и подаем его в кабельную сеть.
Все идет отлично, пока однажды вечером не начинается гроза. Телеканалы уходят на резерв, но... у нашего Спорта - куда-то пропадает картинка... а тут еще и матч... Звук есть - картинки нет..
Что же произошло? При переключении на резерв телеканала "Muz" - у нас появился "лишний" пид. Та самая "audio eng=188" - которая пересеклась с видеопотоком канала "Sport".
Запомним что в одном mpeg-ts - не могут существовать пиды с одинаковыми номерами
Немного о таблицах
Каждая таблица или элементарный поток в транспортном потоке идентифицируется по PID.
В простейшем mpeg-ts потоке, обычно содержится:
служебные таблицы (PSI),
video - изображение,
audio - звук,
возможно присутствие нескольких аудио-дорожек (для разных языков), телетекста, информации о кодировке, или других таблиц.
PSI
- (Пакет с информационными таблицами )
Возможные типы таблиц:
PAT
- (Таблица программ):
Содержит PID-ы всех PMT. Её собственный PID - всегда 0x0.
PMT
- (Структурная таблица):
Структура программы, содержит PIDы и основные характеристики элементарных потоков — видео, звука, дополнительных данных. Для каждой программы есть свой PMT с собственным PID. Кроме того, PMT содержит сообщения ECM системы условного доступа, если в программе присутствуют зашифрованные элементарные потоки
CAT
- (Таблица условного доступа):
Таблица условного доступа содержит список систем условного доступа ("кодировок") и номера PID'ов, с которыми передаются EMM (EMM - entilement management messages) от каждой из этих систем.
Таблица CAT может отсутствовать - если поток не зашифрован.
Это далеко не все таблицы которые могут встретится в mpeg-ts потоке, но именно они чаще всего будут встречатся вам в spts - потоках/стримах.