Flussonic Media Server documentation

Quick Start

You will learn how to:

To start and try Flussonic Media Server, you will need a computer with Linux at hand and a license or trial key. A trial key can be requested from us.

We recommend using Debian or Ubuntu, but it is also possible to use CentOS. The main requirement is that the system must be 64-bit. If you don't have Linux or a free server, you may rent for a few days a small server at Digital Ocean.

As a result, you must have access to a Linux console as the user 'root' on your server.

Note. In the Flussonic documentation, we will give example IP addresses (or URLs) of the Flussonic server (such as FLUSSONIC-IP). Please replace example IP addresses with the real address of your server.

Installation Anchor Anchor x2

Here we describe the installation of Flussonic Media Server briefly – only the necessary commands. The installation is described in details in Installation.

To install Flussonic, run this command in the Linux console:

curl -sSf https://flussonic.com/raw/install.sh | sh

Then run Flussonic:

/etc/init.d/flussonic start

Now open the Flussonic administrator's web interface in the browser.

Flussonic web interface (UI)

The Flussonic administrator's web interface is available at http://FLUSSONIC-IP:8080/

The default login and password are: flussonic and letmein!

So open the web interface and on the login page paste the license key that you have received (replace FLUSSONIC-IP with the real IP address of your server).

On this page you can also change the administrator login and password.

Quickstart

Note. The license key is stored in /etc/flussonic/license.txt file, you can put the key there before you run Flussonic.

Check the installation

You can check whether your Flussonic installation is correct by visiting http://FLUSSONIC-IP:8080/ where FLUSSONIC-IP is the address of the hosting server to which you installed the software. The Flussonic administrator's web interface opens if the installation was correct.

You can also run the following command:

/etc/init.d/flussonic status

The response should be like this:

# /etc/init.d/flussonic status
Flussonic 19.01 is running with streams:
...

File playback Anchor Anchor x2

Let's play a file via Flussonic. To do this:
  • Set up file location
  • Upload a file
  • Play it.

Set up file location

Flussonic doesn't dictate rigidly where on the disk you should place your files. Moreover, files can be in different places on your disk. So you need to explicitly specify where to get them.

For this, you need to configure Flussonic and specify how the path in requests for the file playback will match the real file on disk or in an HTTP repository. Based on these settings, Flussonic defines the path to a file – this path is used in requests for playing back the file via various protocols. For example, a URL for HLS will be http://FLUSSONIC-IP:80/vod/bunny.mp4/index.m3u8.

Flussonic shows all URLs for a file playback in the web itnterface.

To specify where to get files, add these lines in the configuration file /etc/flussonic/flussonic.conf:

file vod {
  path /storage;
}

Now Flussonic knows that when clients request vod/movies/bunny.mp4 it will need to take the file /storage/movies/bunny.mp4. In other words, everything after the prefix vod will be cut and added to the specified path on disk (that starts with /storage in our example).

Apply the new settings by running this command:

/etc/init.d/flussonic reload

Alternatively, you can configure access to files through the web interface:

Go to Media > Files (VOD) > click add > enter VOD name (vod) and File directory path (/storage) > create.

Upload a file

Now you can upload the file you have prepared to the directory /storage.

Flussonic already has a test file /opt/flussonic/priv/bunny.mp4.

If you do not have a video, you can take freely available Big Buck Bunny:

mkdir -p /storage
cd /storage
curl -o bunny.mp4 http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_h264.mov

File playback

Now open this link: http://FLUSSONIC-IP:8080/vod/bunny.mp4/embed.html and see the cartoon.

Learn more about video files in VOD

Live streaming Anchor Anchor x2

Slightly simplifying, Flussonic can receive streaming video in two main ways: acting as a client or a server.

In the first case Flussonic itself connects to a video source. In the second – it waits for external systems to connect and then it receives video for publication.

A video source can be an IP camera, other video streaming server, a specialized program working with a DVB card, and generally any program that can stream video over the network. Flussonic supports all major video transfer protocols.

Also, Flussonic itself can generate a video stream (fake) that can be used to test the server's operation.

Open the configuration file /etc/flussonic/flussonic.conf and add there the description of the stream:

stream demo {
  url fake://fake;
}

Where:

  • stream — a keyword, followed by the name of the stream: demo. Next, in braces, is the description of the stream parameters.

  • url — еhe source of video is given by the parameter url.

  • fake://fake — a special address where you can get a sample stream video. It's just a clock on a gray background.

Applying the new configuration

After you changed the configuration file, you need to apply the settings. Run the command:

/etc/init.d/flussonic reload

Now open in the browser http://IP:8080/demo/embed.html and see the result.

More info in Live streaming

Publishing video Anchor Anchor x2

Publication is a situation where another program connects to Flussonic Media Server and initiates the transmission of streaming video to it. To make this possible, you need to configure a location on the Flussonic server where you allow publication.

This can be done in two ways.

First way to publish a stream

The directive live specifies the prefix (mylive), allowing the publication in any stream with this prefix:

live mylive {
}

The prefix of 'mylive' is included in a config file by default after installation. You can make sure that it is included in /etc/flussonic/flussonic.conf. If this directive is missing in your configuration file, then add it and reload configuration to apply the settings:

/etc/init.d/flussonic reload

We will publish video by means of ffmpeg. It is a very useful command line utility for work with video. It is installed as a flussonic-ffmpeg package and located in the /opt/flussonic/bin directory.

Example

Let's transmit video by using the RTMP protocol. The file bunny.mp4 (see earlier on this page in Live streaming) will be the source of video:

/opt/flussonic/bin/ffmpeg -re -i bunny.mp4 -c copy -f flv rtmp://IP:1935/mylive/bunny

Here the -c copy parameter forces ffmpeg to copy the video and audio tracs without transcoding, and the -f flv parameter sets the necessary type of the container for use with the RTMP protocol. The -re parameter says that it is necessary to read from the file with a speed equal to its bitrate.

To see the result, open this address in the browser:

http://FLUSSONIC-IP:8080/mylive/bunny/embed.html page.

Important. If you configure the prefix mylive, in the URL you need to specify the stream name that starts from mylive/, for example, mylive/bunny. It's your choice what name to put after the prefix (more exactly, the stream name is defined by the client app that publishes video), and the exact stream name is not reflected in the Flussonic's config.

Another way to publish a stream

In order to allow the publication into a certain separate stream (and you know the stream's name), use the option url publish://:

stream publishdemo {
  url publish://;
}

The name of the stream (publishdemo) is known in advance by the Flussonic server.

In this case you need to publish to this URL:

rtmp://FLUSSONIC-IP:1935/static/publishdemo

and play back at the URL:

http://FLUSSONIC-IP:8080/publishdemo/embed.html

Refer to Publishing to learn more about publishing of video.