Flussonic Media Server documentation

Data source types

Important! Flussonic Media Server does not support the http data source type, and specifying URL as http://host/path will result in error. A more detailed URL is required, specifying HTTP MPEG-TS or HLS.

Important! You cannot specify a file on the server as the source.

Flussonic Media Server is able to deliver video from files in MP4 and FLV containers with H.264, HEVC, and VP6 video codecs, and with AAC, MP3, AC3, PCMA, and PCMU audio codecs. Learn more in the article «VOD file broadcasting».

RTSP

Specifying an RTSP camera's IP address is not enough to get the video from it. The path is also required. The path is not always provided in the manual, so maybe you will need to contact the camera's seller or manufacturer.

  • rtsp://hostname/path
  • rtsp://user:password@ip/path — a URL with authorization
  • rtsp2://hostname/path — enables audio transcoding in AAC More
  • rtsp://192.168.0.100/h264 — an example of a real link

MPEG-TS over HTTP

  • tshttp://hostname:port/stream
  • tshttps://hostname:port/stream — capture over HTTPS
  • tshttp://192.168.100.1/worldnews.ts — an example of a real link

An HTTP MPEG-TS data source is, for example, VLC or another Flussonic Media Server.

MPEG-TS over UDP

  • udp://239.255.1.1:5500 — a multicast URL
  • udp://239.255.1.1:5500/192.168.10.1 — the capture of multicast through the specified interface
  • udp://192.168.0.1:12345 — a unicast URL

MPEG-TS over TCP

A TCP MPEG-TS data source.

  • tstcp://192.168.0.1:54321

HLS

  • hls://hostname/path/to/manifest.m3u8
  • hls://10.0.0.1/news.m3u8 — an example of this URL.
  • hls://example.com/news/index.m3u8 — an example of this URL.
  • hlss://hostname/path/to/manifest.m3u8 — capture over HTTPS
  • hls2://example.com/news/index.m3u8 — the capture of a multi-bitrate HLS source.

HLS source may be a plain HTTP server that sends files from disk. In this case if packager is dead new files will not appear. Flussonic Media Server will wait for new segments to appear till timeout, then restart this source and fetch again existing segments. It is possible to look at playlist modification time, but it is not very reliable. Flussonic Media Server has enabled by default protection from this situation, this feature is called "stalled check" and it downloads only new segments after first fetch, so no segments from first fetch will not be used.

Sometimes you may be sure that your source is not a plain HTTP server, but a streaming server that will not serve outdated segments and you want to enable HLS source in ondemand configuration.

With this protection startup will be extremely slow: Flussonic Media Server will wait for at least 2-3 new segments.

You can disable this stale protection with option: skip_stalled_check=true;

Use it on your own risk because you can get into situation when old content will repeat again and again.

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

As with MPEG-TS HTTP user_agent option available:

hls://source:8080/stream/index.m3u8 user_agent="Custom Agent v1.2"

RTMP

rtmp://source/live/stream

RTMP source. Flussonic Media Server requires an RTMP URL to have at least two segments.

The first segment is by default used as the name of the rtmp application.

If the name of the RTMP application on the server is made up of more than one segment, the URL must have two slashes, which would explicitly divide the RTMP application and stream name.

Timeshift

timeshift://stream/3600

Timeshift. Allows to create a stream identical to the stream but with a delay of 3600 seconds (one hour).

SHOUTcast

shout://source:8080

SHOUTcast data source.

MPEG-TS options

For tshttp://, udp://, tstcp:// sources you can use additional options:

Ingest of a certain MPEG-TS program and PIDs:

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

Reject subtitles

Starting from version 18.08, Flussonic Media Server by default accepts subtitles of published streams. This is true for streams with either static or dynamic names. So you do not need to set allow_subtitles=true explicitly.

However, if you do not need subtitles for a stream, set this option to false:

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

Note. For live published streams (streams with dynamic names), subtitles are always enabled. The option allow_subtitles is not supported for live publishings, so you cannot disable subtitles in this case.

Enable NIT table bypass:

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

Enable this option if you want to get EPG data on Flussonic output.

HTTP options

When connecting to a stream over HTTP, you can set the User-Agent HTTP header with the user_agent option:

tshttp://hostname:port/stream user_agent="VLC"

Custom HTTP header, for example 'Referer':

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

Mixer

  • mixer://stream1,stream2

This configuration allows to add the audio track from the second stream to the video track form the first stream. Learn more

Mosaic

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

This configuration allows to display a number of streams on one screen. This is called a mosaic. Learn more