阿里云视频点播服务的开通和使用

阿里云视频点播服务的开通和使用

文章目录

  • 阿里云视频点播服务的开通和使用
    • 前言:什么是阿里云视频点播服务?
    • 一、开通阿里云视频点播服务
    • 二、控制台基本操作
    • 三、JAVA JDK操作阿里云视频点播服务
    • 四、实战
      • **第一步:创建service_vod工程,引入依赖**
      • **第二步:初始化对象**
      • **第三步:获取视频地址**
      • **第四步:获取视频凭证**
      • 第五步:本地上传视频到阿里云
      • 第六步:安装阿里云依赖到本地maven仓库
    • 小白结语

前言:什么是阿里云视频点播服务?

阿里云视频点播服务的开通和使用_第1张图片

视频点播(ApsaraVideo
VoD,简称VoD)是集视频采集、编辑、上传、媒体资源管理、自动化转码处理(窄带高清TM)、视频审核分析、分发加速于一体的一站式音视频点播解决方案。

一、开通阿里云视频点播服务

1 进入阿里云官网。在产品分类中找到视频点播服务入口,点击进入

阿里云视频点播服务的开通和使用_第2张图片
2 点击立即开通
阿里云视频点播服务的开通和使用_第3张图片

3 我选择的是按流量计费
阿里云视频点播服务的开通和使用_第4张图片
4 这里可以查看阿里云视频点播服务的收费详情,可以看到视频点播服务计费还是挺便宜的。
阿里云视频点播服务的开通和使用_第5张图片
阿里云视频点播服务的开通和使用_第6张图片
5 这个页面是阿里云视频点播服务的控制台首页
阿里云视频点播服务的开通和使用_第7张图片


二、控制台基本操作

1 上传音视频:点击添加音/视频
阿里云视频点播服务的开通和使用_第8张图片
2 选择一个文件上传
阿里云视频点播服务的开通和使用_第9张图片
3 点击开始上传
阿里云视频点播服务的开通和使用_第10张图片
4刷新页面,可以发现刚才上传的视频上传成功了
阿里云视频点播服务的开通和使用_第11张图片
5 可以点击看看上传的视频
阿里云视频点播服务的开通和使用_第12张图片
6 添加转码模板组
阿里云视频点播服务的开通和使用_第13张图片
7 把用户自定义模板组设置为默认模板组,此时再上传一段音频
阿里云视频点播服务的开通和使用_第14张图片
8 可以看到起风了.mp3被转码了
阿里云视频点播服务的开通和使用_第15张图片
9 更多详细操作可以参考阿里云官方文档


三、JAVA JDK操作阿里云视频点播服务

1 在控制台首页点击SDK文档
在这里插入图片描述
2 找到JAVA SDK
阿里云视频点播服务的开通和使用_第16张图片
3 在帮助文档中心打开
阿里云视频点播服务的开通和使用_第17张图片
4 JAVA SDK首页
阿里云视频点播服务的开通和使用_第18张图片
两个术语:

API:阿里云提供固定的地址,只需要调用这个固定的地址,想地值传递参数,实现功能。使用了HttpClient技术
SDK:是对API的封装,调用阿里云提供的类或者接口实现视频功能

官方强烈推荐使用SDK而不是API

5 安装SDK
(1)添加maven仓库

 <repositories>
      <repository>
        <id>sonatype-nexus-stagingid>
        <name>Sonatype Nexus Stagingname>
        <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/url>
        <releases>
            <enabled>trueenabled>
        releases>
        <snapshots>
            <enabled>trueenabled>
        snapshots>
      repository>
    repositories>

(2)引入jar包依赖

  <dependency>
    <groupId>com.aliyungroupId>
    <artifactId>aliyun-java-sdk-coreartifactId>
    <version>4.3.3version>
  dependency>
  <dependency>
    <groupId>com.aliyungroupId>
    <artifactId>aliyun-java-sdk-vodartifactId>
    <version>2.15.5version>
  dependency>
  <dependency>
    <groupId>com.google.code.gsongroupId>
    <artifactId>gsonartifactId>
    <version>2.8.2version>
  dependency>

四、实战

第一步:创建service_vod工程,引入依赖

pom.xml

<dependencies>
        <dependency>
            <groupId>com.aliyungroupId>
            <artifactId>aliyun-java-sdk-coreartifactId>
            <version>4.3.3version>
        dependency>
        <dependency>
            <groupId>com.aliyun.ossgroupId>
            <artifactId>aliyun-sdk-ossartifactId>
            <version>3.1.0version>
        dependency>
        <dependency>
            <groupId>com.aliyungroupId>
            <artifactId>aliyun-java-sdk-vodartifactId>
            <version>2.15.2version>
        dependency>
        <dependency>
            <groupId>com.alibabagroupId>
            <artifactId>fastjsonartifactId>
            <version>1.2.28version>
        dependency>
        <dependency>
            <groupId>org.jsongroupId>
            <artifactId>jsonartifactId>
            <version>20170516version>
        dependency>
        <dependency>
            <groupId>com.google.code.gsongroupId>
            <artifactId>gsonartifactId>
            <version>2.8.2version>
        dependency>
    dependencies>

第二步:初始化对象

官方文档解释: https://help.aliyun.com/document_detail/61062.html?spm=a2c4g.11186623.6.908.11153815MJ9vxr
阿里云视频点播服务的开通和使用_第19张图片
InitObject.java

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

@SuppressWarnings("all")
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;
    }
}

