Skip to content

Субтитры телетекста вещательного канала

Половина каналов европейского спутника и кабеля везёт телетекст, и субтитры живут на одной из его страниц — обычно на 888. Телевизор декодирует эту страницу сам и кладёт реплики поверх картинки. Абонент того же канала в вашем приложении не получает ничего: телетекст не декодирует ни один OTT-плеер.

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

Про субтитры, встроенные в саму картинку (CEA-608/708 — американский способ делать то же самое), читайте в Скрытых субтитрах.

Зачем это провайдеру

  • Субтитры перестают теряться на пути к абоненту. Вещатель их отдал, ваш плеер их не показал — жалоба придёт вам, а не вещателю.
  • Требования доступности. European Accessibility Act требует сохранять субтитры при онлайн-раздаче того, что показывалось в эфире. Практический смысл простой: если субтитры были в эфире, они должны быть и в приложении.
  • Многоязычие даром. Вещатель часто кладёт в один канал несколько субтитровых страниц — по одной на язык. Каждая становится отдельным пунктом меню субтитров, без второго входа и без ручной работы.
  • Один вход — все выдачи. Раскодировали один раз на приёме, отдали и в браузер, и в приложение, и в телевизор.

Как включить извлечение

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

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

Извлечение телетекста на вкладке «Обработка»

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

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

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

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

Что увидит абонент

В плеере появляется обычное меню субтитров: по пункту на каждую субтитровую страницу, с её языком. Текст идёт синхронно с речью и встаёт там же, где стоял в эфире.

Субтитры работают и в архиве, так что записанная передача их сохраняет. Но извлечение должно быть включено в момент записи: то, что не разобрали на приёме, задним числом из архива не достать.

Как читать перечень страниц

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

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

Отсюда состояния, которые вы можете увидеть рядом со страницей:

  • объявлена, но ни разу не пришла — вещатель её заявил и не отдал. Извлекать нечего; строка нужна затем, чтобы разница между «вещатель молчит» и «такой страницы у канала нет» оставалась видна.
  • идёт, но не объявлена — страница передаётся, а таблицы про неё молчат. На практике частый случай: вещатель забыл обновить таблицы. Такие страницы извлекаются наравне с объявленными.
  • Ничего дополнительного — заявка и эфир сошлись.

Язык показан вместе с его происхождением, потому что доверия к ним не поровну:

  • объявлен в PMT — вещатель назвал язык именно этой страницы. Факт.
  • унаследован от дорожки — сама страница не объявлена, но вся телетекстовая дорожка одноязычная, и язык взят у неё. Разумная догадка, а не факт.
  • источника нет — страница не объявлена, а дорожка разноязычная. Язык брать неоткуда, и плеер покажет пункт меню по номеру страницы.

Если субтитров нет

  1. Секция «Телетекст» пишет, что страниц в потоке нет. Значит телетекста в канале нет вовсе. Убедитесь, что смотрите живой стрим: страницы определяются по эфиру, а не по конфигурации.
  2. Страницы перечислены, а дорожки в плеере нет. Проверьте режим: при пропускании дорожки не будет по определению.
  3. Страница в перечне есть, но не помечена субтитровой. Извлекаются только страницы, которые эфир помечает субтитровыми. Обычная страница телетекста — телепрограмма, новости — это не субтитры, и дорожкой она не станет.
  4. Дорожка есть, текста нет. Нормально, если в эфире сейчас молчат: пустые окна субтитров — штатное состояние. Если текста нет и во время речи, пришлите фрагмент потока в поддержку.
  5. Канал перестал быть низколатентным после включения извлечения. Это описанная выше цена текстовой дорожки. Если на этом канале низкая задержка важнее субтитров — вернитесь к пропусканию.