Документация на Flussonic Media Server

  1. Быстрый старт
  2. How To
  3. Потоковое вещание
    1. Публикация
    2. Прием мультикаста
    3. Варианты источников
    4. Переключение источников
    5. Плейлисты
    6. Наложение логотипа
    7. Миксер
    8. WebRTC публикация
    9. SDI
    10. Отправка на другие сервера
    11. Распознавание DVB субтитров
  4. Транскодер
    1. Логотип
    2. Hardware
    3. Скриншоты
    4. Мозаика
  5. DRM
    1. Simple CAS
    2. Conax DRM
    3. BuyDRM (KeyOS)
  6. Авторизация
    1. Конструктор бэкендов
    2. Сервис сбора статистики
    3. Domain lock
    4. Middleware
    5. Secure links
    6. Ограничение сессий
    7. Мультиавторизация
    8. Бан IP адресов
    9. DVR
    10. Aliaser
  7. API
    1. HTTP API
    2. Events API
    3. MySQL API
    4. SQL API для кластеров
    5. SNMP
  8. Кластер
    1. Ретрансляция
    2. Кластерный захват
    3. Балансировщик нагрузки
    4. Пиринг
    5. Организация CDN
  9. VOD
    1. Кэш
    2. Облако
    3. Транскодирование файлов
  10. DVR
    1. Настройка
    2. Timeshift
    3. Catchup
    4. Проигрывание
    5. Экспорт в MP4
    6. Доступ по протоколам
    7. Timelapse
    8. API
    9. Кластеризация DVR
    10. Репликация
    11. Облако
  11. Воспроизведение
    1. HLS
    2. embed.html
    3. HTML5 с низкой задержкой
    4. Плеер HTML5 с низкой задержкой
    5. MPEG-TS
    6. RTMP
    7. DASH
    8. HDS
    9. RTSP
    10. multicast, CBR UDP
    11. WebRTC проигрывание
    12. H.265
  12. Администрирование
    1. Установка
    2. Обновление

    3. Конфигурация
    4. Мониторинг
    5. Производительность
    6. Лицензия
    7. LUA скрипты
    8. Безопасность
    9. Let's Encrypt
    10. Миграция
  13. IPTV
    1. Захват спутникового видео
    2. Транскодирование
    3. Middleware в IPTV OTT
    4. Экспорт EPG со спутника
    5. Группы каналов

Захват спутникового видео

Flussonic Media Server не занимается захватом видео со спутника, но эта тема всё равно требует рассмотрения.

Долгота Anchor Anchor x2

Телевизионные спутники висят на геостационарной орбите Земли над экватором. Их положение над Землей постоянное, поэтому спутники идентифицируются долготой, над которой они висят. Так, например, спутник ABS 2 вращается вокруг Земли, постоянно находясь над 75° восточной долготы.

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

Поскольку спутник находится над конкретной долготой, то, как правило. разные спутники используются для вещания определенного набора каналов. Например, спутник Appstar-7 76.5°E наполнен индийскими каналами, а спутник Galaxy-17 91.0°W больше используется для вещания каналов для США.

Важно отметить, что у некоторых спутников есть несколько лучей, т.е. зон максимального приёма. Каналы в лучах могут отличаться. Например, один и тот же спутник может на Россию вещать один набор каналов, а на Тайланд другой.

Настройка ресивера Anchor Anchor x2

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

Т.е. с одного спутника одновременно вещается множество частот в нескольких поляризациях.

Поляризация бывает правой/левой или горизонтальной/вертикальной. Бытовые спутниковые антенны (точнее головки этих антенн или конвертеры) умеют принимать сразу обе поляризации на один выходящий кабель, но делают это плохо. Профессиональные конвертеры принимают все поляризации, но на разные выходы.

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

Напряжение (В)     13-14     17-18    
Линейная поляризация    вертикальная     горизонтальная
Круговая поляризация    правая левая

В некоторых ресиверах указывается напряжение, в некоторых указывается поляризация. По сути всё сводится к подаче напряжения.

Если простым сплиттером соедининть две платы захвата и на одной подать 18 вольт, а на другой 13, то вторая не получит сигнал.

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

Диапазоны частот со спутника разделяются условно на верхний и нижний диапазон. Граница проходит примерно на 11700 МГц.

При захвате частот ниже 11700 обычно выставляется частота гетеродина, она же LNB Frequency в 9750 МГц. При захвате частот выше 11700 настраивается частота гетеродина в 10600 МГц

