Resolution-Based Output Protection (RBOP) for Adobe Access & Primetime DRM
previously, here our suggestion handling situation wanted show sd-quality content devices without output protection, , hd-quality content devices supported output protection (like hdcp):
now, there feature can leveraged automatically, called resolution-based output protection (rbop). depending on output protection needs, there few different solutions can take control flow of content different platforms (android vs pc-windows vs pc-mac). following advice deals adobe access drm (also known primetime drm).
[ care disallowing android devices outputting external display ]
digitaloutputprotection = no_playback
the above policy restriction disallow output external display. primetime drm checking see if external display attached. if external display attached, condition detected , output disallowed, accompanying drm error event. however, there limitation approach, android device world highly fragmented, , apis primetime drm uses detect whether or not external display connected can incorrectly implemented. such, there few edge-case devices may disallow playback on internal android device screen when there isn’t external display connected. if occurs on 1 of tier-1 supported devices, , adobe primetime licensee, adobe may decide patch particular device – please contact adobe account manager make request.
[ want play same stream on android device , pc devices, , expect play hd resolution on hdcp devices ]
use “resolution-based output protection”, per http://help.adobe.com/en_us/primetime/drm/5.3/rbop/index.html
the above feature available when using tvsdk 2.x, or flash player. new mechanism of specifying maximum resolution of abr (adaptive bit-rate) asset on device, dependent on output protection controls present. instance, “on devices support hdcp, androidtv devices or pc-windows, allow bitrates 1080p. on devices don’t support hdcp, disallow bitrates above 720 playing”. primetime drm accomplishes examining drm metadata contained within abr asset before playing it. parse out drm policy metadata see bitrates are/aren’t allowed, , black-list bitrates should not play on device. when playback of asset begins, primetime abr logic use non-blacklisted bitrates.
[ want use resolution-based output protection described above, aren’t using tvsdk 2.x , still using tvsdk/psdk1.x ]
you can still package content using rbop policy restrictions. tvsdk 1.x on android devices not have abr-blacklisting abilities. because of this, if abr asset played on device should not able play high-bitrates, abr logic in tvsdk attempts bitrate switch high-bitrates, drm error event thrown. abr blacklisting of high-bitrates before playback have prevented issue.
to around this, , achieve same behavior observed if using tvsdk 2.4, can implement abr-blacklisting in android application (in sense). suggestion update app call tvsdk api limits maximum abr bitrate allowed played on android device. way, abr bitrate-switching never cross on higher bitrates, in case android device not allowed play high-bitrate content. drawback of approach android devices able play hd content (because support hdcp) disallowed playing hd content, due manual abr-blacklisting approach.
[ above approach (single stream automatically plays @ sd or hd resolutions) seems complex, , don't mind having separate sd/hd streams ]
if not want use resolution-based output protection, or if not using tvsdk 2.x android apps, may want create multiple streams (sd resolution , hd resolution), , send appropriate stream requesting device. instance:
android <= receives sd streams drm policy doesn't have output protection restrictions
windows <= receives hd streams op=required policy if device supports hdcp, otherwise device receives sd. see "canary" forum post @ top of post learn how pre-check device see if supports hdcp
mac <= receives sd stream no op restrictions in policy
cheers,
/eric.
More discussions in Adobe Access DRM / Primetime DRM
adobe
Comments
Post a Comment