![Транспортный поток Дублирующий пакет](https://rvso.com/image/1414651/%D0%A2%D1%80%D0%B0%D0%BD%D1%81%D0%BF%D0%BE%D1%80%D1%82%D0%BD%D1%8B%D0%B9%20%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%20%D0%94%D1%83%D0%B1%D0%BB%D0%B8%D1%80%D1%83%D1%8E%D1%89%D0%B8%D0%B9%20%D0%BF%D0%B0%D0%BA%D0%B5%D1%82.png)
Когда мы отправляем дублирующиеся пакеты транспортного потока? Что следует сделать на демультиплексоре, когда мы получаем дублирующийся пакет TS?
решение1
MPEG-2 допускает максимум два последовательных пакета с одинаковым PID и одинаковым значением CC. Дублирующиеся и идентичные пакеты могут быть включены для избыточности, если исходный пакет содержит важную информацию. В этом случае, если первый пакет потерян или поврежден, вместо него можно использовать дубликат. На декодере вы либо отбрасываете его, либо используете в зависимости от того, является ли оригинал действительным.
Неидентичные дублирующие пакеты также могут использоваться для хранения дополнительной информации без необходимости вставлять другой PID. Например, их можно использовать для шифрования/скремблирования контента.
решение2
Стандарт системы MPEG2 (13818-1) гласит:
«В транспортных потоках дублирующиеся пакеты могут быть отправлены как два и только два последовательных пакета транспортного потока с одним и тем же PID. Дублирующиеся пакеты должны иметь то же значение continuous_counter, что и исходный пакет, а поле adaptation_field_control должно быть равно '01' или '11'. В дублирующихся пакетах каждый байт исходного пакета должен быть дублирован, за исключением того, что в полях опорных часов программы, если они присутствуют, должно быть закодировано допустимое значение».
В приведенном выше утверждении есть один очень важный момент - "за исключением того, что в полях опорных часов программы". При некоторых обстоятельствах дублированный пакет может отличаться от исходного.
Если декодер обнаруживает два последовательных пакета с одинаковым PID и CC и PCR (ссылка на программные часы) не сигнализируется, то он должен сравнить эти пакеты. Если они идентичны, то второй пакет является копией первого. Однако, если передается PCR, то декодер должен сравнить оба пакета, исключая поля PCR. если они идентичны (исключая PCR), то второй пакет является копией первого.