第三步:获取视频地址

注意initVodClient()方法的两个参数分别是阿里云用户安全信息管理的AccessKey和AccessSecret

可到 https://usercenter.console.aliyun.com/#/manage/ak中进行相关设置
TestVod.java

	/**
     * 获取视频Url地址
     * @throws ClientException
     */
    public static void getPlayUrl() throws ClientException {
        //1 根据视频ID获得视频播放地址
        //1.1 创建初始化对象
        DefaultAcsClient client = InitObject.initVodClient("accessKey", "accessSecret");

        //1.2 创建获取视频地址request和response
        GetPlayInfoRequest request = new GetPlayInfoRequest();
        GetPlayInfoResponse response = new GetPlayInfoResponse();

        //1.3 向request对象里面设置视频ID
        request.setVideoId("c833930e3e804a768af63826a862eeab");

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

        List<GetPlayInfoResponse.PlayInfo> infoList = response.getPlayInfoList();

        for (GetPlayInfoResponse.PlayInfo playInfo : infoList) {
            System.out.println("PlayInfo.PlayURL = " + playInfo.getPlayURL() + "\n");
        }

        //Base信息
        System.out.println("VideoBase.Title = " + response.getVideoBase().getTitle() + "\n");

    }

效果如图

在这里插入图片描述

第四步:获取视频凭证

当音频被加密时,无法直接通过地址访问,此时可以通过视频凭证访问,视频凭证由阿里云API生成


/**
     * 获取视频凭证
     * @throws ClientException
     */
    public static void getPlayAuth() throws ClientException {
        //1 根据视频ID获得视频播放地址
        //1.1 创建初始化对象
        DefaultAcsClient client = InitObject.initVodClient("accessKey", "accessSecret");

        //1.2 创建初始化对象
        GetVideoPlayAuthRequest request = new GetVideoPlayAuthRequest();
        GetVideoPlayAuthResponse response = new GetVideoPlayAuthResponse();

        //1.3 向request对象设置视频ID值
        request.setVideoId("c833930e3e804a768af63826a862eeab");

        //1.3 调用初始化对象里的方法得到凭证
        response = client.getAcsResponse(request);

        String playAuth = response.getPlayAuth();
        System.out.println("playAuth: " + playAuth);

    }

效果如图
在这里插入图片描述


第五步:本地上传视频到阿里云

首先要加载一个新的Jar包(我这里踩了一个坑,原先的依赖始终无法加载进maven,所以不得不手动导入了一个jar包,maven依赖换成了第一步的依赖


差点怀疑人生了!
阿里云视频点播服务的开通和使用_第20张图片
这个jar包是 aliyun-java-vod-upload-1.4.12.jar 是我在官方文档找的

地址:
https://help.aliyun.com/document_detail/53406.html?spm=a2c4g.11186623.6.1066.64fd7bdcEUIU0T

注意!!!官方文档解释如下:
阿里云视频点播服务的开通和使用_第21张图片
注意:以下列举出部分依赖jar包的版本,您可直接在您的项目中添加maven依赖,也可以将VODUploadDemo-java-1.4.12.zip包中的所有jar包引入您的项目中使用。其中**,aliyun-java-vod-upload-1.4.12.jar 还未正式开源,请您直接引入jar包至您的项目中使用。**

也就是说这个jar包压根不在maven仓库,所有无法直接通过maven下载,需要手动安装这个依赖!!!


在这里插入图片描述
TestUploadVod.java

import com.aliyun.vod.upload.impl.UploadVideoImpl;
import com.aliyun.vod.upload.req.UploadVideoRequest;
import com.aliyun.vod.upload.resp.UploadVideoResponse;

public class TestUploadVod {

    public static void main(String[] args) {

        String accessKeyId = "accessKeyId";
        String accessKeySecret = "accessKeySecret";
        String title = "100.mp4";   //上传之后文件名称
        String fileName = "G:\\1.mp4";  //本地文件路径和名称

        uploadVideoLocal(accessKeyId, accessKeySecret, title, fileName);
    }

    /**
     *
     * @param accessKeyId ID
     * @param accessKeySecret 秘钥
     * @param title 上传后的文件名
     * @param fileName 上传前的本地文件路径
     */
    public static void uploadVideoLocal(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");
        }
    }

}

成功运行后控制台输出
阿里云视频点播服务的开通和使用_第22张图片
查看后台,发现上传成功了(浪费了一晚上事件),庆祝一下!
阿里云视频点播服务的开通和使用_第23张图片
阿里云视频点播服务的开通和使用_第24张图片

第六步:安装阿里云依赖到本地maven仓库

阿里云的aliyun-java-vod-upload-1.4.12.jar没有正式开源,所以只能把这个jar包装进本地仓库


maven命令
进入jar包目录,输入:

mvn install:install-file -DgroupId=com.aliyun -DartifactId=aliyun-sdk-vod-upload -Dversion=1.4.12 -Dpackaging=jar -Dfile=aliyun-java-vod-upload-1.4.12.jar

如图所示,这个Jar包就成功安装进本地Maven仓库了!
阿里云视频点播服务的开通和使用_第25张图片

小白结语

1.阿里云在国内乃至世界上的技术都是领先的,之前学习过阿里云OSS服务,今天学习了阿里云的视频点播服务,之后还会学习阿里云的短信服务等。

2.重视官方文档!!!

阿里云视频点播服务的开通和使用_第26张图片

你可能感兴趣的:(#,阿里云)