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:
-
Key Service Tenant ID (a UUID)
-
Key Service Management Key (a UUID)
-
SPEKE endpoint URL (https://key-server-management.axprod.net/api/SpekeV2)
-
-
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 theContent Key ID
andContent 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
See also
-
Nimble Stream DRM-related documentation - https://softvelum.com/nimble/drm/#axinom
-
Softvelum blog most from March 2024 - https://blog.wmspanel.com/2024/03/axinom-drm.html
-
Create entitlement message - https://portal.axinom.com/mosaic/videos/tool-entitlement-message/portal-tool-entitlement-message