Skip to content

Multi-DRM Onboarding Guide

We provide onboarding guides for DoveRunner Multi-DRM service, so that you can easily find guide documents that suit your various situations and requirements.

graph TD;
  start_onboarding(Start Onboarding) --> content_packaging["Step 1 - Content packaging"]

  content_packaging --> vod_packager{"Choose file-based packager<br/>(for VOD content)"}
  vod_packager --> tnp_service(DoveRunner<br/>T&P Service &nbsp)
  vod_packager --> cli_packager(DoveRunner<br/>CLI Packager)
  vod_packager --> mediaconvert(AWS Elemental<br/>MediaConvert)
  vod_packager --> bitmovin_vod(Bitmovin<br/>Encoder)
  vod_packager --> wowza_vod(Wowza Streaming<br/>Engine)
  vod_packager --> hybrik_encoder(Hybrik<br/>Encoder)

  cli_packager --> live_packager{"Choose live packager<br/>(for live content)"}
  tnp_service --> live_packager
  mediaconvert --> live_packager
  bitmovin_vod --> live_packager
  wowza_vod --> live_packager
  hybrik_encoder --> live_packager
  
  live_packager --> wowza_live(Wowza Streaming<br/>Engine)
  live_packager --> mediapackage(AWS Elemental<br/>MediaPackage)
  live_packager --> bitmovin_live(Bitmovin<br/>Encoder)
  live_packager --> cpix(Other CPIX-based<br/>solutions)
  
  wowza_live --> packaging_done[Apply CDN to result<br/>- End of step 1]
  mediapackage --> packaging_done
  wowza_live --> packaging_done
  bitmovin_live --> packaging_done
  cpix --> packaging_done
  
  click tnp_service "/content-security/multi-drm/packaging/drm-tnp-service/"
  click cli_packager "/content-security/multi-drm/packaging/cli-packager/"
  click mediaconvert "/content-security/multi-drm/packaging/aws-elemental/#mediaconvert"
  click mediapackage "/content-security/multi-drm/packaging/aws-elemental/#mediapackage"
  click wowza_live "/content-security/multi-drm/packaging/wowza-integration/"
  click wowza_vod "/content-security/multi-drm/packaging/wowza-integration/"
  click bitmovin_vod "/content-security/multi-drm/packaging/bitmovin-encoder-guide/"
  click bitmovin_live "/content-security/multi-drm/packaging/bitmovin-encoder-guide/"
  click hybrik_encoder "/content-security/multi-drm/packaging/dolby-hybrik-drm-integration/"
  click cpix "/content-security/multi-drm/packaging/cpix-api/"
graph TD;
  drm_license[Step 2 - Server-side DRM integration] --> apple_support{Need FairPlay DRM<br/>for Apple devices?}
  apple_support -->|Yes| fps_cert(Request and register FairPlay cert)
  apple_support -->|No| license_token(Implement license token)
  fps_cert --> license_token
  license_token --> license_test[Test license token integration<br/>- End of step 2]

  click license_token "/content-security/multi-drm/license/license-token"
  click fps_cert "/content-security/multi-drm/license/fps-cert-tutorial"
graph TD;
  drm_client[Step 3 - Client integration] --> web_client{"Choose HTML5 player<br/>(for browser support)"}
  web_client --> shaka_player(Shaka Player)  
  web_client --> bitmovin_player(Bitmovin Player)
  web_client --> theo_player(THEO Player)
  web_client --> videojs(VideoJS Player)
  web_client --> html5_player(Other<br/>HTML5 Player)

  shaka_player --> mobile_sdk{"Choose mobile SDK<br/>or self-integration<br/>(for mobile app)"}
  bitmovin_player --> mobile_sdk
  theo_player --> mobile_sdk
  videojs --> mobile_sdk
  html5_player --> mobile_sdk
  mobile_sdk --> widevine_android(Widevine<br/>Android SDK)
  mobile_sdk --> fps_ios(FPS<br/>iOS SDK)
  mobile_sdk --> ncg_android(NCG<br/>Android SDK)
  mobile_sdk --> ncg_ios(NCG<br/>iOS SDK)
  mobile_sdk --> multidrm_native(Multi-DRM<br/>native integration)
  mobile_sdk --> crossplatform_integration(Cross-platform<br/>Frameworks)

  widevine_android --> ott_devices{"Choose OTT SDK<br/>(for OTT devices)"}
  fps_ios --> ott_devices
  ncg_android --> ott_devices
  ncg_ios --> ott_devices
  multidrm_native --> ott_devices
  crossplatform_integration --> ott_devices
  ott_devices -->|Android TV| widevine_androidtv(Widevine<br/>AndroidTV SDK)
  ott_devices -->|Apple TV| fps_tvos(FPS<br/>iOS SDK)
  ott_devices -->|XBox| playready_uwp(PlayReady<br/>UWP SDK)
  ott_devices -->|Chromecast| chromecast(ChromeCast<br/>integration)

  widevine_androidtv --> playback_test[Playback test<br/>- End of step 3]
  fps_tvos --> playback_test
  playready_uwp --> playback_test
  chromecast --> playback_test

  playback_test --> finish_onboarding(Finish Onboarding)

  click shaka_player "/content-security/multi-drm/clients/html5-player/#shaka"
  click bitmovin_player "/content-security/multi-drm/clients/html5-player/#bitmovin"
  click theo_player "/content-security/multi-drm/clients/html5-player/#theo"
  click videojs "/content-security/multi-drm/clients/html5-player/#videojs"
  click html5_player "/content-security/multi-drm/clients/html5-player/"
  click widevine_android "/content-security/multi-drm/clients/widevine-android/"
  click fps_ios "/content-security/multi-drm/clients/fairplay-ios/"
  click fps_tvos "/content-security/multi-drm/clients/fairplay-ios/"
  click ncg_android "/content-security/multi-drm/clients/ncg-android/"
  click ncg_ios "/content-security/multi-drm/clients/ncg-ios/"
  click crossplatform_integration "/content-security/multi-drm/clients/crossplatform-client-integration/"
  click multidrm_native "/content-security/multi-drm/clients/multidrm-native-integration/"
  click widevine_androidtv "/content-security/multi-drm/clients/widevine-android/"
  click playready_uwp "/content-security/multi-drm/clients/playready-uwp/"
  click chromecast "/content-security/multi-drm/clients/chromecast-integration/"