Flussonic Media Server Documentation

DASH Playback

Flussonic Media Server supports playing video via the DASH protocol.

The supported codecs are: H264, H265, AAC, MP3, and AC-3.

Flussonic Media Server supports access via MPEG-DASH to live streams, VOD files, and DVR (catchup and timeshift).

If an incoming stream has DVB subtitles, then Flussonic can pass them to an output MPEG-DASH stream if you configure Flussonic for that. Subtitles are saved in DVR archive if a stream is recorded to the archive.

DASH uses a manifest file for transmitting information about a requested stream. To keep it simple, we call it 'playlist' here.

On this page:

Simple video playback via DASH

When you have a live stream or file (one video track, one audio track) for playing, the URL for playback via DASH is simple:

http://FLUSSONIC-IP/STREAMNAME/index.mpd

where flussonic-ip is a placeholder for your Flussonic Media Server host + port address.

Playing back individual tracks

If a stream has several audio and video tracks, you can specify which tracks should be delivered. For this, specify track numbers by adding ?filter=tracks: to the stream's URL.

Examples:

  • http://flussonic-ip/STREAMNAME/index.mpd?filter=tracks:v2a1 — select the first audio and second video tracks.
  • http://flussonic-ip/STREAMNAME/index.mpd?filter=tracks:v1 — select video only.
  • http://flussonic-ip/STREAMNAME/archive-1362504585-3600.mpd?filter=tracks:v2a1 — DVR archive playback starting from UTC 1362504585 and with the duration of 3600 seconds.

DVR catchup playback via DASH

When your stream is already recorded on a server with our DVR, you can play video via DASH if you know the beginning and ending time of telecast, for example, from EPG.

URLs for playing video from archives will be like this:

http://FLUSSONIC-IP/STREAMNAME/archive-1362504585-3600.mpd

Such a URL will give a list of segments starting from UTC 1362504585 (2013, March, 5th, 17:29:45 GMT) and for one hour forward (3600 seconds).

If you have more than one language or more than one bitrate, you will get an adaptive stream with the possibility to select the audio track.

Rewinding DASH videos

Flussonic Media Server has a special playlist "rewind-N.mpd" with a wide sliding window that allows you to rewind DASH streams and pause them for many hours.

http://FLUSSONIC-IP/STREAMNAME/rewind-7200.mpd

Here 7200 is the duration of the DASH manifest in seconds, so your clients will be able to pause the stream for up to 2 hours or rewind to the start of a TV show without using catchup URLs.

Also, there is a playlist in which you can receive a live stream and rewind up to a specified time: "archive-N-now.mpd", where N - is a Unix timestamp of the moment to which users can rewind the stream.

http://FLUSSONIC-IP:8080/STREAMNAME/archive-1362504585-now.mpd

DVR timeshift playback

Here we descibe one more way to play an archive via DASH with the option to rewind up to the specified time. If you haven't configured a timeshifted stream, you can still play timeshifted video via DASH by using a propely constructed URL.

Here goes the example of an URL for absolute timeshift:

http://FLUSSONIC-IP:8080/STREAMNAME/timeshift_abs-1584435600.mpd

where 1584435600 is 03/17/2020 @ 9:00am (UTC)

The player will play live at the start and allow rewinding up to 1584435600.

DASH manifests for playing DVR on TVs with WebOS

Flussonic can create DASH manifest of two types: with multiple periods and with a single period.

Initially, Flussonic designed its DASH manifest for DVR playback with the view to usage in CDN. The manifest with multiple periods was suitable for this purpose.

However, such a manifest is incompatible with a wide range of devices and TV sets used by consumers in many countries, such as US. These include LG TVs on WebOS and others.

For devices that cannot play DASH with multi-period timeline, we designed a single-period manifest enabling you to play DASH on that devices.

Add period=mono to the URL as follows:

http://FLUSSONIC-IP:8080/STREAMNAME/archive-TIME-DURATION.mpd?period=mono

or

http://FLUSSONIC-IP:8080/STREAMNAME/archive-TIME-now.mpd?period=mono

Note. The single-period manifest for live with the option to view the recorded archive (archive-TIME-now.mpd?period=mono) is sensitive to the quality of the input stream source — it is necessary that there are no gaps in the live stream.

DASH manifests for playing back archives of live streams

Note. This information is useful if you need a static manifest for playing DVR over DASH of a currently live stream.

http://flussonic:8080/channel/archive-1350274200-4200.mpd

  • 1350274200 — the start time of a requested chunk in DVR archive.
  • 4200 — how many seconds to play back.

Live stream playback from DVR via DASH

Imagine you have streams that are broadcasted live and recorded to DVR. For playing them back from the archive, the requested fragment might end in the future where no broadcast exists yet.

Flussonic allows you to choose the type of manifest (playlist) to send to clients when playing back DVR of such live streams over DASH. A DASH manifest can be static or dynamic (updatable).

By default, Flussonic updates the manifest along with live broadcast progress, which means the manifest is dynamic. When the real time reaches the specified moment when the archive fragment must end, the manifest automatically becomes static because all info about the stream is received and there is no need to update the manifest any longer. In some cases it might be better to use a static manifest.

To specify the type of a manifest, use the dynamic parameter:

  • dynamic=false. Flussonic Media Server will generate a static manifest. In a player, an archive will be played the same way as a file. The manifest will contain information about the requested time range and will not be updated during playback.

    http://flussonic:8080/channel/archive-1350274200-4200.mpd?dynamic=false

  • dynamic=auto. This is the default behavior, so this parameter can be omitted. First, Flussonic creates a dynamic manifest (and updates it while a live broadcast is going in parallel with DVR playback). Then Flussonic changes the manifest to static – it happens when the live broadcast reaches the end time of the requested DVR fragment.

    http://flussonic:8080/channel/archive-1350274200-4200.mpd?dynamic=auto

Turning on DVB compliance of a DASH manifest

If you use a validator for DASH and you turn on checking for DVB compliance in the validator, you'll need to make sure that your DASH manifests are compliant with the DVB profile.

In order to get a DVB-compliant manifest, add the option dvb=1 to the stream's URL:

http://FLUSSONIC-IP/STREAMNAME/index.mpd?dvb=1

Playback with subtitles

Flussonic supports passing both TTML and WebVTT subtitles into DASH streams. This allows showing subtitles on a wider range of devices and set-top boxes.

Choosing subtitles format for DASH playback

As two formats of subtitles are included in a DASH manifest, you can choose one of them when playing an output stream:

https://FLUSSONIC-IP/STREAMNAME/index.mpd?text=wvtt

or

https://FLUSSONIC-IP/STREAMNAME/index.mpd?text=ttml (TTML is the default format)

The option text can be used also with URLs like http://flussonic-ip/STREAMNAME/rewind-7200.mpd