阿里云视频点播相关代码

这篇具有很好参考价值的文章主要介绍了阿里云视频点播相关代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

官网:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

依赖

版本:
<aliyun-java-sdk-core.version>4.3.3</aliyun-java-sdk-core.version>
<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>
    
//mvn install:install-file -DgroupId=com.aliyun -DartifactId=aliyun-sdk-vod-upload -Dversion=1.4.11 -Dpackaging=jar -Dfile=aliyun-java-vod-upload-1.4.11.jar
//将jar包down下来,然后在jar包的路径打开终端,输入命令,进行安装

	<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.aliyun</groupId>
            <artifactId>aliyun-java-sdk-kms</artifactId>
            <version>2.10.1</version>
        </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>

#最大上传单个文件大小, 默认1M
spring.servlet.multipart.max-file-size=1024MB
#最大置总上传的数据大小, 默认10M
spring.servlet.multipart.max-request-size=1024MB

nginx支持上传大小也有限制,需要在配置文件中也需要添加大小设置
client_max_body_size 1024m;文章来源地址https://www.toymoban.com/news/detail-506234.html

//初始化对象
public class InitVodClient {
    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删除视频

//初始化对象
DefaultAcsClient client = InitVodClient.initVodClient(ConstantVodUtils.KEY_ID, ConstantVodUtils.KEY_SECRET);
//创建删除视频request对象
DeleteVideoRequest request = new DeleteVideoRequest();

//如果传的是list,就用这个方法变成一个字符串,用逗号隔开
//String videoIds = StringUtils.join(videoIdList.toArray(), ",");

//向request设置视频id(可以设置多个,删除多个,用逗号隔开) "VideoId1,VideoId2"
request.setVideoIds(id);
//调用初始化对象的方法实现
client.getAcsResponse(request);

流式上传

//通过前端传过来对应的文件进行上传
String accessKeyId = ConstantVodUtils.KEY_ID;
String accessKeySecret = ConstantVodUtils.KEY_SECRET;
String fileName = file.getOriginalFilename();
String title = fileName.substring(0,fileName.lastIndexOf("."));

InputStream inputStream = file.getInputStream();
UploadStreamRequest request = new UploadStreamRequest(accessKeyId, accessKeySecret, title, fileName, inputStream);

UploadVideoImpl uploader = new UploadVideoImpl();
UploadStreamResponse response = uploader.uploadStream(request);
System.out.print("RequestId=" + response.getRequestId() + "\n");  //请求视频点播服务的请求ID
if (response.isSuccess()) {
    System.out.print("VideoId=" + response.getVideoId() + "\n");   //视频id
} 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");
}
return response.getVideoId();

本地文件上传

String accessKeyId = "LTAI5tHwP4cop826HDn3WA9n";
String accessKeySecret = "SFWOWjMWJAGGQbPtPI147pmgsC29Ft";

String title = "测试本地上传";   //上传之后文件名称
String fileName = "C:\\Users\\lenovo\\Desktop\\学习linux\\在线教育--谷粒学院\\项目资料\\1-阿里云上传测试视频\\6 - What If I Want to Move Faster.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);

if (response.isSuccess()) {
    System.out.print("VideoId=" + response.getVideoId() + "\n"); //视频id
} 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");
}

根据视频ID获取视频播放凭证

//根据视频iD获取视频播放凭证
public static void getPlayAuth() throws ClientException {
    String accessKeyId = "LTAI5tHwP4cop826HDn3WA9n";
    String accessKeySecret = "SFWOWjMWJAGGQbPtPI147pmgsC29Ft";
    //创建初始化对象
    DefaultAcsClient defaultAcsClient = InitVodClient
            .initVodClient(accessKeyId, accessKeySecret);

    GetVideoPlayAuthRequest request = new GetVideoPlayAuthRequest();
    GetVideoPlayAuthResponse response = new GetVideoPlayAuthResponse();

    request.setVideoId("408c6d284da04844bd014c06a648bf76");
    response = defaultAcsClient.getAcsResponse(request);

    System.out.println("playAuth: " + response.getPlayAuth()); //播放凭证
}

根据视频id获取视频的播放地址

//根据视频id获取视频的播放地址
public static void getPlayUrl() throws ClientException {
    String accessKeyId = "LTAI5tHwP4cop826HDn3WA9n";
    String accessKeySecret = "SFWOWjMWJAGGQbPtPI147pmgsC29Ft";
    //创建初始化对象
    DefaultAcsClient defaultAcsClient = InitVodClient
            .initVodClient(accessKeyId, accessKeySecret);
    //创建获取视频地址request和response
    GetPlayInfoRequest request = new GetPlayInfoRequest();
    GetPlayInfoResponse response = new GetPlayInfoResponse();
    //向request对象里面设置视频id
    request.setVideoId("408c6d284da04844bd014c06a648bf76");

    //调用初始化对象里面的方法,传递request,获取数据
    response = defaultAcsClient.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");

    System.out.print("RequestId = " + response.getRequestId() + "\n");
}

阿里云视频播放前端

<template>
  <div>

    <!-- 阿里云视频播放器样式 -->
    <link rel="stylesheet" href="https://g.alicdn.com/de/prismplayer/2.8.1/skins/default/aliplayer-min.css" >
    <!-- 阿里云视频播放器脚本 -->
    <script charset="utf-8" type="text/javascript" src="https://g.alicdn.com/de/prismplayer/2.8.1/aliplayer-min.js" />

    <!-- 定义播放器dom -->
    <div id="J_prismPlayer" class="prism-player" />
  </div>
</template>
<script>
import vod from '@/api/vod' //引入调用接口的js文件

