Skip to content

DRM

Introduction

This integration type is responsible for providing on-demand information to client applications (through Accedo One Core) required to acquire decryption tokens for playback of a specific Content item.

Token acquisition

When a client application attempts to playback a Content item, it will request all the information it needs for playback from Accedo One Core delivery API. As part of that request flow, Accedo One performs entitlement and other security checks as well as identifies if the content item is marked as DRM protected (by having playbackInfo.videoStreams.*.drmInfo.*.type set to any known value).

In case the DRM protection setting is set, Accedo One Core will perform call(s) to the DRM Token provider integration RPC method DRMTokenService.GenerateToken with end-user device information, the content object type and identifier and the requested DRM type.

Fulfilling this request and responding with information defined for the supported DRM types will allow clients to immediately communicate with the DRM License service and acquire a decryption key specific to the requested piece of content.

Development with IDK

To start IDK in DRM mode, simply run idk up drm.

Hint

drm is an alias of video-catalog and therefore you can use idk up video-catalog instead.

$ idk up drm

idk-content-catalog Done!  
one-core-content-catalog Done!  
idk-content-catalog-bootstrap Done!  
Creating default_elasticsearch_1   ... done
Creating default_kibana_1          ... done
Creating default_content-catalog_1 ... done
Creating default_bootstrap_1       ... done
Creating default_mongodb_1         ... done
Creating default_idk_1             ... done

### IDK environment URLs ###

    - IDK admin UI: http://localhost:32769
    - Kibana: http://localhost:32772

APIs

Following APIs must be fulfilled by the integration:

  • DRMTokenService - as defined in drm/token.proto