While Creating a New Channel, scroll down to the DRM section and select the desired encryptions for your channel.
After you click
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.
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"]
}
}