有奖:语音产品征文挑战赛火热进行中> HOT
本文主要介绍数据万象 HLS 加密方案,包含视频加密和视频播放的过程。


视频加密能力简介

视频加密是指对视频中的内容进行加密处理,加密后的视频无法分发给无访问权限的用户观看,即使视频被下载到本地,视频本身也是被加密的,无法正常播放和二次分发,从而保障您的视频版权不受到非法侵犯,有效防止视频泄露和盗链问题。视频加密可广泛用于在线教育及财经等领域。


方案架构

整体方案架构包含视频加密与播放加密后的视频两大部分流程说明。


视频加密流程





视频加密
1. 上传视频:业务APP通过控制台、服务端 API 等方式,将视频上传到COS。
2. 触发视频处理:上传视频后,触发视频处理。触发后,视频在转码的过程中进行加密。
3. 获取加密密钥:视频转码并加密,从数据万象密钥管理模块获取加密密钥。
4. 加密后的视频写入存储:视频转码并加密后,输出的视频内容被写入到COS存储中。


播放加密后的视频





解密视频并播放
1. 将加密视频URL添加上签名token:向业务侧APP服务发起请求,在播放地址后拼接签名token。
2. 下载加密后的视频内容:接收业务侧播放器请求,如有CDN存在,CDN回源COS,下载加密后的视频内容。
3. 获取解密密钥:业务侧播放器携带含签名token的url从数据万象密钥管理模块请求解密密钥。
4. 解密并播放:播放器获取密钥后,解密视频并播放。
说明:
业务方需开通腾讯云数据万象服务(CI)、存储服务(COS)。



接入指引

基于上述原理架构,进行如下操作步骤,便可以实现对视频的加密与解密播放。

步骤一:上传视频,转码为 HLS 加密视频

1. 上传视频:在对象存储控制台 存储桶列表,进入要存储视频的存储桶,上传要转码的视频到存储桶。
2. 创建自定义模板:左侧菜单找到任务和工作流>模板配置,选择音视频转码,单击创建转码模板,在弹窗里封装格式选择 HLS,并配置其他转码选项(可保留默认配置),该模板可用于后续创建任务和创建工作流。



在最后一步的高级设置里开启视频加密,点击完成



3. 创建转码任务:到任务和工作流>任务管理点击创建任务任务类型选择音视频转码,选择刚创建的HLS加密模板,选择目标存储桶和文件名后,点击确定。



4. 找到转码后的视频文件:等任务执行完成后,找到创建任务时填的目标路径,可看到生成后的.m3u8 和 .ts 后缀的加密视频文件。






步骤二:搭建用于获取 token 的服务

HLS 加密视频播放流程里,需要开发者自行搭建服务,用于获取 token 和签名,请看具体介绍的文档 搭建 HLS token 服务



步骤三:播放 HLS 加密视频

获取播放器签名 token 后,您可以分别使用 WEB 端播放 HLS 加密视频Android 端播放 HLS 加密视频iOS 端播放 HLS 加密视频小程序端播放 HLS 加密视频的播放器 Demo 进行验证,具体内容请参考 Demo 的源码。



费用说明

视频 HLS 加密将收取 转码费用