После того, как правильно скоммутировали провода, не напутав с напряжением, настроили нужную частоту на приёмнике и частоту гетеродина и приёмник автоматически выбрал FEC (количество битов для контроля ошибки) и модуляцию (QPSK, 8PSK и т.п.), то ресивер начинает получать битовый поток, т.е. транспондер.

Транспондер представляет из себя MPEG-TS поток и позволяет в один поток упаковывать много разных телеканалов с разными языковыми дорожками и субтитрами.

Бытовой спутниковый приёмник позволяет забрать только один канал из транспондера, но профессиональные приёмники и DVB PCI платы захвата позволяют снимать все каналы с транспондера. Ниже будет подробнее описана структура MPEG-TS потока в транспондере.

Дескремблинг Anchor Anchor x2

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

Процедура расшифрования спутникового канала называется дескремблингом, а сам шифрованный канал называют скремблированным.

Механизм управления доступом к спутниковым телеканалам называется Conditional Access (CA), в русской терминологии используется термин «условный доступ».

На сегодняшний день используются различные схемы шифрования, но в основном все современные схемы работают примерно следующим образом:

  1. абонент получает карту доступа (похожа на большую, необрезанную SIM-карту с таким же чипом);
  2. на карте доступа есть приватный ключ;
  3. раз в месяц меняется ключ пакета;
  4. через спутник рассылается для каждого абонента ключ пакета, шифрованный публичным ключом карты;
  5. карта доступа запоминает ключ пакета;
  6. раз в минуту на каждом канале меняется ключ потока, который шифрован ключом пакета;
  7. если пользователю пришел ключ пакета и он смог его расшифровать, то он может получить доступ к каналу.

У этой схемы есть вариации и усложнения, но концептуально схема именно такая. Если не заплатить денег спутниковому оператору, то в конце месяца он не разошлет обновленный ключ и карта не сможет расшифровывать.

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

Когда обычный абонент покупает спутниковую тарелку для дома, он получает карту доступа и бытовой спутниковый приёмник, который имеет чип для дескремблирования одного канала по той схеме шифрования, которая выбрана у этого оператора. Условно говоря, приёмник для НТВ+ не подойдет к Континент-ТВ.

Оператор связи не может использовать 200 бытовых приёмников чисто технически, поэтому используются профессиональные приёмники, которые снимают не по одному каналу с транспондера, а все каналы. Однако официальный метод дескремблирования, который предлагают операторы связи, подразумевает использование специальных CA модулей. Это плата, похожая на PCMCIA модуль, в который втыкается карта доступа.

CA модуль самостоятельно дескремблирует каналы. Для этого он забирает каналы с головной станции, дескремблирует и отдает обратно.

Проблема в том, что даже для профессионального CA модуля дескремблирование 8 каналов — это предельная нагрузка. Учитывая, что на многих транспондерах сегодня бывает до 30 каналов, получается, что один и тот же транспондер надо захватывать через сплиттер несколько раз, используя дорогостоящие карты захвата или головные станции.

Альтернатива этому — дескремблирование силами компьютера. На компьютере запускается программа Astra. Она пропускает к карте доступа данные, необходимые для полноценного обновления ключей и когда меняется ключ потока, обращается к карте доступа через специальные механизмы за текущим ключом.

С помощью этого ключа получается дескремблировать все каналы в одном транспондере.

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

Однако эта схема работы на сегодняшний день отмирает из-за борьбы с пиратами, которые за деньги предоставляют доступ всем желающим к текущему ключу потока. Деньги меньшие, чем стоимость легальной подписки, поэтому операторы теряют деньги и вкладываются в новые системы шифрования, защищенные от такого доступа.

В итоге на сегодняшний день зачастую приходится мучиться с дорогими и плохо работающими официальными CA модулями.

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

Выбор оборудования Anchor Anchor x2

Традиционный способ захват спутникового эфира — использование т.н. головных станций.

Головная станция — это специализированный спутниковый приёмник, умеющий захватывать больше одного канала.

Более дорогие головные станции, такие как WISI Compact Headend, предлагают более плотную компоновку по сравнению с недорогими станциями:

