学习
实践
活动
专区
工具
TVP
写文章
专栏首页实战小课程云点播-视频加密播放实践
原创

云点播-视频加密播放实践

2860元腾讯云代金券免费领取,付款直接抵现金,立即领取>>>

腾讯云海外服务器1折限时抢购,2核4G云主机661元/1年,立即抢购>>>

腾讯云服务器1折限时抢购,2核4G云主机698元/3年,立即抢购>>>

简介

云点播的 转自适应码流 功能,可以将视频转成多种分辨率并加密。播放加密后的视频,需要在终端集成 超级播放器 SDK

一、上传视频并转码机密

上传视频方式很多,可以控制台上传也可以集成SDK上传。这里就使用控制台上传。

上传时可以选择上传后自动进行视频处理,也可以选择稍后处理。这里就选择自动进行视频处理,选择【处理类型】选择“任务流”,【任务流模板】选择预设的“SimpleAesEncryptPreset”,也可以选择自定义的加密模板。

1-1 上传并自动加密转码

注意:

如果在上传后进行转自适应加密,自适应码流模板需要预先自定义创建,创建可以选择加密或者不加密。

二、签名计算

播放加密视频,需要使用 超级播放器签名,并开启 Key 防盗链

防盗链开启:控制台->【系统设置】->【分发播放设置】->【域名管理】,对分发的默认域名进行设置,防盗链开启需要大概5分钟生效。

2-1 防盗链开启

签名计算的方式有两种:一、在线签名工具;二、示例代码

1、在线签名

工具链接:https://vods.cloud.tencent.com/signature/super-player-sign.html

2-2 在线签名工具

必填的参数有:appid、fileid、currentTimeStamp、pcfg、防盗链Key。

appid:如果您使用了子应用,则参数需要填子应用 appId;

pcfg:如果使用是默认的自适应码流转码模板,计算签名时就填basicDrmPreset;如果使用的是自定义自适应码流转码模板,计算签名时填写控制台中配置的名称。

如何自定义pcfg:

控制台->系统设置->分发播放设置->超级播放器配置->新建

2-3 超级播放器配置新建
2-4 新建超级播放器配置

2、示例代码

python参考代码

使用 JWT 库计算签名,请使用pip install pyjwt安装。

#!/usr/bin/python
#coding=utf-8

import jwt

AppId = 1255566655
FileId = "4564972818519602447"
CurrentTime = 1546340400
PsignExpire = 1546344000
UrlTimeExpire = "5c2b5640"
Key = "24FEQmTzro4V5u3D5epW"

Original = {
    "appId": AppId,
    "fileId": FileId,
    "currentTimeStamp": CurrentTime,
    "expireTimeStamp": PsignExpire,
    "urlAccessInfo": {
        "t": UrlTimeExpire
    }
}

Signature = jwt.encode(Original, Key, algorithm='HS256')

