Nimble Streamer supports integration with Axinom DRM using SPEKE protocol.

Nimble Streamer

Nimble Streamer is a media server from Softvelum. It provides a wide range of features for live and on-demand streaming.

Nimble Streamer supports integration with Axinom DRM using SPEKE protocol.

Prerequisites

To use Axinom DRM:

  • Register on the Axinom Portal

  • Start a free trial

  • Go to My Mosaic / DRM and acquire credentials

  • You will need the following information:

  • Once you are ready to go to production, upgrade your Axinom account to a paid plan.

Configuration

Axinom DRM-related configuration for Nimble Streamer (/etc/nimble/drm.conf) :

drm {
  application = <YOUR APPLICATION>
  type = axinom
  axinom_tenant_id = <Axinom Key Service Tenant ID>
  axinom_management_key = <Axinom Key Service Management Key>
  content_id = <DEFAULT CONTENT ID>
}

A specified Content ID (an UUID) is used in SPEKE request as both the Content ID (content_id) and Key ID (kid).

Multiple Key IDs for a single stream are currently not supported.

content_id is a default value for the whole application. If you want to set a specific key for a specific stream, you can use content_ids option and specify the stream-specific values.

drm {
  application = <YOUR APPLICATION>
  type = axinom
  axinom_tenant_id = <Axinom Key Service Tenant ID>
  axinom_management_key = <Axinom Key Service Management Key>
  content_ids {
    <stream_name> = <STREAM-SPECIFIC CONTENT ID>
    <stream_name> = <STREAM-SPECIFIC CONTENT ID>
  }
}

The DRM configuration stream name and the application’s Push URL stream name should match when utilizing stream-specific content ids.

Example : rtmp://<server>/<application>/<stream_name>

Once DRM configurations are done, restart the Nimble service by running sudo systemctl restart nimbl.

Note
For Axinom DRM, fmp4 HLS is required. In the Nimble Streamer Application settings, ensure that the option HLS (fMP4, CMAF) is selected.
Warning
Nimble also generates UUID if "content_id" is not set, but currently there is no method to get the used Key ID to user except inspecting HLS FMP4 chunk list where it is specified in EXT-X-KEY for Widevine/FairPlay.

Testing Playback

Once you have produced a DRM-protected video or stream, you can test the playback using Axinom’s DRM Video Playback tool. Hints for filling out the form:

  • Video Source URL: the URL of the generated manifest file, e.g., https://<nimble_streamer_server>/<application_name>/<stream_name>/playlist.m3u8

  • Content Key ID and Content Key : Use the content_id defined in the Nimble Streamer DRM configuration as both the Content Key ID and Content Key fields.

  • Communication Key and Communication Key ID: The values you received from Axinom DRM configuration (see the pre-requisites above)

  • License Service: keep defaults (or enter the value you received from Axinom DRM configuration)

  • Player: pick any