阿里云视频点播

1、开通阿里云视频点播
使用文档:https://help.aliyun.com/document_detail/61063.html?spm=a2c4g.11186623.6.1034.79e443deKIHxKo
在这里插入图片描述
2、导入依赖

		
        <aliyun-sdk-oss.version>3.1.0</aliyun-sdk-oss.version>
        <aliyun-java-sdk-vod.version>2.15.2</aliyun-java-sdk-vod.version>
        <aliyun-java-vod-upload.version>1.4.11</aliyun-java-vod-upload.version>
        <aliyun-sdk-vod-upload.version>1.4.11</aliyun-sdk-vod-upload.version>
  		<dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.aliyun.oss</groupId>
            <artifactId>aliyun-sdk-oss</artifactId>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-vod</artifactId>
        </dependency>
       	<dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-sdk-vod-upload</artifactId>
        </dependency>

3、初始化

在使用之前需要对视频点播功能进行初始化

import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;

public static DefaultAcsClient initVodClient(String accessKeyId, String accessKeySecret) throws ClientException {
    String regionId = "cn-shanghai";  // 点播服务接入区域
    DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);
    DefaultAcsClient client = new DefaultAcsClient(profile);
    return client;
}

4、根据视频的【ID】获取视频的【播放地址】

public static void main(String[] args) {
        //根据视频ID获取地址

        //1、创建初始化对象
        DefaultAcsClient client = initVodClient("LTAI4GHn6zFJGAvporUTGVCX", "lca87Spiqz5JXM8LbnejbZ81e3LMe9");;

        //2、创建获取地址request和response
        GetPlayInfoRequest request = new GetPlayInfoRequest();
        GetPlayInfoResponse response = new GetPlayInfoResponse();

        //3、向request对象里面设置视频ID
        request.setVideoId("d831cdb6c5ed4bd7b0732786ecea3c58");

        //4、调用初始化对象里面的方法,传递request,获取数据
        response = client.getAcsResponse(request);
        List<GetPlayInfoResponse.PlayInfo> playInfoList = response.getPlayInfoList();
        //播放地址
        for (GetPlayInfoResponse.PlayInfo playInfo : playInfoList) {
            System.out.print("PlayInfo.PlayURL = " + playInfo.getPlayURL() + "\n");
        }
        //Base信息
        System.out.print("VideoBase.Title = " + response.getVideoBase().getTitle() + "\n");
    }

实现效果如下:
在这里插入图片描述

5、根据视频【ID】获取播放凭证

如果视频被加密的话,不能获取视频路径,需要播放凭证和阿里指定的播放器才可以播放。

public static void main(String[] args) {
        //1、创建初始化对象
        DefaultAcsClient client = initVodClient("LTAI4GHn6zFJGAvporUTGVCX", "lca87Spiqz5JXM8LbnejbZ81e3LMe9");;

        //2、创建获取地址request和response
        GetVideoPlayAuthRequest request = new GetVideoPlayAuthRequest();
        GetVideoPlayAuthResponse response = new GetVideoPlayAuthResponse();

        //3、向request对象里面设置视频ID
        request.setVideoId("d831cdb6c5ed4bd7b0732786ecea3c58");

        //4、调用初始化对象里面的方法,传递request,获取数据
        response = client.getAcsResponse(request);

        //播放凭证
        System.out.print("PlayAuth = " + response.getPlayAuth() + "\n");
        //VideoMeta信息
        System.out.print("VideoMeta.Title = " + response.getVideoMeta().getTitle() + "\n");

    }

实现效果如下:
在这里插入图片描述

6、视频上传

开发文档地址:https://help.aliyun.com/document_detail/53406.html?spm=a2c4g.11186623.6.1025.1229d418muPwmc

1、引入jar包。
以Eclipse和IntelliJ IDEA为例介绍引入操作。

  • 在Eclipse中右击您的工程,选择Properties > Java Build Path > Add JARs。
  • 在IntelliJ IDEA中打开您的工程,选择File > Project Structure >
    Modules,单击右侧Dependencies,然后单击+,再单击JARs or directories。

找到解压后的VODUploadDemo-java-1.4.14文件,并将lib目录下的所有jar文件添加到您的项目中。

2、依赖导入

       <dependencies>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
        </dependency>
        <dependency>
            <groupId>com.aliyun.oss</groupId>
            <artifactId>aliyun-sdk-oss</artifactId>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-vod</artifactId>
        </dependency>
       <!-- <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-sdk-vod-upload</artifactId>
        </dependency>-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
        </dependency>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
        </dependency>

        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
        </dependency>
    </dependencies>

3、带入如下:

public static void uploadPlayer() {
        String accessKeyId = "服务器键值ID";
        String accessKeySecret = "服务器密钥";
        String title = "测试视频的名称";//视频的名字
        String fileName = "D:\\Downloads\\mmexport1624156928041.mp4";//本地文件的路径和名称
        UploadVideoRequest request = new UploadVideoRequest(accessKeyId, accessKeySecret, title, fileName);
        /* 可指定分片上传时每个分片的大小,默认为2M字节 */
        request.setPartSize(2 * 1024 * 1024L);
        /* 可指定分片上传时的并发线程数,默认为1,(注:该配置会占用服务器CPU资源,需根据服务器情况指定)*/
        request.setTaskNum(1);
        UploadVideoImpl uploader = new UploadVideoImpl();
        UploadVideoResponse response = uploader.uploadVideo(request);
        System.out.print("RequestId=" + response.getRequestId() + "\n");  //请求视频点播服务的请求ID
        if (response.isSuccess()) {
            System.out.print("VideoId=" + response.getVideoId() + "\n");
        } else {
            /* 如果设置回调URL无效,不影响视频上传,可以返回VideoId同时会返回错误码。其他情况上传失败时,VideoId为空,此时需要根据返回错误码分析具体错误原因 */
            System.out.print("VideoId=" + response.getVideoId() + "\n");
            System.out.print("ErrorCode=" + response.getCode() + "\n");
            System.out.print("ErrorMessage=" + response.getMessage() + "\n");
        }
    }

测试结果如下:
在这里插入图片描述

7、视频删除

public void deleteVideoAly(String videoId) {
        //1、初始化对象
        DefaultAcsClient client = InitVodClient.initVodClient(ConstantVodUtils.ACCESS_KEY_ID, ConstantVodUtils.ACCESS_KEY_SECRET);
        //2、创建删除的Request对象
        DeleteVideoRequest request = new DeleteVideoRequest();
        request.setVideoIds(videoId);
        //调用初始化的对象想法实现删除
        client.getAcsResponse(request);
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值