print("Original: ", Original)
print("Signature: ", Signature

JAVA示例代码

jwt 版本号3.10.3

import java.util.*;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.exceptions.JWTCreationException;
import com.auth0.jwt.JWT;

class Main {
    public static void main(String[] args) {
        Integer AppId = 1255566655;
        String FileId = "4564972818519602447";
        Integer CurrentTime = 1546340400;
        Integer PsignExpire = 1546344000;
        String UrlTimeExpire = "5c2b5640";
        String Key = "24FEQmTzro4V5u3D5epW";
        HashMap<String, String> urlAccessInfo = new HashMap<String, String>();
        urlAccessInfo.put("t", UrlTimeExpire);

        try {
            Algorithm algorithm = Algorithm.HMAC256(Key);
            String token = JWT.create().withClaim("appId", AppId).withClaim("fileId", FileId)
                    .withClaim("currentTimeStamp", CurrentTime).withClaim("expireTimeStamp", PsignExpire)
                    .withClaim("urlAccessInfo", urlAccessInfo).sign(algorithm);
            System.out.println("token:" + token);
        } catch (JWTCreationException exception) {
            // Invalid Signing configuration / Couldn't convert Claims.
        }
    }
}

三、加密视频播放

以下主要以Web端播放器为例:

在页面集成超级播放器Web SDK,引入播放器样式文件与脚本文件。

<link href="https://imgcache.qq.com/open/qcloud/video/tcplayer/tcplayer.css" rel="stylesheet">
 <!--如果需要在 Chrome 和 Firefox 等现代浏览器中通过 H5 播放 HLS 格式的视频,需要在 tcplayer.v4.min.js 之前引入 hls.js。-->
 <script src="https://imgcache.qq.com/open/qcloud/video/tcplayer/libs/hls.min.0.12.4.js"></script>
 <!--播放器脚本文件-->
 <script src="https://imgcache.qq.com/open/qcloud/video/tcplayer/tcplayer.v4.min.js"></script>

其中<tcplayer.v4.min.js>为新版SDK脚本,老版本的JS脚本<tcplayer.min.js>不支持播放自适应码流加密,使用老版本的脚本会报错。

视频播放需要添加以下参数,具体参考 超级播放器 Web 中的 HLS加密。

var player = TCPlayer('player-container-id', {
     fileID: '', // 请传入需要播放的视频 filID(必须)
     appID: '' // 请传入点播账号的 appID(必须)
     psign:''
   });

集成后的demo:

↓↓↓↓↓↓

Demo

↑↑↑↑↑↑

当播放出现如下图所示时,表示基本的[上传-加密-播放]就成功啦!!!

2-5 demo界面

FAQ:

  1. 加密后得视频无法播放

F12看下NetWork,看下获取播放链接的错误码。

403 Forbidden有以下可能:

a. JS脚本引入的是老版本,需要替换为新版;

b. 签名计算错误,可以使用在线校验工具校验下;

c . 使用了自定义的转码模板,但在签名时pcfg选用的是默认模板对应的pcfg:SimpleAesEncryptPreset,未配置对应的超级播放器配置

示例:

403 示例

通过签名校验工具可以知道,签名链接过期,进一步得知,签名的expireTimeStamp时间过期了。

校验结果

总结

云点播此次加密体系升级,主要调整在于增加了HLS自适应码流转码加密,加密【转码-播放】更加简单。欢迎大家对腾讯云点播多多支持!!!

原创声明,本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

登录 后参与评论
0 条评论

相关文章

  • 技术解码 | 打造更安全的视频加密,云点播版权保护实践

    导语 | 云点播在视频版权保护方面持续投入和演进,从最开始的「基础加密方案」,到后来的「私有加密方案」以及「商业级 DRM」,保护的安全级别逐步提高。本文将为大...

    腾讯云音视频
  • 搭建云点播网站需要服务器吗?云点播如何对视频加密?

    搭建一个网站是非常简单的,真正难的是如何将网站做好优化和运营,同时也需要对网站进行维护,保障网站的稳定性。此外网站对服务器也是有一定要求的,如果是视频网站,建议...

    用户8715145
  • 视频加密怎么播放_win播放器加密视频

    视频加密方式大多数是由三部分组成的:加密客户端、账号后台管理系统以及加密视频播放器。具体的实现过程是视频所有者利用加密客户端对视频进行加密,然后把视频传给视频购...

    全栈程序员站长
  • 【腾讯课堂】视频点播上云实践

    本文首发于 IMWeb 社区网站 imweb.io。点击阅读原文查看 IMWeb 社区更多精彩文章。 总体介绍 腾讯课堂是一款通过线上的直播与点播向用户提供在...

    用户1097444
  • 【腾讯课堂】视频点播上云实践

    腾讯课堂是一款通过线上的直播与点播向用户提供在线教育服务的产品,从 2014 年成立至今,已累计存储了 250 万个视频,共 600 TB,累计时长 150 万...

    IMWeb前端团队
  • 超级播放器点播如何使用Fileid加密播放?

    1.播放视频中会有一些视频不想被没获取到或者不想别人看到,这个时候就会用到加密,超级播放是通过视频文件的id来进行加密

    腾讯云-qichengdeng
  • RTMP协议视频直播点播云服务平台EasyDSS点播文件添加播放次数优化方案参考

    针对不同的项目,我们一般都可根据需求进行定制版本的开发,但是目前的版本几乎可以满足大多数项目场景的使用需求,因此大家大可先测试现有版本。如果仍需要扩展一些定制功...

    TSINGSEE青犀视频
  • 在线云点播服务器如何选择?云点播支持什么播放器?

    如果你所持有的软件中有很多视频文件,那么应该会对视频的存储感到头疼。视频文件所占的空间本来就比较大,一旦数量过多则会对服务器造成很大压力。因此云点播才会走进市场...

    用户8715145
  • 使用腾讯云云点播对视频进行HLS加密

    加密并不是百分百不会泄露,只是增加直接获取被加密资源的代价,别人录屏等等也是可以的,防不胜防

    沈唁
  • 腾讯云 上传视频_云点播系统源码

    所需jar包http://download.csdn.net/download/sinat_36596988/10195891

    全栈程序员站长
  • 本地云点播搭建流程是什么?云点播可以审核视频吗?

    搭建云点播可以帮助我们解决很多视频相关的难题,例如视频的存储以及视频的播放,甚至是一些其他难题云点播都可以轻松解决。想要搭建云点播,需要进行一些必要的操作。那么...

    用户8715145
  • 阿里云视频播放

    ??阿里云播放器SDK(Aliplayer SDK)是阿里视频云端到云到端服务的重要一环,支持视频加密播放、清晰度切换、直播时移等业务场景,本文说明并提供了We...

    别团等shy哥发育
  • 【云+社区年度征文】自适应码流加密+超级播放器播放最佳实践

    随着视频行业的快速发展,越来越多的视频内容需要保护。不论腾讯视频、优酷、爱奇艺等视频媒体平台播放的独播剧、版权电影,还是在线教育网站提供的教学视频,抑或游戏主播...

    clairehou
  • 腾讯云视频云(点播&直播)产品双月刊(2020.7月&8月)

    主要优势:对单个资源包进行余量不足和到期时间的提醒,降低因为资源包用尽或者到期导致产生额外费用的风险。

    腾讯云音视频
  • 视频点播云服务器配置要多高?云点播可对视频做哪些处理?

    一个软件想要正常运行,服务器是至关重要的。对于一些高流量的软件来说,服务器配置的要求自然也会更高。那么想要实现视频点播云服务器配置要多高呢?我们在下文做一个详细...

    用户8715145

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com