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 can not specify a file on the server as the source. Flussonic Media Server is able to deliver video from file in mp4 and flv containers with h264, hevc, flv video and aac, mp3, ac3, pcma, pcmu audio codecs. Read more in the article «VOD file broadcasting».

RTSP

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.

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

MPEG-TS over HTTP

  • tshttp://hostname:port/stream
  • tshttps://hostname:port/stream — capture HTTPS
  • tshttp://192.168.100.1/worldnews.ts — example

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://hostname:port/stream program=21 pids=45,46,47

It is possible to set User-Agent http header via user_agent option:

tshttp://hostname:port/stream user_agent="Custom Agent v1.2"

Ingest certain mpegts program and pids:

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

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

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

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.

MPEG-TS over UDP

  • udp://239.255.1.1:5500 — multicast url
  • udp://239.255.1.1:5500/192.168.10.1 — capture multicast through the specified interface
  • udp://192.168.0.1:12345 — 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 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). More on this below under the timeshift section.

SHOUTcast

shout://source:8080

SHOUTcast data source.