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

Contents

Варианты источников

Источник — это то, откуда Flussonic получает поток видео-данных. Источником может быть IP камера, спутник, HTTP сервер и т.д. Для указания источника нужно знать его адрес и видео-протокол, по которому Flussonic его получает, т.е. нужно знать URL.

Для передачи видео-данных между серверами Flussonic Media Server мы рекомендуем использовать внутренний протокол Flussonic — M4F. Например, он подходит для репликации DVR архива, для рестриминга отдельных потоков в кластере.

Важно. Flussonic Media Server не поддерживает тип источника http, и адрес источника вида http://host/path не будет работать. Требуется более детально указывать, что это — HTTP MPEG-TS, HLS или другой протокол. Ниже на этой странице показаны варианты URL для разных протоколов.

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

M4F

Используется для передачи между серверами Flussonic.

  • m4f://hostname:port/stream — синтаксис
  • m4f://flussonic.example.com/channel_01 — пример

О протоколе M4F

MPEG-TS по HTTP

  • tshttp://hostname:port/stream — синтаксис (захват по HTTP)
  • tshttps://hostname:port/stream — синтаксис (захват по HTTPS)
  • tshttp://192.168.100.1/worldnews.ts — пример настоящего URL

MPEG-TS по UDP

  • udp://239.255.1.1:5500 — мультикаст URL
  • udp://239.255.1.1:5500/192.168.10.1 — захват мультикаста через указанный интерфейс
  • udp://192.168.0.1:12345 — юникаст URL

MPEG-TS по TCP

  • tstcp://192.168.0.1:54321

HLS

  • hls://HOSTNAME/PATH/TO/MANIFEST.m3u8 — синтаксис
  • hls://10.0.0.1/news.m3u8 — пример настоящего URL
  • hls://example.com/news/index.m3u8 — пример настоящего URL.
  • hlss://HOSTNAME/PATH/TO/MANIFEST.m3u8 — захват по HTTPS.
  • hls2://example.com/news/index.m3u8 — захват мультибитрейтного HLS источника.
  • hlss2://example.com/news/index.m3u8 — захват мультибитрейтного HLS источника по HTTPS.

По умолчанию, используя hls://, Flussonic Media Server будет захватывать только одно из доступных качеств.

Для захвата мультибитрейтного источника укажите hls2://.

При запуске потока Flussonic Media Server проверяет, что источник не завис, скачивая несколько раз индекс.

Проверка может быть отключена с помощью опции skip_stalled_check:

stream ort {
  url hls://source:8080/stream/index.m3u8 skip_stalled_check=true;
}

RTSP

Одного IP адреса камеры недостаточно для получения с нее видео. Всегда нужно указать ещё один путь. Он не всегда приводится в документации, поэтому, возможно, придется обращаться к продавцу или производителю камеры.

  • rtsp://hostname/path — синтаксис
  • rtsp://user:password@ip/path — URL с указанием авторизации
  • rtsp2://hostname/path — включает транскодирование звука в AAC. Подробнее
  • rtsp://192.168.0.100/h264 — пример настоящей ссылки

RTMP

  • rtmp://hostname/application/stream
  • rtmp://10.0.0.1/live/news

Протокол требует, что в URL было не меньше двух сегментов. Первый сегмент, по умолчанию, используется для указания имени RTMP приложения (application). Если название RTMP приложения на сервере состоит больше чем из одного сегмента, то в адресе надо указать два слеша для явного разделения на application и stream name.

MPEG-TS опции

Для tshttp://, udp://, tstcp:// источников можно указать дополнительные опции:

Захват конкретной MPEG-TS программы и PID-ы:

stream ort {
  url tshttp://source:8080/stream program=21 pids=45,46,47;
}

Отклонение субтитров

Flussonic Media Server по умолчанию всегда принимает субтитры от публикуемых потоков. Это справедливо как для публикаций в статический поток, так и по динамическому имени. Не нужно явно указывать allow_subtitles=true.

Однако если субтитры потока не нужны, эту опцию следует установить в false:

stream ort {
  url tshttp://source:8080/stream allow_subtitles=false;
}

Замечание. Для live-потоков субтитры всегда включены. Опция allow_subtitles не поддерживается для live публикаций, и выключить субтитры в этом случае не получится.

Включить проброс NIT-таблицы:

stream ort {
  url tshttp://source:8080/stream bypass_eit=true;
}

Включите эту опцию, если хотите получить EPG на выходе Flussonic.

HTTP опции подключения

При подключении к источнику по HTTP протоколам может потребоваться указать опредленный User-Agent:

stream example {
  url tshttp://source:8080/stream user_agent="VLC"
}

Или заголовок, например, Referer:

stream example {
  url tshttp://source:8080/stream header.Referer=https://flussonic.com;
}

SHOUTcast

  • shout://example.com/radio

Захват SHOUTcast, ICEcast радио потоков.

Таймшифт

  • timeshift://ipcam/3600
  • timeshift://news/10600

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

Миксер

  • mixer://stream1,stream2

Позволяет склеить видеодорожку из первого потока с аудиодорожкой из второго. Подробнее в отдельной статье.

Мозаика

  • mosaic://cam1,cam2,cam3,cam4?fps=20&preset=ultrafast&bitrate=1024k&size=340x240&mosaic_size=4

Позволяет собрать несколько потоков на один экран (мозаика). Подробнее в отдельной статье.