IPTV с нуля: запускаем сервис на Catena и iMPlayer

IPTV-сервис обретает смысл для клиента, когда он может открыть свои каналы на телевизоре, найти передачу и посмотреть её. В Catena вещание и абонентские пакеты каналов настраиваются из одной консоли. iMPlayer становится интерфейсом зрителя: получает из Catena персональный список каналов и программу передач.

В первой статье об IPTV с нуля мы разобрали всю инфраструктуру, включая спутниковый приём и отдельные серверы транскодирования и доставки. Здесь пройдём конкретный сценарий запуска на Catena и iMPlayer: несколько каналов, тестовый пакет и тестовый абонент. Когда этот путь заработает, можно расширять список каналов и подключать коммерческие системы.

Кто за что отвечает

КомпонентЕго задачаПольза при запуске
Ваши источники контентаПоставляют вещание для распространенияМожно начать с готового сигнала или своих каналов
CatenaПринимает и раздаёт стримы, управляет каналами, пакетами, абонентами и EPGВещание и состав абонентских каналов настраиваются вместе
iMPlayerПоказывает список каналов, программу передач и видео на устройстве зрителяДля пилота можно взять готовый телевизионный плеер
Ваш биллинг и клиентские системыПродают доступ, ведут платежи и отношения с клиентамиКоммерческий процесс подключается к видеосервису

iMPlayer — медиаплеер; каналы предоставляете вы. Для начала понадобятся контент с правом распространения, совместимое устройство с iMPlayer, сервер Catena и домен, доступный из сети абонента. Первый пилот можно разместить на одной машине Catena. Оборудование и пропускная способность зависят от источников, транскодирования и числа одновременных зрителей.

Шаг 1. Установить Catena и проверить первый стрим

Пройдите быстрый старт Catena на машине с Ubuntu 24.04. В нём описаны установка, вход администратора и тестовый синтетический источник с пресетом транскодирования в H.264/AAC. Такой тест позволяет проверить видеотракт ещё до подключения поставщика контента.

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

Используйте публичный домен и настройте HTTPS. Из сети абонента должны быть доступны и сам сервис, и адреса воспроизведения, на которые он перенаправляет плеер. Проверьте это также за пределами локальной сети оператора.

Шаг 2. Превратить вещание в список телеканалов

Стрим описывает техническую сторону вещания: источники, транскодирование и запись. Канал описывает то, что видит клиент: название, номер и связь с этим стримом.

Откройте Каналы, создайте канал, назначьте ему стрим и номер. Дайте понятное название и, если нужно, группу: «Новости», «Спорт» или «Кино». Добавьте логотип либо примените предложенный источником EPG. Catena передаёт группы и логотипы в совместимом IPTV-плейлисте: зрителю проще ориентироваться в растущем списке.

Канал связан со стримом в Catena

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

Шаг 3. Создать пакет и тестового абонента

В разделе Пакеты создайте пакет, например basic, и включите в него тестовые каналы. Задайте число одновременных экранов для предложения, которое хотите проверить. Бесплатный пакет доступен всем абонентам: включайте Бесплатный только для каналов, предназначенных каждому.

В разделе Подписчики создайте тестового клиента и подпишите его на basic. Проверьте блок Доступные каналы в карточке: именно этот состав использует экспорт. Клиент получает каналы своих подписок плюс бесплатных пакетов; канал, не включённый ни в один пакет, недоступен никому.

Пакеты абонента и доступные ему каналы

Скопируйте Токен плейбека для следующего шага. Каждому клиенту выдавайте собственные ссылки. Для пилота записи можно настроить вручную, а по мере роста связать назначение пакетов с биллингом через API Catena.

Шаг 4. Подготовить программу передач

Откройте Программу передач, добавьте URL источника XMLTV и задайте период обновления. Затем свяжите каждый стрим с нужным каналом этого источника. Catena умеет предложить совпадения по имени: проверьте их перед массовым назначением.

Привязка стрима к каналу источника EPG