export default {
    layout: 'video',//应用video布局
    asyncData({ params, error }) {
       return vod.getPlayAuth(params.vid)   //调用后端方法,根据视频id得到对应的视频播放凭证
        .then(response => {
            return { 
                playAuth: response.data.data.playAuth,
                vid: params.vid
            }
        })
    },
    mounted() { //页面渲染之后  created
        new Aliplayer({
            id: 'J_prismPlayer',
            vid: this.vid, // 视频id
            playauth: this.playAuth, // 播放凭证
            encryptType: '1', // 如果播放加密视频,则需设置encryptType=1,非加密视频无需设置此项
            width: '100%',
            height: '500px',
            // 以下可选设置
            cover: 'http://guli.shop/photo/banner/1525939573202.jpg', // 封面
            qualitySort: 'asc', // 清晰度排序

            mediaType: 'video', // 返回音频还是视频
            autoplay: false, // 自动播放
            isLive: false, // 直播
            rePlay: false, // 循环播放
            preload: true,
            controlBarVisibility: 'hover', // 控制条的显示方式:鼠标悬停
            useH5Prism: true, // 播放器类型:html5
        }, function(player) {
            console.log('播放器创建成功')
        })
    }

}
</script>

到了这里,关于阿里云视频点播相关代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot集成阿里云视频点播服务的过程记录

    在对接阿里云视频点播服务时,踩了不少的坑。特此记录阿里云视频点播服务的相关使用。 同时使用Spring Boot集成阿里云视频点播服务,对接其上传SDK、服务端SDK、播放器SDK,最终完成如下Demo演示。 视频点播(ApsaraVideo VoD,简称VoD)是集视频采集、编辑、上传、媒体资源管

    2023年04月21日
    浏览(24)
  • 谷粒学苑项目实战(十四):实现阿里云视频点播功能(java编码实现)

            视频点播(ApsaraVideo for VoD)是集音视频采集、编辑、上传、自动化转码处理、媒体资源管理、分发加速于一体的一站式音视频点播解决方案。          在阿里云产品中找到视频点播,开通。         选择按流量计费(小视频大概也就话几毛钱)         点击开

    2023年04月25日
    浏览(50)
  • CRMEB知识付费二次开发 加密阿里云视频MP4点播链接为m3u8格式 hls blob协议

    只有添加分发加速的域名才能使用HLS加密,同时也要做HTTPS证书添加,不然也会报错。 1、这是电脑端视频播放页面效果 2、这个手机端H5视频播放页面效果 3、在网站后台上传你的视频内容 4、上传完之后可以进行预览 5、在阿里云控制台设置就好自己的转码模板 将不转码设为

    2024年02月08日
    浏览(43)
  • 浅述HLS视频服务器EasyDarwin视频直播点播平台如何快速搭建一个视频点播系统

    EasyDarwin视频直播点播平台能实现视频流媒体的上传、转码、存储、录像、推拉流、直播、点播等功能,可兼容Windows、Android、iOS、Mac等操作系统,系统支持HTTP、HLS、RTMP等播出协议,具备较强的可拓展性与灵活性。 EasyDarwin的特点包括: 1.开源免费:EasyDarwin以开源的形式发布

    2024年02月20日
    浏览(36)
  • 腾讯云视频点播

      视频点播我去年写过一篇阿里云的,这次写腾讯云。   腾讯云点播(Video on Demand,VOD)基于腾讯多年技术积累与基础设施建设,为有音视频应用相关需求的客户提供包括音视频存储管理、音视频转码处理、音视频加速播放和音视频通信服务的一站式解决方案。   文

    2024年02月08日
    浏览(29)
  • 【开发】视频集中存储/直播点播平台EasyDSS点播文件分类功能优化

    视频推拉流EasyDSS视频直播点播平台,集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。 TSINGSEE青犀视频的EasyDSS平台具有点播文件分类展示方法,有两种实现方式可供用户

    2024年02月09日
    浏览(27)
  • 视频集中存储/直播点播平台EasyDSS点播文件分类功能新升级

    视频推拉流EasyDSS视频直播点播平台,集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。 TSINGSEE青犀视频的EasyDSS平台具有点播文件分类展示方法,有两种实现方式可供用户

    2024年02月09日
    浏览(26)
  • Asp.net视频点播系统

    目录 1 Asp.net视频点播系统前端部分AddVideo 1.1 引用css文件 1.2 添加新影片 1.3 上传影片 Asp.net视频点播系统 前端部分 AddVideo %@ Page language=\\\"c#\\\" Codebehind=\\\"AddVideo.aspx.cs\\\" AutoEventWireup=\\\"false\\\" Inherits=\\\"Vod.AddVideo\\\" % !DOCTYPE HTML PUBLIC \\\"-//W3C//DTD HTML 4.0 Transitional//EN\\\" HTML HEAD titleShowUserOrders/title m

    2024年02月12日
    浏览(33)
  • VOD: 视频共享点播服务实现

    目录 一.项目背景及原理 1.背景 2.原理 二.技术栈及项目环境  1.技术栈 2.项目环境 三. 模块划分 四.遇到的问题及其解决方法 1.查询视频模糊匹配问题 2.前端界面的修改 五.项目预览 六. 最终版代码         前言: 这里实现一个视频点播服务, 可以用来上传视频, 下载视频

    2024年02月08日
    浏览(23)
  • 基于ssm视频点播系统设计与实现论文

    互联网发展到如今也近20年之久,视频信息一直作为互联网发展中的一个重要角色在不断更新进化。视频信息从最初的文本显示到现在集文字、视频、音频与一体,成为一种网络多媒体浏览网站。作为一种媒体传输媒介,视频信息如今也分各个类别,各种形式。本文着重对视

    2024年02月04日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包