Субтитры телетекста вещательного канала¶
Половина каналов европейского спутника и кабеля везёт телетекст, и субтитры живут на одной из его страниц — обычно на 888. Телевизор декодирует эту страницу сам и кладёт реплики поверх картинки. Абонент того же канала в вашем приложении не получает ничего: телетекст не декодирует ни один OTT-плеер.
Catena разбирает субтитровые страницы и отдаёт каждую отдельной дорожкой WebVTT, которую понимают все плееры. Ничего дополнительного к каналу подключать не нужно: текст берётся из того же сигнала, который вы уже принимаете.
Про субтитры, встроенные в саму картинку (CEA-608/708 — американский способ делать то же самое), читайте в Скрытых субтитрах.
Зачем это провайдеру¶
- Субтитры перестают теряться на пути к абоненту. Вещатель их отдал, ваш плеер их не показал — жалоба придёт вам, а не вещателю.
- Требования доступности. European Accessibility Act требует сохранять субтитры при онлайн-раздаче того, что показывалось в эфире. Практический смысл простой: если субтитры были в эфире, они должны быть и в приложении.
- Многоязычие даром. Вещатель часто кладёт в один канал несколько субтитровых страниц — по одной на язык. Каждая становится отдельным пунктом меню субтитров, без второго входа и без ручной работы.
- Один вход — все выдачи. Раскодировали один раз на приёме, отдали и в браузер, и в приложение, и в телевизор.
Как включить извлечение¶
Извлечение выключено по умолчанию и заказывается для каждого стрима отдельно. Откройте стрим, вкладка Обработка, секция Телетекст, и выберите режим:
- Транзитом внутри MPEG-TS (без субтитровой дорожки) — умолчание. Телетекст едет потребителям MPEG-TS нетронутым, ничего не разбирается.
- Извлекать субтитровые страницы дорожками — каждая субтитровая страница становится дорожкой WebVTT. Внутри MPEG-TS телетекст при этом продолжает ехать: извлечение дорожку добавляет, а не отбирает.

Под переключателем Catena перечисляет страницы канала и то, что про каждую известно: номер, язык, откуда взялся язык и была ли страница объявлена вещателем, замечена в эфире или и то и другое. Перечень заполняется по эфиру, поэтому он осмыслен только на работающем стриме.
Извлечение стоит каналу низкой задержки
Реплика субтитров известна только на своём закрытии: пока страница не сменилась, строка ещё стоит на экране и её длительность не решена. У низколатентной кромки эфира текста поэтому ещё не существует, и стоящий там плеер не увидел бы ни одного субтитра. Именно поэтому канал с текстовой дорожкой отдаётся без частей LL-HLS — обычными сегментами HLS и DASH, с привычной задержкой в несколько секунд.
По той же причине извлечение не включается само на всяком канале с телетекстовым PID: каналу, который вы только пропускаете через себя, платить эту цену незачем.
Что увидит абонент¶
В плеере появляется обычное меню субтитров: по пункту на каждую субтитровую страницу, с её языком. Текст идёт синхронно с речью и встаёт там же, где стоял в эфире.
Субтитры работают и в архиве, так что записанная передача их сохраняет. Но извлечение должно быть включено в момент записи: то, что не разобрали на приёме, задним числом из архива не достать.
Как читать перечень страниц¶
Про каждую страницу известны две независимые вещи, и перечень их не смешивает:
- Объявлена — вещатель заявил страницу в служебных таблицах канала, с её языком и назначением (субтитры или обычная страница телетекста).
- В эфире — страница действительно пришла в потоке.
Отсюда состояния, которые вы можете увидеть рядом со страницей:
- объявлена, но ни разу не пришла — вещатель её заявил и не отдал. Извлекать нечего; строка нужна затем, чтобы разница между «вещатель молчит» и «такой страницы у канала нет» оставалась видна.
- идёт, но не объявлена — страница передаётся, а таблицы про неё молчат. На практике частый случай: вещатель забыл обновить таблицы. Такие страницы извлекаются наравне с объявленными.
- Ничего дополнительного — заявка и эфир сошлись.
Язык показан вместе с его происхождением, потому что доверия к ним не поровну:
- объявлен в PMT — вещатель назвал язык именно этой страницы. Факт.
- унаследован от дорожки — сама страница не объявлена, но вся телетекстовая дорожка одноязычная, и язык взят у неё. Разумная догадка, а не факт.
- источника нет — страница не объявлена, а дорожка разноязычная. Язык брать неоткуда, и плеер покажет пункт меню по номеру страницы.
Если субтитров нет¶
- Секция «Телетекст» пишет, что страниц в потоке нет. Значит телетекста в канале нет вовсе. Убедитесь, что смотрите живой стрим: страницы определяются по эфиру, а не по конфигурации.
- Страницы перечислены, а дорожки в плеере нет. Проверьте режим: при пропускании дорожки не будет по определению.
- Страница в перечне есть, но не помечена субтитровой. Извлекаются только страницы, которые эфир помечает субтитровыми. Обычная страница телетекста — телепрограмма, новости — это не субтитры, и дорожкой она не станет.
- Дорожка есть, текста нет. Нормально, если в эфире сейчас молчат: пустые окна субтитров — штатное состояние. Если текста нет и во время речи, пришлите фрагмент потока в поддержку.
- Канал перестал быть низколатентным после включения извлечения. Это описанная выше цена текстовой дорожки. Если на этом канале низкая задержка важнее субтитров — вернитесь к пропусканию.