Прежде чем проверять сетку в iMPlayer, убедитесь, что передачи появились в Catena. Успешно загруженный файл без привязанных стримов даст пустое расписание. Catena экспортирует программу для доступных абоненту каналов; одинаковые идентификаторы связывают плейлист с XMLTV. Настройка импорта и диагностика описаны в мануале об EPG.

Шаг 5. Передать iMPlayer две абонентские ссылки

Возьмите домен Catena и токен из карточки абонента. Для установки на tv.example.com адреса выглядят так:

M3U-плейлист:
https://tv.example.com/playback/tv/iptv.m3u8?token=SUBSCRIBER_TOKEN

Программа передач XMLTV:
https://tv.example.com/playback/tv/xmltv.xml?token=SUBSCRIBER_TOKEN

Замените пример домена и SUBSCRIBER_TOKEN своими значениями. Откройте URL плейлиста в браузере: ответ должен начинаться с #EXTM3U и содержать записи ваших каналов.

Для этого сценария используйте iptv.m3u8. В Catena есть также playlist.m3u8, но IPTV-экспорт выдаёт абсолютные HLS-адреса, которые ожидают плееры с поддержкой формата Flussonic. В Catena 26.10 эти ссылки несут абонентские учётные данные: импортированный список не перестаёт работать просто из-за истечения короткого билета на просмотр. При изменении состава каналов загрузите плейлист заново.

В iMPlayer добавьте плейлист через вариант M3U URL, задайте название и вставьте первый адрес. Второй адрес укажите как EPG/XMLTV URL этого плейлиста, сохраните и обновите список каналов и программу передач. Точные названия пунктов зависят от версии приложения; здесь используются M3U и XMLTV, а не учётные данные портала. Для загрузки приложения используйте официальный сайт iMPlayer, для своей версии устройства — его справку.

Откройте канал, переключитесь на другой, проверьте текущую передачу. Передавайте абонентские ссылки приватно: они содержат учётные данные клиента. Адреса экспорта перечислены в мануале о плейлисте и XMLTV.

Шаг 6. Добавить просмотр из архива и проверить доступ

Для просмотра прошедших передач включите DVR на нужных стримах и дождитесь накопления записи. Когда архив существует, Catena добавляет в IPTV-запись catchup="fs" и catchup-days. Проверьте поддержку совместимого с Flussonic архива в том устройстве и версии плеера, которые планируете предлагать. EPG даёт расписание; для просмотра прошлой передачи нужна реальная запись в пределах глубины архива.

Перед подключением клиентов проверьте авторизацию воспроизведения. Создание пакетов — одна часть управления доступом; видеотракт тоже должен быть защищён. Проверьте разрешённого клиента, запрос без доступа, канал вне его пакета и превышение числа одновременных экранов. Если контент требует DRM, отдельно проверьте всю связку DRM и устройства — базовый M3U-пилот этого не заменяет.

Шаг 7. Проверить подключение абонента и работу поддержки

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

СимптомЧто проверить первым
Каналов нетДоступные каналы в карточке абонента, участие в пакетах и назначенные стримы
Браузер скачивает список, плеер не показывает каналыИспользуется ли IPTV-экспорт iptv.m3u8
Видео играет, программа передач пустаURL XMLTV в плеере, импорт EPG и привязки стримов в Catena
Эфир играет, прошлые передачи не открываютсяЗапись DVR, доступное окно архива и поддержку архива плеером
В офисе работает, дома нетПубличный DNS, HTTPS и доступность адреса после перенаправления

В разделе Сессии Catena можно увидеть, дошёл ли абонент до воспроизведения. Это помогает поддержке отличить проблему настройки плеера от проблемы источника или доставки.

По мере роста добавляйте стримеры и разделяйте доставку и запись архива с учётом нагрузки. Если следующий шаг — библиотека фильмов, прочитайте, как VOD-каталог Catena помогает собственному онлайн-кинотеатру. Пилот даёт проверенный путь вещания и подключения абонента, на котором можно развивать сервис.