一、前置条件
在开始本教程之前,请你确保已满足以下前置条件。
二、开通云点播
你需要开通云点播,步骤如下:
1. 注册 腾讯云账号,并完成 实名认证。
2. 购买云点播服务,具体请参见 计费概述。
3. 进入 云点播控制台。
至此,你已经完成了云点播的开通步骤。
三、申请 FairPlay 证书信息
请参考 如何申请 FairPlay 证书信息。
四、提交 FairPlay 证书信息
请参考 如何在点播控制台提交 FairPlay 证书信息。
五、步骤1:开启防盗链
以你账号下的默认分发域名开启 Key 防盗链为例:
注意:说明:
注意:请避免直接对正在使用的现网域名开启防盗链,否则可能造成现网的视频无法播放。
1. 登录云点播控制台,选择分发播放设置 > 域名管理,单击“默认分发域名”的设置,然后单击访问控制,进入设置页面。
2. 打开启用 Key 防盗链,并单击随机生成,生成一个随机的 Key。将生成好的 Key 复制下来,然后单击确定保存生效。防盗链 Key 可用于后续步骤中生成播放器签名。
六、步骤2:对视频进行 DRM 加密
云点播加密环节与转码环节同步进行,因此仅需在转码配置时设置加密方式即可,有以下几种流程可实现对视频进行 DRM 加密。
七、方式1:使用任务流进行 MultiDRM 加密(推荐)
注意:说明:
注意:更多任务流介绍内容请参考 视频处理任务体系。
八、关于任务流的使用描述
预置任务流自定义任务流我们的预置工作流包含了多项媒体处理操作,会直接自动对待处理视频进行:HLS 转自适应码流、Multi DRM 加密、截雪碧图、截取封面图。你可进入 控制台 的媒体处理 > 任务流页面,在任务流列表中找到 MultiDrm-WV-FP-V1-Preset,单击查看详情了解具体预置任务流配置。预置的MultiDRM工作流你也可以结合业务情况,自定义媒体处理任务流,关联相关的媒体处理模板进行配置。点击创建任务流如果想要使用 MultiDRM 加密能力,需要选择转自适应码流的转码模板。选择转码模板:MultiDrm-WV-FP-V1-Preset(该模板为我们提供的预置加密转码模板,你也可以根据具体业务情况自行创建转码模板)。
九、具体操作步骤
有两种方式,可以选择任意一种
·上传后自动转码加密。
·已经上传的文件,选择后进行转码加密。
上传后自动转码加密选择已有文件转码加密1. 登录 云点播控制台,单击左侧导航栏应用管理,进入应用列表页。2. 找到需要管理任务的应用,单击应用名称进入应用管理页。3. 默认进入智能媒资管理 > 音视频管理页面,单击上传音视频,操作页面如下。4. 单击后进入上传页面,视频处理选择上传后自动进行视频处理;选择对应的加密转码工作流。单击开始上传。后台会自动执行上传和媒体处理相关动作。也可以通过上传 SDK 实现该操作,上传后执行指定任务流。1. 登录 云点播控制台,单击左侧导航栏应用管理,进入应用列表页。2. 找到需要管理任务的应用,单击应用名称进入应用管理页。3. 默认进入智能媒资管理 > 音视频管理页面,勾选要处理的视频,单击媒体处理,操作页面如下。4. 单击后进入媒体处理页面,处理类型选择任务流。选择系统预置的 MultiDrm 任务流模板,单击确定,系统会进行转码和加密处理。5. 提交成功后会有相关提示,具体任务进度可以在任务中心查看。该操作也支持接口调用执行,详情可参考 使用任务流模板进行视频处理。
十、方式2:自定义转码模板
可以在云点播控制台自定义转自适应码流模板,在创建模板时选择对应的加密配置,然后再使用接口或者控制台页面,通过工作流或者直接调用模板对视频进行转码加密。转自适应码流的配置,详细文档见:
·媒体处理模板介绍:媒体处理模板设置。
·转自适应码流操作流程介绍:转自适应码流实践教程。
音频也可通过创建音频自定义转自适应转码流模板进行加密。
十一、步骤3:生成播放器签名
播放器签名,用于后续查询播放信息,生成方式请参考 播放器签名文档 。
十二、步骤4:使用播放器播放 DRM 加密视频
支持使用腾讯云播放器,其他第三方播放器播放加密视频。
十三、使用腾讯云播放器
腾讯云播放器相关文档:播放器 SDK 文档。
Web 端iOS 端Android 端
你只需在初始化播放器时传入必要的播放文件参数(step3)即可播放 DRM 加密视频。
十四、step 1:在页面中引入文件
在适当的地方引入播放器样式文件与相关脚这篇件:
<link href="https://web.sdk.qcloud.com/player/tcplayer/release/v4.5.4/tcplayer.min.css" rel="stylesheet"/> <!–如果需要在 Chrome 和 Firefox 等现代浏览器中通过 H5 播放 Webrtc 视频,需要在 tcplayer.vx.x.x.min.js 之前引入 TXLivePlayer-x.x.x.min.js。–> <!–有些浏览器环境不支持 Webrtc,播放器会将 Webrtc 流地址自动转换为 HLS 格式地址,因此快直播场景同样需要引入hls.min.x.xx.xm.js。–> <script src="https://web.sdk.qcloud.com/player/tcplayer/release/v4.5.4/libs/TXLivePlayer-1.2.3.min.js"></script> <!–如果需要在 Chrome 和 Firefox 等现代浏览器中通过 H5 播放 HLS 协议的视频,需要在 tcplayer.vx.x.x.min.js 之前引入 hls.min.x.xx.xm.js。–> <script src="https://web.sdk.qcloud.com/player/tcplayer/release/v4.5.4/libs/hls.min.1.1.5.js"></script> <!–如果需要在 Chrome 和 Firefox 等现代浏览器中通过 H5 播放 FLV 格式的视频,需要在 tcplayer.vx.x.x.min.js 之前引入 flv.min.x.x.x.js。–> <script src="https://web.sdk.qcloud.com/player/tcplayer/release/v4.5.4/libs/flv.min.1.6.3.js"></script> <!–如果需要在 Chrome 和 Firefox 等现代浏览器中通过 H5 播放 DASH 视频,需要在 tcplayer.vx.x.x.min.js 之前引入 dash.min.x.x.x.js。–> <script src="https://web.sdk.qcloud.com/player/tcplayer/release/v4.5.4/libs/dash.all.min.4.4.1.js"></script> <!–播放器脚这篇件–> <script src="https://web.sdk.qcloud.com/player/tcplayer/release/v4.5.4/tcplayer.v4.5.4.min.js"></script>
十五、step 2:放置播放器容器
在需要展示播放器的页面位置加入播放器容器,代码如下:
<video id="player-container-id" width="414" height="270" preload="auto" playsinline webkit-playsinline></video>
注意:说明:
注意:容器 ID 以及宽高都可以自定义。
十六、step 3:初始化代码
在页面初始化的代码中加入以下初始化脚本,传入必须的初始化参数(其中包含步骤3中生成的播放器签名 psign),代码如下:
其他参数请参考 开发文档。
var player = TCPlayer('player-container-id', { appID: '1500014561', // 请传入点播账号的appID (必须) fileID: '387702304941991610', // 请传入需要播放的视频filID (必须) psign: 'eyJhbGciOiJIUzI1NiJ9.eyJhcHBJZCI6MTUwMDAxNDU2MSwiZmlsZUlkIjoiMzg3NzAyMzA0OTQxOTkxNjEwIiwiY3VycmVudFRpbWVTdGFtcCI6MTY2MTE2MzM3MywiZXhwaXJlVGltZVN0YW1wIjoyNjQ4NTU3OTE5LCJwY2ZnIjoiYWR2YW5jZURybVByZXNldCJ9.rEZLhjgsoLc2htIUI_HckxvhVmdBhQyf5d-2Kku1JeA',});
请参考 接入指引(通过 FileId 方式)播放 DRM 加密视频。其中,这一过程中需要使用到步骤3中生成的播放器签名 psign。说明:在接入前,请你提交工单 联系我们 获取支持 DRM 功能的 SDK 。
请参考 接入指引 (通过 FileId 方式)播放 DRM 加密视频。其中,这一过程中需要使用到步骤3中生成的播放器签名 psign。说明:在接入前,请你提交工单 联系我们 获取支持 DRM 功能的 SDK 。
十七、使用第三方播放器
可参考 如何使用第三方播放器播放 DRM 加密后视频。