Документация 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.

File

  • file://vod-location/file.mp4 синтакс
  • file://vod/bunny.mp4 пример реального потока, подробнее о VOD путях читайте в статье

Flussonic может создать зацикленный поток из любого .mp4 или .ts файла, укажите адрес потока используя протокол file://.

SHOUTcast

  • shout://example.com/radio

Схема shout:// позволяет захватить SHOUTcast и ICEcast радио-потоки.

H323

  • url h323://192.168.100.150

Схема h323:// позволяет захватить видео по VoIP протоколу H323. Подробнее

Таймшифт

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

Схема timeshift:// позволяет создать поток, идентичный исходному (ipcam, news в примере), который будет вещаться из архива с заданным отставанием (в секундах).

Миксер

  • mixer://stream1,stream2

Схема mixer:// позволяет склеить видеодорожку из первого потока с аудиодорожкой из второго. Подробнее в отдельной статье.

Мозаика

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

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

MPEG-TS опции

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

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

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

Управление субтитрами

Вы можете управлять DVB-субтитрами в выходном потоке с помощью опции subtitles, которая имеет следующие значения:

  • drop — в выходном потоке не будет дорожки субтитров. Пример см. ниже.
  • accept — в выходном потоке будет дорожка с субтитрами в DVB формате, без преобразования в текст.
  • ocr_replace — в выходном потоке будет дорожка, содержащая субтитры, преобразованные в текстовый формат (WebVTT).
  • ocr_add — выходной поток будет иметь две дорожки субтитров: исходную дорожку с субтитрами в DVB и новую дорожку с текстовыми субтитрами.

Принятие субтитров

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

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

Если субтитры в потоке не нужны, опцию subtitles следует установить в drop:

stream ort {
  url tshttp://SOURCE:8080/STREAM subtitles=drop;
}

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

Устаревшая опция allow_subtitles поддерживается только для обратной совместимости.

Конвертация субтитров

О распознавании и преобразовании DVB-субтитров см. Конвертация субтитров из DVB в WebVTT

NIT-таблица

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

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

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

Передача closed captions в формате WebVTT для HLS и DASH

Flussonic позволяет передавать закрытые субтитры CEA-608/708 из MPEG-TS в WebVTT формате для вывода в DASH и HLS. Чтобы использовать эту функцию, добавьте параметр closed_captions=PID к URL-адресу потока.

Для MPEG-TS:

stream tv2 {
  url tshttps://HOST/STREAM/mpegts closed_captions=211;
}

Для HLS:

stream tv2 {
  url hlss://HOST/STREAM/index.m3u8 closed_captions=211;
}

Для обозначения позиции субтитров на видео используйте опцию substyle valign=top|middle|bottom align=left|center|right, например:

stream tv2 {
  url tshttps://HOST/STREAM/mpegts closed_captions=211;
  substyle valign=bottom align=center;
}

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

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

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

Чтобы указать HTTP заголовок, например, Referer:

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