Skip to content

VOD files

VOD (Video On Demand) service is an integral part of services based on video delivery. It is a media delivery system, allowing users to access the content at any time regardless of the usual TV broadcasting schedule. VOD has a wide application field, for instance, education.

Flussonic Media Server supports playing video files on client devices and apps. A virtual filepath, called a VOD location, must be set up to enable this feature. One VOD location can contain multiple directories. Multiple VOD locations can be used to arrange video files and apply different sets of settings to files for each VOD location.

Supported containers and codecs

The VOD broadcasting feature only supports playback of video files in MP4 containers (popular file extensions include .mp4, .f4v, .mov, .m4v, .mp4a, .3gp, and .3g2.) The H.264, HEVC video codecs are supported. The AAC, MP3, AC3, PCMA, and PCMU audio codecs are supported.

Warning

We strongly recommend that you convert files from MKV into MP4 because the MP4 format is much better for playing files via HLS or DASH. You can use ffmpeg to convert video files from MKV to MP4.

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

As you can see from the list, Flussonic does not support the MKV format, and there are reasons for this.

In an MP4 file, the header contains all data about tracks and segments in advance. It is enough to read the moov structure of an MP4 file for Flussonic to find out everything about all the frames (except their contents). And since moov takes up less than 1% of all data, Flussonic only needs to read a very small part of a multi-megabyte file. And this data is enough to create an HLS or DASH playlist.

The most important thing here is that moov contains bitrate data, so in the case of MP4, the player will immediately get a valid master playlist with track bitrate data, which will allow playing the file without errors. If there is no bitrate data, the player will not be able to select a track to be played. There may be other errors that are not easily fixed.

In the case of MKV files, the data about file structure might be missing. MKV packers sometimes specify NUMBER_OF_BYTES, but not always, and in this case Flussonic would have to read an entire file when opening it, in order to find out its contents and create a playlist.

Fragmented MP4

Flussonic supports VOD files in fragmented MP4 (fMP4) format. Fragmented MP4 does not have its own file extension and uses the same .mp4 extension as standard MP4 files. The difference between fMP4 and traditional MP4 is that:

  • moov describes tracks with decoder settings, but does not describe frames.
  • Data is divided into small pieces named fragments (same as segments in HLS, DASH and Flussonic).
  • Each fragment is described by a moof (movie fragment) and mdat region which can be decoded without having other fragments (only the moov from the beginning is needed).
  • At the end of the file there is an mfra index to help the player draw the timeline and navigate through it.

Compatibility with fragmented MP4 is important for VOD because many popular programs such as OBS Studio record video in this format. You can simply place the recording made by such a program in the VOD directory and distribute it from Flussonic Media Server. No additional settings is needed.