火山引擎视频点播的私有加密方案采用火山引擎自研加密算法,安全级别高,能够便捷、高效、安全地保护您的音视频版权。
VePlayer 支持播放 HLS、MP4 和 DASH 格式的私有加密视频。具体兼容性说明如下表所示。
系统/浏览器 | 说明 |
|---|---|
PC Chrome | 支持 34 以上版本的 HLS、MP4、DASH 的格式/协议。 |
PC Edge | 支持 Windows 10 及以上系统的 HLS、MP4、DASH 的格式/协议。 |
移动端 iOS | 部分支持 iOS 10 及以上系统,仅支持 HLS 协议。 注意
|
移动端 Android | 部分支持 Android 5 及以上系统,支持 HLS、MP4、DASH 的格式/协议。 注意 不支持播放器被劫持环境,如 UC 浏览器、QQ 浏览器以及部分手机厂家自带的浏览器(例如,VIVO)。 |
VePlayer 仅支持通过 Vid 模式播放私有加密视频。您需要在实例化播放器时传入 unionId、 getVideoByToken.playAuthToken 和 getVideoByToken.getDrmAuthToken 参数。具体参数说明,请见 IPlayerConfig。示例代码如下:
const playerSdk = new VePlayer({ id: 'mse', width: 640, height: 360, // 唯一 ID。您自行设置,需要保证每一个用户的 unionId 是唯一的,没有其他格式限制。SDK 会使用这个 unionId 生成用于二次加密密钥的 unionInfo,有效时长为 30 秒 unionId: 'veplayer_demo', getVideoByToken: { // 从应用服务端获取的临时播放 Token playAuthToken: '加密视频的 playAuthToken', // 从应用服务端获取私有加密 Token 回调 // SDK 内部自行通过 playAuthToken 从视频点播服务获取到 playAuthId getDrmAuthToken: (playAuthId, vid, unionInfo) => { // SDK 内部携带 playAuthId、vid、unionInfo 向应用服务端请求获取私有加密 Token const request = window.fetch(`http://video-service.demo.com/api/GetDrmKeyToken/?kid=${encodeURIComponent(playAuthIds)}&vid=${vid}&uid=${unionInfo}`); return request.then(res => res.json()).then(data => data.result); } }, });
注意
播放私有加密视频时,如需切换视频,您需要重新创建播放器。