阿里云视频点播服务实践

阿里云视频点播服务

官网参考文档

  1. 引入相关依赖

            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>aliyun-java-sdk-core</artifactId>
                 <version>4.3.3</version>
            </dependency>
            <dependency>
                <groupId>com.aliyun.oss</groupId>
                <artifactId>aliyun-sdk-oss</artifactId>
                <version>3.1.0</version>
            </dependency>
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>aliyun-java-sdk-vod</artifactId>
                <version>2.15.2</version>
            </dependency>
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>aliyun-sdk-vod-upload</artifactId>
                <version>1.4.11</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.28</version>
            </dependency>
            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>20170516</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>2.8.2</version>
            </dependency>
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>2.10.1</version>
            </dependency>
    
  2. 使用账号AccessKey初始化。

    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;
    }
    

获取视频地址

    // 根据视频id获取视频播放地址
    public static void getPlayURL() throws ClientException {
        // 创建初始化对象
        DefaultAcsClient client = InitObject.initVodClient("LTAI4GFasdWvpBwFzgAB93QnxZasdC", "4swIosdaf0VAtGasdcHa93fasdFE9hKGvK6Wf9p");
        // 创建获取视频地址request和response
        GetPlayInfoRequest request = new GetPlayInfoRequest();
        GetPlayInfoResponse response = new GetPlayInfoResponse();
        // 向request对象里面设置视频id
        request.setVideoId("d1cbc4322a8f45f7bb76cce2b30a1b79");
        // 调用初始化对象里面的方法 传递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");
    }

获取视频凭证

    // 根式视频id获取视频播放凭证
    public static void getPlayAuth() throws ClientException {
        // 创建初始化对象
        DefaultAcsClient client = InitObject.initVodClient("LTAI4GFWvpBwFzgAB93QnxZC", "4swIof0VAtGcHa93fFE9hKGvK6Wf9p");
        // 创建获取视频凭证的request和response
        GetVideoPlayAuthRequest request = new GetVideoPlayAuthRequest();
        GetVideoPlayAuthResponse response = new GetVideoPlayAuthResponse();
        // 向request里设置视频id值
        request.setVideoId("bb6c94016a984a079dc72f86e6a0e0d7");
        // 调用初始化对象里面的方法得到凭证
        response = client.getAcsResponse(request);
        System.out.println("playAuth:" + response.getPlayAuth());
    }

上传视频

        String accessKeyId = "LTAI4GFWvpBwFzgAB93QnxZC";
        String accessKeySecret = "4swIof0VAtGcHa93fFE9hKGvK6Wf9p";
        String title = "demo1"; // 上传之后文件名称
        String fileName = "F:/demo1.mp4"; // 本地文件的路径名称
        // 上传视频的方法
        UploadVideoRequest request = new UploadVideoRequest(accessKeyId, accessKeySecret, title, fileName);
        request.setPartSize(2 * 1024 * 1024L);
        request.setTaskNum(1);
        UploadVideoImpl uploader = new UploadVideoImpl();
        UploadVideoResponse response = uploader.uploadVideo(request);
        System.out.println("ReqId:" + response.getRequestId());
        if (response.isSuccess()) {
            System.out.println("VideoId:" + response.getVideoId());
        } else {
            System.out.println("VideoId:" + response.getVideoId());
            System.out.println("ErrorCode:" + response.getCode());
            System.out.println("ErrorMessage:" + response.getMessage());
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 课程列表和课程删除 01-课程列表的显示 课程列表显示: 课程列表(参考讲师列表,完善条件查询和分页): 一、...
    刊ing阅读 3,652评论 0 0
  • 1 整合阿里云OSS 01-阿里云存储OSS 一、对象存储OSS 为了解决海量数据存储与弹性扩容,项目中我们采用云...
    刊ing阅读 5,922评论 0 0
  • 注册流程分析 客户端先发送一个手机号码到后端获取验证码,此时“获取验证码”按钮是激活状态,“下一步”按钮是禁用状态...
    皮皮力_996a阅读 2,967评论 0 0
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 12,187评论 16 22
  • 创业是很多人的梦想,多少人为了理想和不甘选择了创业来实现自我价值,我就是其中一个。 创业后,我由女人变成了超人,什...
    亦宝宝阅读 5,845评论 4 1