Flussonic Media Server documentation

VOD file broadcasting

Containers and codecs Anchor Anchor x2

Flussonic Media Server can deliver video from files in MP4 containers, encoded with H264, HEVC, VP6 video codecs, and AAC, MP3, AC3, PCMA, PCMU audio codecs.

Container Video Audio
MP4 (.mp4, .f4v, .mov, .m4v, .mp4a, .3gp, .3g2) H.264, H.265 MP3, AAC (all profiles)

Creating a VOD location Anchor Anchor x2

For example, in order to broadcast content of files from the subdirectory /movies, choose an arbitrary, unique prefix and add the following line to the configuration file /etc/flussonic/flussonic.conf:

file vod {
  path /movies;
}

Here, vod is the prefix of the location of files (called a VOD location).

To configure file broadcasting via the UI, create a VOD location in the media list:

From now on, files will be served with the prefix vod via the protocols HLS, HDS, RTMP, RTSP.

For one file prefix, you can specify multiple sources, including cloud storages. See Setting up multiple paths for one prefix

Managing files via the web interface Anchor Anchor x2

Flussonic Media Server has a full-fledged built-in file manager, which enables the user admin to load and view files on the local disk as well as those stored in the cloud.

After adding the file prefix in the config or in the web interface, go to the VOD tab:

Now you can create subdirectories:

Select a directory and upload one or more files to it:

Click the file to view it.

Placing the mouse cursor over the file name displays the option to delete the file.

Embedding the player to a webpage Anchor Anchor x2

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.

It is available via the link:

http://HOSTNAME/vod/bunny.mp4/embed.html

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 an article «Video insertion on the website (embed.html)».

Playing a file via different protocols Anchor Anchor x2

To play the file on the disk at the path /movies/elementary/s01e02.mp4, specify for players the following sources:

HDS (StrobeMediaPlayback and other OSMF-based players) http://HOSTNAME:8080/vod/elementary/s01e02.mp4/manifest.f4m

HLS (iOS, Android, STB) http://HOSTNAME:8080/vod/elementary/s01e02.mp4/index.m3u8

RTMP (Jwplayer, Flowplayer, Uppod) application: rtmp://HOSTNAME/vod, path: elementary/s01e02.mp4

Playing the file from the UI Anchor Anchor x2

Go to the VOD file browser page and select a file.

Then select a protocol and click click to play.

Using multiple catalogs Anchor Anchor x2

Sometimes, when dealing with high volume of streaming traffic, the admin's best strategy is to use the available hard drives in the JBOD mode as opposed to RAID.
In this case, each hard drive is handles separately in the system and mounts to a separate catalog.

It is possible to specify to Flussonic Media Server a common file zone for multiple catalogs. In this way, the file can be moved among different devices without changing the URL:

file vod {
  path /mount/disk1;
  path /mount/disk2
}

VOD settings Anchor Anchor x2

These settings are for use in the file directive, which specifies file broadcast settings. We call them options.

file

file vod {
  path /storage;
}
Complete version of the location for file playback.

cache

cache /ssd misses=5 2d 40G; All requests for files will be cached in the /ssd folder for no longer than 2 days, with the size limit of 40GB. The caching feature will turn on when one file gets more than 5 uncached requests.

domain

domain host.com; Specifies the domains where the video can be played. This does not work for those clients that do not pass the value of Referer.

domains

domains host1.com *.host2.com; Specifies the domains where the video can be played. This does not work for those clients that do not pass the value of Referer.

path

path /storage;

path s3://key:secret@s3.amazonaws.com/bucket/;
Specifies file search path. You can specify multiple search paths.

read_queue

read_queue 100; The number of simultaneous requests to disk for a given prefix.

download

download; Enables downloading the file and Range requests for it.

max_readers

max_readers 10; Specifies the max number of simultaneous disk requests to the entire prefix.

thumbnails

thumbnails offset=10; Turns on thumbnail generation with optional offset time in seconds.

auto_mbr (new in v19.02)

auto_mbr; Turns on automatic creation of a multi-bitrate HLS playlist from several files with different bitrates.

Multi-language streaming Anchor Anchor x2

The HLS and HDS protocols allow language switching. Flussonic Media Server automatically enables this option, if you simply add extra language tracks to the mp4 file.

By the same token, add subtitles in the tx3g format as tracks to the MP4 file to turn on the subtitles feature.

Exporting subtitle track as SRT Anchor Anchor x2

Flussonic Media Server can serve subtitle tracks within mp4 as SRT, which with some Flash players is a requirement:

http://192.168.2.3:8080/vod/video.mp4/track-t1.srt

Adaptive streaming (multi-bitrate) Anchor Anchor x2

To make sure that users with different network speed have good viewing experience, use adaptive streaming. Flussonic supports two ways for that:

  • Use several files with the same content but with different bitrates.

    Flussonic automatically creates a single multi-bitrate playlist for playing back these files. How to configure it

  • Use a single file that contains multi-bitrate content.

    You will need to create a multi-bitrate MP4 file and request a manifest file for it to play it back. Flussonic will do the rest. The file encoding section gives a detailed instruction on creating multi-bitrate files.

Preparing files for broadcasting (transcoding) Anchor Anchor x2

See below for the basic example of creating a multi-bitrate file using ffmpeg

ffmpeg -i bunny.mp4 \
-map 0:0 -c:v copy \
-map 0:0 -c:v libx264 -b:v 150k  \
-map 0:0 -c:v libx264 -b:v 100k \
-map 0:1 -c:v libx264 -b:v 50k \
-map 0:1 -c:a copy \
-map 0:1 -c:a copy \
-y out.mp4

This process is discussed in more detail under the section "Preparation for broadcasting".

Restreaming of VOD Anchor Anchor x2

Copying a large VOD library between servers can be expensive. Flussonic is able to re-stream video files from one Flussonic server to another. This will save not only time but also space required to store VOD content. Saved resources can be used to enable caching of VOD content, which will increase the performance of a VOD re-streamer.

Example of VOD location configuration:

The source VOD server

file vod {
  path priv;
  download;
}

The restreamer VOD server

file vod {
  path http://FLUSSONIC-SOURCE/vod;
  cache /mount/cache 500G misses=2;
}