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-плейлисте: зрителю проще ориентироваться в растущем списке.

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

Скопируйте Токен плейбека для следующего шага. Каждому клиенту выдавайте собственные ссылки. Для пилота записи можно настроить вручную, а по мере роста связать назначение пакетов с биллингом через API Catena.
Шаг 4. Подготовить программу передач
Откройте Программу передач, добавьте URL источника XMLTV и задайте период обновления. Затем свяжите каждый стрим с нужным каналом этого источника. Catena умеет предложить совпадения по имени: проверьте их перед массовым назначением.

Прежде чем проверять сетку в 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 помогает собственному онлайн-кинотеатру. Пилот даёт проверенный путь вещания и подключения абонента, на котором можно развивать сервис.