Skip to content

Video Playback

Protocols for video playback

Flussonic Media Server can play video streams via various protocols.

On this page you will find:

  • the URL addresses that you should use in players in order to play video via different protocols

  • links to sections that provide more information about configuring the playback via each certain protocol

  • how to allow and prohibit certain output protocols.

Playback options can be found in the Flussonic's web interface in the Output tab in stream settings.

You can also play a stream in the Preview Player directly in the Flussonic UI.

Additionally, you can manage video playback via the Streaming API.

embed.html

URL: http://FLUSSONIC-IP/STREAMNAME/embed.html

Flussonic Media Server has a special page embed.html which is intended for video insertion to a website or viewing of video via a browser. The page automatically detects a browser version to select a supported protocol. For the majority of devices for today — it's HLS. Read more in the Video insertion on the website (embed.html) article.

The complete OpenAPI specification: Streaming API.

HLS

URL for the player: http://FLUSSONIC-IP/STREAMNAME/index.m3u8

Read more in HLS playback. Use (embed.html)or any third-party player to insert HLS stream on your website. For example, hls.js or clappr.

The complete OpenAPI specification: Streaming API.

DASH

The stream is available at the URL: http://FLUSSONIC-IP/STREAMNAME/index.mpd

Read more in DASH playback.

The complete OpenAPI specification: Streaming API.

MSE-LD

URL for the player: ws://FLUSSONIC-IP/STREAMNAME/mse_ld

HTML5 (MSE-LD)

The stream played through HTML5 is available at the URL: http://FLUSSONIC-IP/STREAMNAME/embed.html?realtime=true

Read more in HTML5 (MSE) low latency playback.

MSS

The stream is available at the URL: http://FLUSSONIC-IP/STREAMNAME.isml/manifest

Read more in MSS Playback.

The complete OpenAPI specification: Streaming API.

HTTP MPEG-TS

The stream is available at the URL: http://FLUSSONIC-IP/STREAMNAME/mpegts

HTTP MPEG-TS relative timeshift

The URL for HTTP MPEG-TS playback with relative timeshift:

http://FLUSSONIC-IP:PORT/STREAM_NAME/timeshift_rel-3600.ts

In this example, the recorded stream will be played with one hour (3600 seconds) delay.

HTTP MPEG-TS absolute timeshift

The URL for HTTP MPEG-TS playback with absolute timeshift:

http://FLUSSONIC-IP:PORT/STREAM_NAME/timeshift_abs-1643257722.ts.

A fragment of an archive can be retrieved not on the full speed, but in the streaming mode, over a time equal to the length of the fragment.

RTMP

The stream is available at the URL: rtmp://FLUSSONIC-IP/static/STREAMNAME

RTMP DVR playback

To play an archive via RTMP, use the following arguments:


var flashvars = {
    streamer:'rtmp://FLUSSONIC-IP/rtmp',
    file: 'ort?from=1398267588&to=1398268588',
    'rtmp.tunneling':false,
    autostart: true
  };
  swfobject.embedSWF('/flu/jwplayer.swf',element,'640','480','10.3','false', flashvars,
   {allowfullscreen:'true',allowscriptaccess:'always'},
   {id:'jwplayer',name:'jwplayer'}
  );

So you need to put a name of the stream, and add a query string with required from parameter and optional to parameter.

Also you can use the parameter speed=2, speed=4 or speed=8 so that Flussonic will play an archive in the accelerated mode (without a sound).

RTSP

The stream is available at the URL: rtsp://FLUSSONIC-IP/STREAMNAME

If a stream has several audio and video tracks, Flussonic uses the first track by default (a1v1).

You can specfy which tracks Flussonic must deliver. For this, specify track numbers in the tracks parameter of the stream's URL.

Examples:

  • rtsp://FLUSSONIC-IP/STREAMNAME?tracks=a2v1

  • rtsp://FLUSSONIC-IP/STREAMNAME?tracks=a2v1&from=1 — DVR.

  • rtsp://FLUSSONIC-IP/vod/file?tracks=a2v1 — VOD.

  • rtsp://FLUSSONIC-IP/STREAMNAME2 = rtsp://FLUSSONIC-IP/STREAMNAME1?tracks=v1a1

