DRM 入门教程

最近更新时间:2019-05-29 11:40:50

本教程将详细地指导您如何使用云点播的 DRM 功能,包括视频上传、视频加密、部署鉴权服务及播放器解密播放的全部流程。

注意:

点播商业级 DRM 尚在推广阶段,需要您 提交工单 申请特殊配置后方可体验。

前提条件

登录 腾讯云控制台,选择左上角【云产品】>【视频服务】>【云点播】,进入云点播控制台。

上传视频

请下载 Wildlife.wmv 到您的本地,用于入门教学的演示视频。

  1. 登录 云点播控制台,单击左侧菜单栏的【媒资管理】,选择【已上传】,单击【上传视频】。

  2. 弹出“上传视频”的对话框后,选择【本地上传】,单击【选择视频】,将“Wildlife.wmv”上传到云点播平台。

    执行上传之后,您将在“正在上传”栏看到视频的上传进度。

    上传完成之后,在“已上传”栏的视频列表中,将看到上传完成的视频,以及视频对应的 ID(即 FileId)。

经过这2个步骤,您已经上传了一个视频到云点播平台,并获取到了上传视频的 ID。

转加密的自适应码流

您可以通过 API 工具 执行 ProcessMedia 命令,对上传的视频发起“转加密的自适应码流”任务,具体步骤如下:

  1. 进入 云点播 ProcessMedia 命令的 API 3.0 Explorer,填写您的“个人密钥”(可单击【查看密钥】,从 API 密钥管理控制台 获取)。

  2. 在“FileId”输入框中,填写您上传的视频的 ID。

  3. 在“AdaptiveDynamicStreamingTaskSet.N”输入框中,“Definition”填写21。

    说明:

    此处填写的21是 预置转自适应码流模板 的模板 ID,表示转出 Widevine 方式加密的 Dash 输出。

  4. 在右边栏中选择【在线调用】,并单击【发送请求】。发送请求后,从返回结果中获取 TaskId 参数的值,并记录下来。

经过这4个步骤,您已经对视频发起了转自适应码流任务,目标是 Widevine 方式加密的 Dash。

查询任务结果

您可以通过 API 工具 执行DescribeTaskDetail命令,查询“转加密的自适应码流”任务的执行状态,具体步骤如下。

  1. 进入 云点播 DescribeTaskDetail 命令的 API 3.0 Explorer,填写您的“个人密钥”。

  2. 在【TaskId】输入框中,填写您发起任务后获取的 TaskId。

  3. 在右边栏中选择【在线调用】,并单击【发送请求】。

    发送请求后,观察返回结果中的任务状态 Status。当任务状态为 PROCESSING 时,表示任务仍然在执行中,您需要隔一段时间后再调用 API 状态;当任务状态为 FINISH 时,表示任务执行完毕。

    任务执行完毕后,您可以在 MediaProcessResultSet 的类型为 AdaptiveDynamicStreaming 的结果中找到带加密的转自适应码流的输出,其中 Url 对应的是播放地址。

经过这3个步骤,您可以查询“转加密的自适应码流”任务的执行结果。

因为转出的自适应码流被以 Widevine 方式加密,所以无法直接使用该 Url 播放,下面的步骤将介绍如何解密播放。

部署鉴权服务

播放 DRM 加密的视频,播放器需要先从鉴权服务获取 Token,这里将介绍如何部署一个派发 Token 的鉴权服务。

  1. 请下载 源码压缩包,并解压到您的工作目录。
  2. 修改 AuthenticationServer.py 文件,填写您的 SECRET_ID 和 SECRET_KEY。
  3. 在工作目录下执行命令:
    python AuthenticationServer.py
  4. 在浏览器中输入 http://localhost:8081/?fileId=5285xxx5672872 ,其中5285xxx5672872是您上传视频的 fileId。输入链接后,您将在应答的结果中获得解密播放视频时需要的 Token。

经过这4个步骤,您在本地部署了一个鉴权服务,为指定视频 ID 派发解密播放需要使用的 Token。

部署 Web 播放器

这里将介绍如何使用 Web 播放器,播放加密后的自适应码流视频。

  1. 修改解压文件中的 Player.html 文件,fileID 填写您的视频 ID,appID 填写您的 AppId。

    说明:

    Player.html 中的 playDefinition 保持为20,是 播放模板 ID,表示仅播放加密后的自适应码流视频。

  2. 在工作目录下执行命令:

    python PlayerServer.py

  3. 在浏览器中输入 http://localhost:8082,您将看到演示视频的播放页面。单击播放器,视频即开始解密播放。

    打开 Chrome 的调试模式,您可以看到播放器在播放前,先从 localhost:8081 获取了要播放视频的 Token。

    接着,播放器从点播 License 派发服务获取了播放 Widevine 加密视频所需要的 License。

经过这3个步骤,您在本地部署了播放演示视频的 Web 播放器,单击播放器即可解密播放视频。