Документация на 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. Группы каналов

Рассылка мультикаста

При работе с IPTV часто приходится иметь дело с видео, передающимся мультикастом. В подавляющем большинстве случаев, в мультикасте передается MPEG-TS контейнер (по 7 188-байтных пакетов в одном UDP пакете). Реже в сеть передается RTP протокол, внутри которого идет тот же MPEG-TS. RTP нужен для того, чтобы можно было отслеживать потери. В RTP пакете есть 16-битный счетчик, использующийся для отслеживания порядкового номера.

Краткие основы мультикаста Anchor Anchor x2

Мультикаст — это UDP пакеты, передающиеся от одного источника группе подписчиков. Адрес, по которому посылаются такие пакеты, обычно находится в диапазоне от 224.0.0.0 до 239.255.255.255, однако 224.0.0.0/8 не рекомендуется из-за большого количества специализированных адресов.

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

Таким образом для того, чтобы Flussonic рассылал мультикаст клиентам, надо чтобы он слал пакеты в нужный интерфейс (локальная сеть оператора), а роутер был настроен на правильную работу с мультикастом.

Настройка Flussonic Anchor Anchor x2

Для настройки мультикаст-рассылки достаточно указать опцию push в стриме:

stream ort {
  url hls://provider.iptv/ort/index.m3u8;
  push udp://239.0.0.1:1234;
}

Создать такой поток можно и в веб-интерфейсе, указав ему адрес источника и добавив URL для рассылки мультикаста udp://239.0.0.1:1234

Можно выбрать дорожки на отправку:

stream ort {
 url hls://provider.iptv/ort/index.m3u8;
 push udp://239.0.0.1:1234?tracks=v2a4;
}

Где:

  • v2 — это вторая видеодорожка;
  • a4 — это четвёртая аудиодорожка.

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

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

route add -net 239.0.0.0/8 dev eth2

Где eth2 — это название интерфейса, к которому подключена локальная сеть. После такого прописывания роутинга мультикаст с Flussonic польется в нужный интерфейс и его можно будет увидеть на роутере, а следовательно и на клиенте.

Обратная ситуация с захватом мультикаста описана в статье: Захват мультикаста