Flussonic Media Server documentation

HLS playback

Flussonic supports playing video via HLS protocol. In fact many of available features are non-standard extensions for HLS, but we support them for your convenience.

Supported codecs are: H264, H265, MPEG2 video, AAC, MP3, MPEG2 audio, AC-3.

Flussonic supports access via HLS to live stream, VOD files and DVR (catchup and timeshift).

Just playing HLS Anchor Anchor x2

When you have simple live stream or file (one video, one audio) for playing, url for playback via HLS is very simple:

http://192.168.2.3:8080/STREAMNAME/index.m3u8

    <video src="http://192.168.2.3:8080/ort/index.m3u8" controls></video>

where 192.168.2.3:8080 is an example of your Flussonic host + port address.

Flussonic will also accept playlist.m3u8 in the end of url for backward compatibility with other servers.

When you start working with multilanguage or multibitrate content, things become more complicated.

Multilanguage HLS Anchor Anchor x2

If you want to play your multilanguage stream on iPhone you need to use the same http://192.168.2.3:8080/STREAMNAME/index.m3u8

But when you want to watch a multi-language stream using VLC or a set-top box, the video mode must be turned on.

URL for the player will be: http://192.168.2.3:8080/ort/video.m3u8

    <video src="http://192.168.2.3:8080/ort/video.m3u8" controls></video>

This is due to the Apple HLS requirement of a separate playlist with an audio-only option for each individual language. MPEG-TS uses another algorithm: all audio tracks are packed in the same container with the video, and it is up to the player which one to play. So, to make sure the video is viewable on iPhone, it must satisfy the requirements of Apple. At the same time, VLC and STBs, in violation of the HLS standard, expect the old version of MPEG-TS converted to HLS. This is why this trick with different urls is needed.

Add «Audio only» for Apple Anchor Anchor x2

Apple requires that all your streams must include variant without video, only with audio.

They consider that if user is watching video on a 3G and moves to bad network conditions, better it will be audio only than buffering.

You can enable it in Flussonic:

stream ort {
  url udp://239.0.0.1:1234;
  add_audio_only;
}

Mention that this may make your index.m3u8 url unplayable on VLC or STB, so you will require video.m3u8 option.

Separate bitrates for STB Anchor Anchor x2

When you have a multibitrate multilanguage content and want to play it on STB that doesn't support multibitrate HLS playlists, you can query from Flussonic separate playlists with one video track and all audio tracks as with mono option:
http://192.168.2.3:8080/STREAMNAME/video1.m3u8

This playlist is not a variant playlist, but it is a playlist with urls to segments that contain first video track and all available audio tracks.

If you want to deliver multilanguage multitibtrate to STB that doesn't understand Apple standard for multilanguage, use video.m3u8:

http://192.168.2.3:8080/STREAMNAME/video.m3u8

This is a variant playlist that will give you list of non variant playlists like video1.m3u8, video2.m3u8, etc.

DVR catchup playback Anchor Anchor x2

When your stream is already recorded on server with our DVR you can play video via HLS when you know beginning of telecast and end for example from EPG.

Available URLs will be:

http://192.168.2.3:8080/STREAMNAME/index-1362504585-3600.m3u8

This is a regular playlist that will be variant playlist if you have more than one language or more than one bitrate. It will give a list of segments starting from UTC 1362504585 ( 2013, March, 5th, 17:29:45 GMT) and for one hour forward.

The mono url will give you list of segments that contain all tracks in mpegts:

http://192.168.2.3:8080/STREAMNAME/mono-1362504585-3600.m3u8

More specific videoN playlist will give you a list of segments with N'th video track and all audio tracks:

http://192.168.2.3:8080/STREAMNAME/video1-1362504585-3600.m3u8

and a variant video playlist with list to videoN playlists:

http://192.168.2.3:8080/STREAMNAME/video-1362504585-3600.m3u8

DVR timeshift playback Anchor Anchor x2

If you have recorded stream on disk but haven't configured a timeshift stream then you can play video with a propely constructed HLS url.

Here goes list of available urls for relative timeshift:

timeshift_rel-3600.m3u8
timeshift_rel_mono-3600.m3u8
timeshift_rel_video-3600.m3u8
timeshift_rel_video1-3600.m3u8

and for absolute timeshift:

timeshift_abs-1362504585.m3u8
timeshift_abs_mono-1362504585.m3u8
timeshift_abs_video-1362504585.m3u8
timeshift_abs_video1-1362504585.m3u8