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
.
For Axinom DRM, fmp4 HLS is required. In the Nimble Streamer Application settings, ensure that the option HLS (fMP4, CMAF) is selected.
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 prerequisites 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