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

Каким должен быть источник

Формат Anchor Anchor x2

Flussonic Media Server поддерживает проигрывание только определенных кодеков и контейнеров. Все остальные проигрываться либо не будут вообще, либо их проигрывание будет сопряжено с проблемами. Например, с ошибками в DVR.

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

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

Список поддерживаемых форматов отличается для потоков (live) и файлов (vod).

Формат потоков Anchor Anchor x2

Контейнер Кодеки
HLS h264, h265(hevc), aac, mp3
HDS h264, aac, mp3
RTMP, FLV h264, aac, mp3, pcmu (G.711 u-law)
RTSP h264, h265, aac, pcma (G.711 A-law), pcmu (G.711 u-law)
MPEG-TS (HTTP, UDP) h264, aac, eac3, mp3, mpeg2-audio, mpeg2-video, h265 (hevc)

Формат файлов Anchor Anchor x2

Контейнер Видео Аудио
Flash Video – FLV (.flv) H.264, VP6, H.263 MP3, AAC (все профили), Nellymoser ASAO, Speex
MP4 (.mp4, .f4v, .mov, .m4v, .mp4a, .3gp, .3g2) H.264 MP3, AAC (все профили)
MPEG-TS файлы H.264, MPEG2 Video, HEVC (H.265) AAC (все профили), AC-3 (A/52), MP3, MPEG2 Audio

Публикация из браузера Anchor Anchor x2

Иногда есть необходимость опубликовать видео из браузера на Flussonic Media Server.

Flussonic может принимать видео по протоколу WebRTC из любого современного браузера без Flash плагина.

Подробнее про WebRTC можно прочитать в нашей документации.

Транскодирование для получения правильного формата Anchor Anchor x2

Иногда вы не можете заранее выбрать формат входящего потока. В этом случае нужно применять транскодирование. В Flussonic Media Server есть встроенный транскодер, работающий на основе библиотек ffmpeg и умеющий конвертировать потоки различных форматов в h264/aac.

Например, видео приходит со спутника.

  • Если оно приходит в MPEG-TS+h264/aac, то это самый лучший случай. Видео будет работать без транскодирования и тратить мало ресурсов сервера.
  • Если вместо стандартного h264 используется mpeg2video, то нужно включить транскодирование видео (в опции vb должен быть указан конкретный битрейт, например: vb=1024k). Транскодирование видео — очень ресурсоёмкая операция и даже очень мощные сервера не могут транскодировать более 20 потоков одновременно.
  • Если видео уже в h264, а аудио вместо aac использует mpeg2audio, то можно транскодировать только аудио. Это значительно сэкономит ресурсы сервера. Для этого в опциях транскодера нужно указать vb=copy.

Подробнее о ресурсах, необходимых для работы Flussonic Media Server, можно прочитать в отдельной статье.

Frames Per Second (FPS) Anchor Anchor x2

Источник видео должен выдавать не менее 10 кадров в секунду. Если FPS ниже, то Flussonic Media Server считает такой источник нерабочим. Лучше всего настроить источник на FPS=15 и выше.

Некоторые видеокамеры, настроенные на слишком маленький FPS могут отдавать поток рывками длиной в пару секунд. Складывается первое впечатление, что не хватает скорости интернета и нужно настраивать кэш или что-то такое,. На самом деле, достаточно увеличить FPS в настройках камеры.

Нужно учесть, что повышение качества видео повышает нагрузку на камеру. Дешевые китайские камеры на высоких настройках могут просто перегреться и зависнуть. Или просто не смогут поддерживать хороший стабильный поток. Для таких слабых камер нужно поддерживать баланс между качеством и работоспособностью. Например, стоит сократить количество одновременных подключений к камере до 1 (т.е. чтобы видео с камеры получал только Flussonic Media Server и больше никто).