Skip to content

Субтитры и телетекст

Вещательный сигнал везёт текст в двух видах: европейский телетекст (субтитры на странице, обычно 888) и американские кэпшны CEA-608/708 внутри видеопотока. Головной станции важны два разных вопроса про них: доживают ли они до выхода и нужна ли из них отдельная дорожка.

Оба режима живут на вкладке Обработка карточки стрима.

Транзит — умолчание

По умолчанию станция ничего с текстом не делает: телетекстовый PID и кэпшны внутри видео уезжают на выход такими, как пришли. В форме это подписано так:

  • ТелетекстТранзитом внутри MPEG-TS (без субтитровой дорожки);
  • Кэпшны, режим выдачи — Внутри видео (passthrough).

Для доставки в сеть это правильное поведение: приёмник и телевизор декодируют текст сами, а любое вмешательство было бы лишней тратой и лишним риском. Транзит переживает и ремукс, и перекладывание в другой транспорт.

Когда нужно извлечение

Извлечение нужно тогда, когда за станцией стоит не приёмник, а плеер: ни один OTT-плеер не декодирует телетекст. Если со станции уходит OTT-копия, субтитры до зрителя дойдут только текстовой дорожкой.

  • ТелетекстИзвлекать субтитровые страницы дорожками: каждая субтитровая страница становится дорожкой WebVTT. Внутри MPEG-TS телетекст при этом продолжает ехать: извлечение дорожку добавляет, а не отбирает.
  • Кэпшны — три режима: Внутри видео (passthrough), Дорожкой вместо встроенных (extract) и И внутри видео, и дорожкой (both).

Многоязычие достаётся даром: вещатель часто кладёт по субтитровой странице на язык, и каждая становится отдельной дорожкой без второго входа и ручной работы.

Режим extract у кэпшнов вырезает их из MPEG-TS

В режиме Дорожкой вместо встроенных кэпшны вырезаются из видео на всех выдачах, включая MPEG-TS: пуши по UDP, RTP и SRT, TS-сегменты и отдача по HTTP. Текстовой дорожке внутри MPEG-TS ехать не в чем, поэтому потребитель транспортного потока останется без субтитров вообще. Если сигнал забирают по MPEG-TS — а на головной станции это обычный случай, — выбирайте both.

Извлечение телетекста стоит низкой задержки

Реплика субтитров известна только на своём закрытии: пока страница не сменилась, длительность строки не решена. Поэтому стрим с текстовой дорожкой отдаётся обычными сегментами, без частей LL-HLS. Для доставки в сеть это ничего не меняет, но кромку OTT-копии удлиняет на несколько секунд — ещё одна причина не включать извлечение там, где сигнал только проходит через станцию.

Что видно по стриму

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

  • объявлена — вещатель заявил страницу в служебных таблицах, с языком и назначением;
  • идёт — страница действительно пришла в потоке.

Отсюда состояния, которые вы увидите рядом со страницей: объявлена, но не приходила (вещатель молчит), идёт, но не объявлена (вещатель забыл обновить таблицы — такие страницы извлекаются наравне с объявленными), либо и то и другое сразу.

Язык показывается вместе с происхождением, потому что доверия к ним не поровну: объявлен в PMT — факт, унаследован от дорожки — разумная догадка по одноязычной дорожке.

Перечень заполняется по эфиру и осмыслен только на работающем стриме.

Архив

Кэпшны декодируются и пишутся в архив в любом режиме, поэтому режим выдачи можно поменять и позже — субтитры появятся и по уже записанному архиву. Извлечённые телетекстовые дорожки попадают в архив вместе с видео.

Что дальше