DRM now works with redundant channels and also protects Low Latency HLS (LLHLS) outputs.
Live DRM is an add-on feature, not active by default.
If you would like access to this feature, please contact your Customer Success Manager.
Granular stream-level limitations (CRT) — Live 2.0 now supports rendition-level DRM configurations by resolution group (SD, HD, UHD). This enables HDCP fallback so you can apply stronger protection to higher resolutions (e.g., HD/UHD) and more permissive rules for SD.
Note:
By default, DRM is applied to outputs as follows:
The Brightcove Native SDK for Android v6.11.0 or later
Notes
The Brightcove Player utilizes different DRM playback technologies with different browsers.
The following table details the relationship between the browser (latest version), format, and playback technology used in Brightcove Player:
Browser | Format | Playback Technology | Rendition Type Used to Deliver DRM Content |
---|---|---|---|
Chrome Desktop | HLS with Widevine | EME | HLS |
Chrome Mobile |
HLS with Widevine (iOS) HLS with Widevine (Android) |
Native EME |
HLS |
Internet Explorer | No versions of IE are supported by Brightcove | ||
Edge1 | HLS with Widevine | EME | HLS |
Safari | HLS with FairPlay | Native HLS | HLS |
Firefox | HLS with Widevine | EME | HLS |
For further assistance, please contact Brightcove Support or your Customer Success Manager.
The Brightcove Player utilizes different DRM playback technologies with different browsers.
The table shows the relationship between the browser (latest version), format, playback technology, and the rendition type used to deliver DRM content in Brightcove Player.
Browser | Format | Playback Technology | Rendition Type Used to Deliver DRM Content |
---|---|---|---|
Chrome Desktop | HLS with Widevine | EME | HLS |
Chrome Mobile |
HLS with Widevine (iOS) HLS with Widevine (Android) |
Native EME |
HLS |
Internet Explorer | No versions of IE are supported by Brightcove | ||
Edge | HLS with Widevine | EME | HLS |
Safari | HLS with FairPlay | Native HLS | HLS |
Firefox | HLS with Widevine | EME | HLS |
For further assistance, please contact Brightcove Support or your Customer Success Manager.
To enable DRM for a Brightcove Live channel, add an encryption
object to the
job definition you send to the Live API.
You may list individual modes (e.g. ["widevine","fairplay","playready"]
)
or simply use ["all"]
to enable every supported scheme.
To create a live job with DRM encryption enabled, send a
POST
request to:
https://api.live.brightcove.com/v2/accounts/{account_id}/jobs
Example request body (adjust as needed):
{
"type": "event",
"name": "DRM",
"region": "us-east-1",
"input": {
"protocol": "srt",
"fixed_ingest_ip": false
},
"outputs": {
"video": [
{
"label": "hls270p",
"height": 270,
"width": 480,
"bitrate": 450000,
"codec": "h264",
"codec_options": { "level": "3", "profile": "main" },
"framerate": "30/1",
"num_b_frames": 3,
"num_reference_frames": 4,
"keyframe_rate": 0.5,
"sample_aspect_ratio": "1:1",
"decoder_buffer_size": 675000,
"max_bitrate": 540000
},
{
"label": "hls360p",
"height": 360,
"width": 640,
"bitrate": 780000,
"codec": "h264",
"codec_options": { "level": "3", "profile": "main" },
"framerate": "30/1",
"num_b_frames": 3,
"num_reference_frames": 4,
"keyframe_rate": 0.5,
"sample_aspect_ratio": "1:1",
"decoder_buffer_size": 1170000,
"max_bitrate": 936000
},
{
"label": "hls540p",
"height": 540,
"width": 960,
"bitrate": 1500000,
"codec": "h264",
"codec_options": { "level": "3.2", "profile": "main" },
"framerate": "30/1",
"num_b_frames": 3,
"num_reference_frames": 4,
"keyframe_rate": 0.5,
"sample_aspect_ratio": "1:1",
"decoder_buffer_size": 2250000,
"max_bitrate": 1800000
},
{
"label": "hls720p",
"height": 720,
"width": 1280,
"bitrate": 2400000,
"codec": "h264",
"codec_options": { "level": "4", "profile": "high" },
"framerate": "30/1",
"num_b_frames": 3,
"num_reference_frames": 4,
"keyframe_rate": 0.5,
"sample_aspect_ratio": "1:1",
"decoder_buffer_size": 3600000,
"max_bitrate": 2880000
},
{
"label": "hls1080p",
"height": 1080,
"width": 1920,
"bitrate": 4500000,
"codec": "h264",
"codec_options": { "level": "4.2", "profile": "high" },
"framerate": "30/1",
"num_b_frames": 3,
"num_reference_frames": 4,
"keyframe_rate": 0.5,
"sample_aspect_ratio": "1:1",
"decoder_buffer_size": 6750000,
"max_bitrate": 5400000
}
],
"audio": [
{
"label": "aac1",
"input_selector_name": "default",
"language_code": "eng",
"codec": "aac",
"bitrate": 128000,
"sample_rate": 48000
}
],
"rtmp": [
{
"label": "primary_rtmp",
"url": "rtmp://primary.example.com/live/stream_key_1",
"video_label": "hls1080p",
"audio_label": "aac1"
},
{
"label": "backup_rtmp",
"url": "rtmps://backup.example.com/live/stream_key_2",
"video_label": "hls720p",
"audio_label": "aac1"
}
]
},
"manifest": {
"name": "playlist",
"segment_duration_seconds": 6,
"playlist_window_seconds": 30,
"hls": {}
},
"maintenance_preferences": {
"day": "WEDNESDAY",
"start_time": "02:00"
},
"playback_rights_id": "primary",
"encryption": {
"modes": ["widevine", "fairplay", "playready"]
}
}
With Content Restriction Templates (CRT), you can enforce different DRM/HDCP requirements per rendition tier:
Default DRM CRT settings:
Rendition Group | DRM/HDCP Setting |
---|---|
SD / Audio-only | HDCP_NONE |
HD | HDCP_NONE |
UHD | HDCP_NONE |
HDCP_V1
: Provides content protection suitable for HD streams, such as 720p and 1080pHDCP_V2
: Applies stronger protection standards, commonly required for UHD and premium video contentReach out to Brightcove Support for an exhaustive overview of the available features provided by Brightcove Live 2.0.