视频加密常见问题

本文为您介绍使用视频点播HLS标准加密、阿里云视频加密(私有加密)、DRM加密过程中遇到的常见问题及解决方案。

HLS标准加密相关

播放HLS标准加密视频时,需要传入的用户令牌(MtsHlsUriToken)参数是什么?如何获取?

MtsHlsUriToken参数是用户自定义参数,常规的HLS标准加密下,加密串写到HLS流里后,会在m3u8索引文件中加入一个解密服务器的地址,当有需求需要只允许部分用户访问时,这个解密地址就需要一个验证身份的功能,MtsHlsUriToken参数就是在您的解密服务器上加一层验证逻辑,然后根据这层验证逻辑生成一个特殊的参数加入解密验证。

您需要在配置加密时,搭建令牌颁发服务生成MtsHlsUriToken,详细内容请参见播放HLS标准加密视频步骤1。

如何使用生成的密钥?

GenerateKMSDataKey接口会返回两种密钥:一种是密文密钥(CiphertextBlob),另一种是明文密钥(Plaintext)。用户只需要将密文密钥传递给视频点播服务即可,具体参数传递请参见提交媒体转码作业中的加密配置 EncryptConfig参数。

说明
  • 推荐业务方对生成的密文密钥和明文密钥进行缓存。

  • 创建的Service Key不可删除、不可更新,只用于生成加密密钥。

生成的令牌如何传递到解密接口?

业务方必须使用域名进行加速播放,才能将令牌重写到解密接口上。在请求M3U8地址时需要将生成的令牌通过MtsHlsUriToken参数传递,域名会自动将该参数重写到解密接口上并请求解密接口。

如何快速验证加密播放?

可以通过阿里云播放器诊断平台,播放标准加密的M3U8播放地址,可以快速验证播放是否正常。拷贝M3U8播放地址(如有MtsHlsUriToken参数一并拷贝)到阿里云播放器诊断平台上进行尝试标准加密的解密播放。

其它常见问题

  • 接口提示

    调用提交媒体转码作业提示KeyNotFound相关信息,请先联系点播后台在相应的区域(例如:华北2、华东2)创建Service Key 并用于生成加密密钥。

  • 非加密文件

    生成的文件未加密,请确认转码模板是否开启视频加密并勾选了私有加密

  • 自定义密钥

    加密的明文密钥必须使用GenerateKMSDataKey - 创建KMS数据密钥接口生成,不能使用自定义字符串生成加密密钥,否则加密转码失败。

  • 加密失败

    标准加密转码失败或没有任何加密文件生成,请确认GenerateKMSDataKey - 创建KMS数据密钥生成的密钥类型是否为AES_128密钥,否则加密转码会失败导致不会生成任何加密文件。

  • 解密失败

    标准加密文件解密播放失败,请确认是解密接口将视频点播的DecryptKMSDataKey接口返回的明文密钥再次base64decode之后给播放器解密播放,不然解密播放会失败。

  • 重复生成

    标准加密转码触发都是由用户主动触发,如果重复生成加密文件,请确认是否重复调用提交媒体转码作业接口。

DRM加密相关

发起DRM加密转码失败,报错提示Submit transcode job failed

问题现象:发起DRM加密转码时,报错TranscodeJob.SubmitFailed。如下图所示:视频加密常见问题-DRM加密1.png

问题原因:

视频点播暂不支持在视频上传完成后通过点播控制台 > 媒资库 > 音/视频 > 媒体处理 > 用转码模板组处理的方式触发DRM加密转码。

解决方案:

您可以将DRM加密的转码模板组添加到工作流中,以工作流方式触发转码,详情请参见工作流

上传DRM证书失败,报错提示Can not found user info

问题现象:上传DRM证书时,报错NotUserInfoExist。如下图所示:视频加密常见问题-DRM加密2.png

解决方案:

请确认您上传DRM证书的对应服务地域已经存在激活的点播系统bucket,激活点播系统bucket请参见启用点播系统Bucket