Selecting only one track:

  • rtsp://FLUSSONIC-IP/STREAMNAME?tracks=a1 — select an audio track.

  • rtsp://FLUSSONIC-IP/STREAMNAME?tracks=v1 — select a video track.

If you specify more than two tracks or make a syntax error, the default tracks will be used (a1v1).

RTSP DVR playback

Flussonic can play an archive via RTSP. You should use URL like this:

rtsp://FLUSSONIC-IP:PORT/STREAM_NAME?from=1398267588&to=1398268588

So you need to put a name of the stream, and add a query string with required from parameter and optional to parameter.

WebRTC

The stream is available at the URL:

  • ws://FLUSSONIC-IP/STREAM_NAME/webrtc

  • wss://FLUSSONIC-IP/STREAM_NAME/webrtc?transport=tcp — using TCP for delivery of a WebRTC stream.

Read more about our WebRTC player and how to organize playback in WebRTC Playback.

The complete OpenAPI specification: Streaming API.

SHOUTcast

The stream is available at the URL: http://FLUSSONIC-IP/STREAMNAME/shoutcast

Flussonic Media Server can deliver SHOUTcast, ICEcast radio stream.

The complete OpenAPI specification: Streaming API.

SRT

Flussonic supports playing SRT streams.

SRT protocol offers three modes: Caller, Listener, and Rendezvous. Flussonic acts as a Listener during a playback. It waits for a connection and, as soon as it is established, it starts to communicate with the Caller.

SRT port is usually configured per stream, i.e. one SRT stream per port. Nevertheless, Flussonic provides you with the way to set up a single SRT port for multiple streams. For example, if you use SRT for restreaming only, it may come in handy.

Read more about SRT playback in SRT Playback.

Getting data about played stream

You can make API requests to receive the information about the played stream. You can integrate the received data into any external system like site, monitoring, player, or mobile application.

The URL for getting technical information about the output media content:

http://FLUSSONIC-IP/STREAM_NAME/media_info.json

The URL for getting the information about DVR recording status of a stream:

http://FLUSSONIC-IP/STREAM_NAME/recording_status.json

Preview Player in Flussonic UI

You can play a stream directly in Flussonic UI using the Preview Player. This player allows to play a stream via HLS, MSE-LD, or DASH protocol. Additionally, DVR playback is available for streams with DVR enabled. The Preview Player uses the special embed.html page (for details, see Adding Video to Websites) with corresponding parameters.

To open the Preview Player, go to Media > Streams and click the Play button next to the corresponding stream.

Play preview button

In the opened window choose one of the tabs and start playing. The following tabs are available:

  • HLS — for HLS playback. The player will use embed.html page.
  • MSE — for HTML (MSE-LD) low latency playback. The player will use embed.html?realtime=true page.
  • DASH — for DASH playback. The player will use embed.html?proto=dash page.
  • DVR — for DVR archive playback (if DVR is enabled). The player will use embed.html?dvr=true page. You can read more about the settings of DVR player in the Viewing the DVR recordings from the web interface chapter.

Play preview window

In the bottom of the Preview Player window you can see HTML code for inserting the corresponding player into a web page.

To close the Preview Player window, press Esc.

Setting up output protocols for a stream

The URLs described earlier on this page can be found in the Flussonic UI on the Output tab of stream settings. You can copy each URL to the clipboard by clicking the "Copy" button on the right next to the corresponding URL.

By default, playback via all protocols is allowed, but you can prohibit playback via the protocols that you specify.

Starting from version 20.02, you can use a shorter notation for specifying output protocols for a stream. In the coniguration file, you can list all the protocols by using the protocols option. You can also allow or prohibit API requests by using the api parameter in this option.

The previously used notation is still supported.

Example

For example, you want to allow all protocols except MPEG-TS and HLS for the stream channel_01.

output protocols

In the configuration file, the settings look as follows:


stream channel_01 {
  protocols -mpegts -hls;
}

If you want to allow only DASH playback and API requests for the stream channel_02 and disable other protocols:

output protocols

In the configuration file, the settings look as follows:


stream channel_02 {
  protocols dash api;
}