Flussonic Media Server Documentation


BuyDRM's KeyOS Platform


BuyDRM's KeyOS platform is a multi-DRM provider that allows you to protect video content with several DRM technologies.

With BuyDRM, you can encrypt your content for HLS or DASH delivery.

Flussonic is acting as an online packager. It means that you keep your original content untouched on disk and can even serve it to some users without protection, if it is required, but for the outer world Flussonic will encrypt the content on demand.

Flussonic supports encrypting live streams and VOD files.

First, you'll need to get User Key from BuyDRM. It is a unique identifier that will be used in the userkey parameter of the drm directive.

Configure DRM for a stream or VOD location as follows:

stream ort {
  url udp://;
  protocols dash hls;
  meta drm_id RANDOM_UUID_VALUE;
  drm keyos userkey=YOUR_USER_KEY;

file drm {
  path /storage/vod;
  protocols dash hls;
  drm keyos userkey=YOUR_USER_KEY;

The userkey parameter defines the User Key provided by KeyOS, so just copy-paste it from the KeyOS web interface.

Next thing is KeyID. It is a random UUID that you will need to generate for each stream or file that you want to protect. To generate KeyID, you can use the UUID generator.

If you use the same KeyID for multiple videos, a single license would be enough to decode the whole group.

Put this generated KeyID into the meta directive in the live stream's config entry, meta drm_id <KeyID>.

When a VOD file at /path/to/vod/content.mp4 is accessed, Flussonic will read the KeyID from the /path/to/vod/content.mp4.keyos_id file.

So, you will need to create a /path/to/vod/content.mp4.keyos_id text file containing the UUID. If your file is called /storage/Gattaka.mp4 for example, then you will have to create a file called /storage/Gattaka.mp4.keyos_id.

Here is an example of creating a KeyID from the command line:

$ uuid > /storage/Gattaka.mp4.keyos_id