Пример каталога канала показывает, как публикуются альтернативные рендеры в двух битрейтах в одной группе альтернатив. Треки используют разные назначения PIDs, поэтому подписчик, переключающийся между ними, обязан перепарсить PAT и PMT для нового потока перед отправкой пакетов в декодер. При этом границы групп видео должны совпадать по позициям воспроизведения. Пример демонстрирует два трека: video-high с битрейтом 6 000 000 бит в секунду и video-low с битрейтом 2 000 000 бит в секунду. Оба они упакованы в м2ts и работают в режиме прямой трансляции. Для высокоскоростного потока PIDs таковы: PMT имеет значение 256, PCR — 257. В низкобитрейнном варианте эти значения сдвинуты: PMT равен 512, а PCR — 513. Интервал PSI установлен на 100 для обоих треков. Размер пакета м2ts составляет 188 байт, количество пакетов в объекте — 64, а номер программы — 1. Случайный доступ включен в обоих случаях. Имена треков и названия пространства имен четко отражают их роль в потоке данных. Такой подход позволяет гибко управлять качеством видео, сохраняя строгую синхронизацию между различными вариантами одной сцены. Инженеры должны внимательно проверять соответствие границ групп, чтобы избежать рассинхрона при переключении. Все параметры, включая latency на уровне 1000, указаны явно. Такая структура обеспечивает надежную работу плееров, способных динамически менять качество без потери целостности картинки. Технические детали вроде m2tsPacketSize и m2tsPacketsPerObject критичны для правильной сборки потока. Разработчики обязаны следовать этим правилам, иначе декодер может работать некорректно. Протокол жестко требует перепарсинга таблиц при смене потока. Это гарантирует, что система всегда знает текущий источник данных. Пример служит руководством к действию для реализации подобных сценариев в реальном времени.
Каталог группы синхронизирует треки при переключении качества
07.05.2026 14:32 · hackernews