Вместо 1-2 транспондеров в 1U корпусе можно захватывать вплоть до 24. Правда дескремблировать их все не получится, потому что в этом случае количество транспондеров сократится до 12 (нужно место под CI модули), а профессиональная головная станция не может дескремблировать больше 8-10 каналов с одного транспондера, потому что это по большому счёту дорогущий, но слабый компьютер.

Альтернативный вариант — использование PC для захвата со спутника.

Дескремблинг

В обычный PC помещается до 7 подобных плат (главное подобрать материнскую плату). Разумнее всего брать либо с 4 выходами, либо с 2 но с CI модулем.

При покупке подобных плат очень важно свериться с поддержкой их под линуксом на сайте проекта LinuxTV, кому в конце концов может понадобиться плата захвата, которая поддерживается только под виндовс?!

Разница между головными станциями и PC ещё в обслуживании. Головные станции проектируются и создаются исходя из предположения, что за головными станциями будет следить минимум 1-2 инженера на целый рабочий день, которые будут скакать и тратить кучу времени на перенастройки и т.п. Поэтому любые операции перенастройки на головных станциях занимают кучу времени. Так, например, та же Teleste не имеет официально поддерживаемого способа автоматизировать настройку и предлагается настраивать до 500 каналов исключительно вручную.

Работа с Astra под PC радикально отличается в сторону большей гибкости и удобства для администратора. Все настройки делаются через легко генерируемые конфигурационные файлы и линукс предоставляет гораздо больше возможности для отладки проблем, чем закрытые головные станции.

Получение каналов Anchor Anchor x2

Как было выше сказано, транспондер — это MPEG-TS поток. Транспортный контейнер MPEG-TS позволяет в один поток байт упаковывать много одновременно идущих потоков, предоставляя стандартизованный способ для выбора нужного под-потока.

Один телеканал называется программой (program). MPEG-TS в котором идет только одна программа называется SPTS — single program transport stream. Со спутника идет MPEG-TS в котором много программ, это называется MPTS —  multiple program transport stream.

MPTS удобен для передачи в носителях типа спутника или кабеля, когда полоса фиксированная и для выравнивания трафика поток даже приходится добивать ненужными байтами. SPTS удобен при передаче по IP, когда весь огромный транспондер клиенту не нужен, а нужен только один канал.

Процесс смешивания нескольких SPTS в MPTS называется мультиплексированием и как правило производится перед подачей потока на спутник или кабель. Процесс расщепления MPTS на несколько SPTS называется демультиплексированием и происходит при приёме со спутника.

По IP MPTS передают очень редко, например для транзита со спутника в кабель.

Сам MPEG-TS представляет из себя последовательность пакетов по 188 байт. Первый байт всегда 0x47 и используется для статистически достоверной синхронизации в потоке.

В следующих трех байтах закодирован 13-битный номер потока внутри MPEG-TS. Этот номер называется Pid и поэтому в профессиональном жаргоне зачастую под-поток так же называют пидом по его номеру.

Есть несколько стандартных номеров Pid, которые зарезервированы под служебные нужды. Условно говоря, это все номера до 32.

В потоке с Pid 0 идет информация о существующих программах в этом MPEG-TS потоке. Эта информация упакована в PAT — program adaptation table. PAT — это один из вариантов PSI информации. PSI или PSI таблицы — это метаинформация, идущая в MPEG-TS потоке и необходимая либо для получения доступа к аудию/видео, либо для получения дополнительной информации, как например, расписание передач или информация о каналах на других транспондерах.

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

В PAT записано, какие номера программ (pnr, program number, service id) идут на каких пидах. На этих пидах будут идти не аудио/видео потоки, а PMT — program mapping table. В PMT уже будет написано на каком пиде идет видео поток и на каких пидах идут разные языки аудио.

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

Итоги Anchor Anchor x2

Процесс захвата видео со спутника выглядит следующим образом:

  • администратор настраивает захват на головной станции или программе с нужного входа, на нужной частоте и с нужной поляризацией;
  • поток дескреблируется либо через CA модуль, вставленный в CI слот, либо программно с использованием Phoenix card reader;
  • поток демультиплексируется из MPTS в несколько разных SPTS, согласно настройкам (скорее всего по pnr);
  • несколько отдельных SPTS вещаются в сеть по мультикасту.

В классическом IPTV на этом всё и заканчивается, клиенты получают свой мультикаст через каскад роутеров, общающихся по PIM протоколу, но в нашем случае всё только начинается, потому что дальше результирующее видео надо транскодировать