Flussonic Media Server documentation

Data source types

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.

RTSP

rtsp://camera/h264 RTSP camera. Note that the camera's IP is not enough to get the video from it. The path is also required. The path is not always indicated in the manual, so it might be needed to contact the camera's seller or manufacturer. Authorization is specified like so: rtsp://user:password@camera/h264

MPEG-TS HTTP

tshttp://source:8080/stream An HTTP MPEG-TS data source like VLC or another Flussonic Media Server.

You can specify a particular PIDs and Programs to take from an MPEG-TS stream:

tshttp://source:8080/stream program=21 pids=45,46,47

It is possible to set User-Agent http header via user_agent option: tshttp://source:8080/stream user_agent="Custom Agent v1.2"

Flussonic Media Server does not bypass subtitles by default. Add allow_subtitles=true option:

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

MPEG-TS TCP

tstcp://source:8080

A TCP MPEG-TS data source.

MPEG-TS UDP

udp://239.0.0.1:5001

The UDP (multicast) address for MPEG-TS broadcasting. Not recommended for use.

To send IGMP requests to a specific interface, the address must be specified in the following form: url udp://239.0.0.1:5000/192.168.0.15; where 192.168.0.15 is the IP of the server with the desired interface.

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.
  • 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). More on this below under the timeshift section.

SHOUTcast

shout://source:8080

SHOUTcast data source.