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
.3g2.) The H.264, HEVC video codecs are supported. The AAC, MP3, AC3, PCMA, and PCMU audio codecs are supported.
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.
|MP4 (.mp4, .f4v, .mov, .m4v, .mp4a, .3gp, .3g2)
|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.