阿里云视频点播 和HLS加密解密

本文详细阐述了如何在阿里云视频点播中实现HLS标准加密,包括设置转码模板、配置域名、编写上传凭证和加密代码,以及后续的解密流程。重点介绍了HTTP回调鉴权和使用AES加密进行视频保护的过程。

背景:工作需要,领导让去研究阿里云视频点播,毕竟害怕付费视频被二次转发,导致视频的不安全。

HLS标准加密 - 视频点播 - 阿里云

前期准备:

1)开启视频点播控制台。

 2)设置转码模板组,因为看文档说加密有标准HLS加密和阿里私密加密和DRM加密(商业一点,贵贵),同时阿里私密加密有个不足就是IOS网页不能播放,所以这里使用HLS加密了,在这边也需要做点操作。

 具体某个画质里面,设置封装格式为HLS,高级参数那边设置私密加密。

 3)域名管理

只有添加分发加速的域名才能使用HLS加密,同时也要做HTTPS证书添加,不然也会报错。

 

 具体域名怎么配置可以看文档。

3)开启写代码了,做好依赖注入。

 

   <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.5.1</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-vod</artifactId>
            <version>2.15.11</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.62</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-kms</artifactId>
            <version>2.10.1</version>
        </dependency>

 4)获得上传凭证和重新获得上传凭证接口。这边采用前端上传视频,前端在一开始调用上传凭证是需要给fileName和title。重新获得凭证是在视频上传超时之后重新调用获得凭证,这是只需要一个videoID;

 /**
     * 获取视频上传地址和凭证
     * @return CreateUploadVideoResponse 获取视频上传地址和凭证响应数据
     */
    public static BaseVideo createUploadVideo(BaseUpload baseUpload){
        DefaultAcsClient client = initVodClient();
        CreateUploadVideoRequest request = new CreateUploadVideoRequest();
        request.setTitle(baseUpload.getTitle());
        request.setFileName(baseUpload.getFileName());
        BaseVideo baseVideo = new BaseVideo();
        CreateUploadVideoResponse response = new CreateUploadVideoResponse();
        try {
            response=client.getAcsResponse(request);
            baseVideo.setUploadAddress(response.getUploadAddress());
            baseVideo.setVideoId(response.getVideoId());
            baseVideo.setUploadAuth(response.getUploadAuth());
        }catch (Exception e){
            baseVideo.setErrorMessage(e.getLocalizedMessage());
        }finally {
            baseVideo.setRequestId(response.getRequestId());
        }
        return baseVideo;
    }


    /**
     * 刷新视频上传凭证
     * @return RefreshUploadVideoResponse 刷新视频上传凭证响应数据
     */
    public static BaseVideo refreshUploadVideo(String VideoId ){
        DefaultAcsClient client = initVodClient();
     
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值