阿里云点播录制,上传,播放使用说明及遇到的坑

news/2025/1/13 7:35:20/

项目开发中使用阿里云的点播功能,从中遇到了一堆坑,特写此笔记。希望对使用阿里云点播的伙伴们有所帮助。

一、讲解录制功能

首先赋上阿里云的官方录制文档 https://help.aliyun.com/document_detail/53421.html?spm=5176.doc53407.6.680.S2RrZX

在gradle文件中使用依赖的方式引用aar:

 
  1. compile(name:'xxx',ext:'aar')
这里的XXX就是你导入的arr的name,不包过域名.arr

注意:目前闭源support版本的包必须跟以下版本一致.

 
  1. ```java
  2. compile 'com.android.support:appcompat-v7:24.2.1'
  3. compile 'com.android.support:design:24.2.1'
  4. compile 'com.google.code.findbugs:jsr305:3.0.0'
  5. compile 'com.github.bumptech.glide:glide:3.7.0'
  6. compile 'pub.devrel:easypermissions:0.2.1'
  7. compile 'com.squareup.okhttp3:okhttp:3.2.0'
  8. compile 'com.github.bumptech.glide:okhttp3-integration:1.4.0@aar'
  9. compile 'com.squareup.okio:okio:1.12.0'
  10. compile 'com.google.code.gson:gson:2.8.0'
这里需要把依赖导入进去(必须导入),如果项目中已经有对应的依赖的话就不需要了。

录制基本上也就是这些,下面讲讲录制遇到的问题

1、加载不到.so文件。

肯定是.so文件加载姿势不对,我这边是因为项目中有百度的.so文件导致32位和64位不兼容,在build.gradle加入以下代码

defaultConfig{

ndk {
abiFilters"armeabi-v7a"//如果别的存放.so文件也冲突的话,把文件名继续追加存放就ok。
}

}

特别注意,在录制时候大多数人会遇到了这两个问题

1、Android 基础版本出现java.lang.NoSuchFieldError: No field height of type I in class Lcom/aliyun/snap/snap_core/R$id; or its superclasses (declaration of ‘com.aliyun.snap.snap_core.R$id’ appears in /data/app/com.rablive.jwrablive-2/base.apk:classes2.dex)的错误 

原因:arr中存放着阿里云所需要的xml文件,而其文件名与你本地的xml文件名一样了冲突了,我遇到的更恶心,阿里云的布局文件和引入的三方库布局文件名冲突了,现在想起来也来气。所以遇到这个问题的时候,即时你查找了半天的xml文件也没发现冲突,不要怀疑解决方案,一定是xml冲突了。把你引入的第三方库gradle以library形式引入或者直接复制到你的项目中,查找是否与第三方冲突。


2、Android 基础版出现java.lang.NoSuchFieldError: No static field notification_template_lines of type I in class Lcom/aliyun/snap/snap_core/R$layout; or its superclasses (declaration of ‘com.aliyun.snap.snap_core.R$layout’ appears/data/app/com.Aliyun.AliyunVideoSDK.VodSaaSDemo_android-1/base.apk)

原因:阿里云所需要的配置环境就是support包24.2.1下才可运行,所以你很明智的按照文档上把本地app的gradle改成了24.2.1,但并没有什么卵用。因为你还有三方库啊!!!
三方库的配置可不一定是24.2.1,所以解决办法依旧是把三方库以library形式导入或者代码复制到项目中,再来修改三方的gradle配置。大喘气的,这玩意把我坑去了。

录制基本上完事了。

上传和播放都挺简单的,按照文档上来就ok,没有遇到什么坑。
上传SDK文档:https://help.aliyun.com/document_detail/52207.html?spm=5176.doc51789.6.675.DrXj86
播放SDK文档:https://help.aliyun.com/document_detail/51789.html?spm=5176.7757374.6.657.sQFQ8y

那也简单说一下可能疑惑的地方吧!!

1、上传:添加上传文件
  1. uploader.addFile("<uploadFilePath>",
  2. "<videoInfo>");
  3. uploadfilePath是上传视频的本地路径
  4. videInfo:上传视频同时你也可能要上传比如视频的时长,封面,视频描述等。开发中通过VodInfo操作
执行start之前先设置上传凭证和地址才可成功uploader . setUploadAuthAndAddress ( uploadAuth , uploadAddress );

2、播放:--阿里云提供的播放支持远程和本地播放(文档确实破,好多方法都是没有的,但文档上有。郁闷)

一:本地播放(文档是没有说明播放本地,所以记录一下)

private AliyunVodPlayer aliyunVodPlayer;
aliyunVodPlayer = new AliyunVodPlayer(this);
//设置播放的surface
aliyunVodPlayer.setDisplay(surfaceView.getHolder());
surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {@Override
    public void surfaceCreated(SurfaceHolder holder) {aliyunVodPlayer.setDisplay(holder);}@Override
    public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {aliyunVodPlayer.surfaceChanged();}@Override
    public void surfaceDestroyed(SurfaceHolder holder) {}
});
AliyunLocalSource.AliyunLocalSourceBuilder asb = new AliyunLocalSource.AliyunLocalSourceBuilder();
asb.setSource(path);
AliyunLocalSource mLocalSource = asb.build();
aliyunVodPlayer.prepareAsync(mLocalSource);
 
我的项目中使用的是基础版的(只因公司穷),基础版改变不了ui界面,只能根据提供的style来替换图标。很low的!!
获取视频默认显示第一帧图片、视频大小、播放时长阿里云没有提供,需要自己通过java来获取。不会的可以问度娘耶。
 
就到这了,到饭点啦。希望对阿里云的伙伴有一点点帮助





http://www.ppmy.cn/news/364627.html

相关文章

腾讯云点播播放器TCPlayer开发文档整理edusoho

首先在你的页面中引入css、js文件 <link href"https://imgcache.qq.com/open/qcloud/video/tcplayer/tcplayer.css" rel"stylesheet"><!--如果需要在 Chrome 和 Firefox 等现代浏览器中通过 H5 播放 HLS 格式的视频&#xff0c;需要在 tcplayer.…

阿里云直播、直播录制和点播

近来公司有个直播类的项目&#xff0c;让我调研下阿里云直播&#xff0c;花了3、4天调研结束后&#xff0c;做下笔记&#xff0c;一方面自己日后便于查看&#xff0c;另一方面与大家做个交流&#xff0c;有说的不正确的。欢迎指正。 需求说明&#xff1a;本项目有三个媒体端&a…

腾讯云云直播、云点播

• 前言 • 一、腾讯云云直播、云点播 • 二、智能编排播控系统 • 1.智能编排播控系统之节目编排 • 2.智能编排播控系统之节目制作 • 3.智能编排播控系统之节目播放 • 三、云直播、云点播的安全能力 • 四、云直播、云点播接入简单 前言 智能编排播…

脑机直播 x 赛博驱魔!瑞云专访揭秘胶囊计划国风科幻神作《终极体验》制作幕后...

2021年11月B站发起了一个以扶持国内动画人为愿景与出发点的特别项目《胶囊计划》&#xff0c;以搭建一条全新的道路探索未来行业的方式。Renderbus瑞云渲染一直十分关注国创动画的发展&#xff0c;刚刚结束的2022年小宇宙计划就是由B站主办瑞云协办的青年动画赛事&#xff0c;胶…

腾讯云云点播 VOD产品概述和产品架构,云点播 VOD提供端到端的一站式音视频点播解决方案

腾讯云云点播 腾讯云点播&#xff08;Video on Demand&#xff0c;VOD&#xff09;基于腾讯多年技术积累与基础设施建设&#xff0c;为有音视频应用相关需求的客户提供包括音视频存储管理、音视频转码处理、音视频加速播放和音视频通信服务的一站式解决方案。腾讯云产品动态 …

非迅雷会员免费看云点播方法,无需软件享官方云点播

请使用最新评论下方的版本&#xff01;大家可以收藏本帖&#xff0c;以后会不定期的更新&#xff0c;所有以别再转载了&#xff0c;低调、低调&#xff01; 迅雷云点播破解脚本&#xff08;Xunlei.Any.Player&#xff09;支持 Chrome、Firefox、Opera、搜狗浏览器及所有基于chr…

腾讯云点播集成

今天公司视频要从CC替换成腾讯云&#xff0c;脑壳疼 但是也要硬着脑壳上 首先先把腾讯云视频超级播放器集成到项目里&#xff01; 1、登陆腾讯云视频官网&#xff0c;下载sdk开发包 2、我使用的是导入源码的方式&#xff0c;方便修改需求。如果不需要的话也可以直接导入aar包方…

【项目】视频点播系统

目录 一、项目介绍1. 对视频点播系统的认识2. 服务端功能模块划分 二、环境搭建2.1 升级GCC2.2 安装JsonCpp库2.3 引入httplib库2.4 MySQL数据库及开发包安装 三、第三方库的认识3.1 认识JsonCpp3.2 JsonCpp实现序列化3.3 JsonCpp实现反序列化3.4 认识MySQL数据库的API3.5 使用…