阿里云视频点播

1,登录阿里云,点击产品/企业服务与媒体服务

阿里云视频点播_第1张图片

阿里云视频点播_第2张图片

阿里云视频点播_第3张图片

 2,视频点播的官方api

阿里云视频点播_第4张图片

阿里云视频点播_第5张图片

3,代码实现视频点播

先上传一个视频

阿里云视频点播_第6张图片

3.1根据视频iD获取视频播放地址

 
            com.aliyun
            aliyun-java-sdk-core
            4.6.0
        
        
            com.aliyun
            aliyun-java-sdk-vod
            2.16.10
        
        
            com.alibaba
            fastjson
            1.2.83
        
        
            com.aliyun
            aliyun-java-sdk-kms
            2.10.1
        
package com.wxz;

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

public class InitObject {

    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;
    }
}
package com.wxz;

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.vod.model.v20170321.GetPlayInfoRequest;
import com.aliyuncs.vod.model.v20170321.GetPlayInfoResponse;
import lombok.SneakyThrows;

import java.util.List;

/**
 * TODO
 *
 * @author wxz
 * @date 2023/3/3 11:04
 */
public class TestVideoBroadcast {
    @SneakyThrows
    public static void main(String[] args) {
        TestVideoBroadcast.getPlayUrl();
    }
    //1 根据视频iD获取视频播放地址
    public static void getPlayUrl() throws Exception{
        //创建初始化对象
        DefaultAcsClient client = InitObject.initVodClient("LTAI4GD8gqB3npnPsc81vKXy", "gnh245WziZjzd8NG3nIi7CfQHcqlKG");
        //创建获取视频地址request和response
        GetPlayInfoRequest request = new GetPlayInfoRequest();
        GetPlayInfoResponse response = new GetPlayInfoResponse();
        //向request对象里面设置视频id
        request.setVideoId("0f9186d0b96e71edbfae6732a78f0102");
        //调用初始化对象里面的方法,传递request,获取数据
        response = client.getAcsResponse(request);
        List 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");
    }
}

阿里云视频点播_第7张图片

 浏览器可以正常访问视频

注意:里面的视频id是提前上传视频的id,accessKeyId和accessKeySecret是阿里云的密钥

3.2根据视频iD获取视频播放凭证

package com.wxz;

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.vod.model.v20170321.GetPlayInfoRequest;
import com.aliyuncs.vod.model.v20170321.GetPlayInfoResponse;
import com.aliyuncs.vod.model.v20170321.GetVideoPlayAuthRequest;
import com.aliyuncs.vod.model.v20170321.GetVideoPlayAuthResponse;
import lombok.SneakyThrows;

import java.util.List;

/**
 * TODO
 *
 * @author wxz
 * @date 2023/3/3 11:04
 */
public class TestVideoBroadcast {
    @SneakyThrows
    public static void main(String[] args) {
        TestVideoBroadcast.getPlayAuth();
    }

    // 根据视频iD获取视频播放凭证
    public static void getPlayAuth() throws Exception{
        DefaultAcsClient client = InitObject.initVodClient("LTAI4GD8gqB3npnPsc81vKXy", "gnh245WziZjzd8NG3nIi7CfQHcqlKG");
        GetVideoPlayAuthRequest request = new GetVideoPlayAuthRequest();
        GetVideoPlayAuthResponse response = new GetVideoPlayAuthResponse();
        request.setVideoId("0f9186d0b96e71edbfae6732a78f0102");
        response = client.getAcsResponse(request);
        System.out.println("playAuth:"+response.getPlayAuth());
    }
}

阿里云视频点播_第8张图片

4,视频上传功能

阿里云视频点播_第9张图片

 加入依赖

 
            com.aliyun
            aliyun-java-sdk-core
            4.3.3
        
        
            com.aliyun.oss
            aliyun-sdk-oss
            3.1.0
        
        
            com.aliyun
            aliyun-java-sdk-vod
            2.15.2
        
        
            com.aliyun
            aliyun-sdk-vod-upload
            1.4.11
        
        
            com.alibaba
            fastjson
            1.2.28
        
        
            org.json
            json
            20170516
        
        
            com.google.code.gson
            gson
            2.8.2
        

        
            joda-time
            joda-time
            2.10.1
        
package com.atguigu.vodtest;


import com.aliyun.vod.upload.impl.UploadVideoImpl;
import com.aliyun.vod.upload.req.UploadVideoRequest;
import com.aliyun.vod.upload.resp.UploadVideoResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.vod.model.v20170321.GetPlayInfoRequest;
import com.aliyuncs.vod.model.v20170321.GetPlayInfoResponse;
import com.aliyuncs.vod.model.v20170321.GetVideoPlayAuthRequest;
import com.aliyuncs.vod.model.v20170321.GetVideoPlayAuthResponse;

import java.util.List;

public class TestVod {

    public static void main(String[] args) {
        String accessKeyId = "LTAI4FvvVEWiTJ3GNJJqJnk7";
        String accessKeySecret = "9st82dv7EvFk9mTjYO1XXbM632fRbG";
        String title = "upload by sdk";   //上传之后文件名称
        String fileName = "D:\\img\\driver.mp4";  //本地文件路径和名称
        TestVod.testUploadVideo(accessKeyId,accessKeySecret,title,fileName);
    }

    /**
     * 本地文件上传
     * @param accessKeyId
     * @param accessKeySecret
     * @param title
     * @param fileName
     */
    private static void testUploadVideo(String accessKeyId, String accessKeySecret, String title, String fileName) {
        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);
        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");
        }
    }
}

阿里云视频点播_第10张图片

 以下这个jar需要自行到网上去下载,然后放入到本地仓库


            com.aliyun
            aliyun-sdk-vod-upload
            1.4.11
        

你可能感兴趣的:(阿里云,视频上传,视频)