阿里云推断流回调的简单介绍
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
今天给各位分享阿里云推断流回调的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
- 1、安卓视频播放(阿里云视频点播播放器SDK+SurfaceView)
- 2、阿里云物联网平台 - 物模型
- 3、day06项目【整合阿里云OSS和Excel导入分类】
- 4、老师,请问阿里云直播的推流回调过来的数据怎么进行获取,处理
安卓视频播放(阿里云视频点播播放器SDK+SurfaceView)
本篇文章讲述使用阿里云视频视频播放sdk中的高级播放器加上SurfaceView实现,采用id+STS方法进行视频播放。
流程:用户App获取STS凭证 - 服务端下发STS凭证 - 用户上传视频并获取vid - 服务端获取STS凭证 - 将STS凭证下发给客户端 - 完成视频播放。
请看阿里云文档=========》》》》》》 阿里云-高级播放器Android使用说明
接下来我们来看一下安卓给我们提供的手势控制类
接口
setOnTouchListener(this);
其中定义了四种状态 NONE = 0, VOLUME = 1, BRIGHTNESS = 2, FF_REW = 3;
接下来我们来看一下我们自定义的SurfaceViewOnGestureListener继承 GestureDetector.SimpleOnGestureListener主要用到了
onDown(MotionEvent e)
onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)两个方法
a.在onDown的时候把状态设置NONE
b.判断横向滑动的距离大于纵向滑动的距离,就把模式赋值为快进和后退
c.在onScroll中进行状态赋值,根据滑动的距离,如果按下的点在屏幕的左半部分就吧状态设置为调节亮度BRIGHTNESS,如果在右半部分就是调节音量
d.各种情况调用各自的接口方法
快进和后退,我们需要知道的就是我们滑动的距离如何与视频的长度关联起来。
那么咱们就可以把视频的总长度与屏幕的总长度相比,这样就能知道你手指滑动的距离占视频的多少了。
我们可以通过 l = duration / mySurfaceView.getWidth();来获得这个比例,然后用当前的进度加上指滑动的距离占视频的长度就是要播放的视频位置
抬起点的x坐标与按下点的X坐标所得的距离,大于0是快进,小于零是后退。
系统的音量有很多,包括通话音量值,系统铃声值,音乐音量值,闹铃音量值,等等吧。
做一下笔记以备以后用到
视频播放我们用的是音乐音量值,同样的道理,我们需要把音量和高度进行关联,我们可以控件的高度闭上最大音量得出比例后就可以知道你滑动的距离占音量的多少了。
这里有个注意点就是activity是当前的这个界面,设置的是当前的界面,离开这个界面后就不管用了。
相同的道理和滑动调节音量一样也是获得屏幕的高度比上最大的亮度,然后计算滑动的距离转换成亮度是多少。(这里不多讲了)
为什么会出现黑屏,就是按Home键再点App回来后,只有声音没有图片的问题,因为我们用的是SurfaceView,每次点击Home键时会销毁这个SurfaceView,再回来时又会重新创建,这样我们的阿里云播放器与SurfaceView就没有绑定了,画面就没有了。
这样我们需要 给surfaceView添加mySurfaceView.getHolder().addCallback(this);
我们在按home键的时候会走surfaceDestroyed。这样,我们就可以在这里做一个标识,让他暂停,然后再回来的时候就会走surfaceCreated,判断标识,然后进行处理就可以了。切记一定要重新让aliyunVodPlayer与SurfaceView进行关联,这样才能有画面也有声音。
由于我们的视频在阿里云的服务器上存着,访问阿里云的服务器需要临时凭证,我们通过STS来获取Token,但是这个Token是有时间限制,正好阿里云的播放器给我们提供了播放视频出错时候的回调接口,我们只需要在这里面进行重新请求Token就可以了
阿里云物联网平台 - 物模型
物模型是云平台为物联网产品定义的数据模型,用于描述产品的功能。将产品抽象成数据的集合,方便云端进行控制。
物模型从 属性 、 服务 和 事件 三个维度,分别描述了该实体是什么、能做什么、可以对外提供哪些信息。定义了物模型的这三个维度,即完成了产品功能的定义。
TSL 格式是一个 JSON 格式的文件,完整的 TSL 格式可以参考: 阿里云物模型 。
嵌入式端开发固件往往只需要关注少数几个参数,可以在产品的 功能定义 页面,单击 物模型TSL , 精简物模型 里面查看。
需要关注的有 "properties","events","services",在 JSON 格式里,这三者都是数组,分别存储了该物模型的数据,事件和服务,在 C-SDK 里也就分别是 IOT_Linkkit_Report() 上报属性, IOT_Linkkit_TriggerEvent() 触发事件和注册为 ITE_SERVICE_REQUEST 的回调函数。
在上报属性时,只需要关注 "identifier" 名称对应的值(字符串),此时表示该属性在产品下的唯一标识。例如一个精简物模型属性为:
则上报的数据只需要为 {"count":10} 即可,需满足 JSON 字符串的格式,字符串内有一个名称/值对,名称为 "count"(物模型里 "identifier" 的值),值对为 10(满足物模型里数据类型为 int 的要求)。
触发事件需要关注 "identifier" 名称对应的值(字符串),表示该事件在产品下的唯一标识;还需要关注 "outputData",表示上报事件的输出值。一个精简物模型例子如下:
"outputData" 数组的使用与属性上报一致,这里就不介绍了。
服务调用需要同时关注 "identifier","inputData" 和 "outputData" 这三个名称,分别表示该服务在产品下的唯一标识,服务的输入参数,服务的输出参数。与函数调用有输入值和输出值类似,服务调用也有这些特征。
物模型数据校验方式目前有两种, 弱校验 和 免校验 。
也就是说,弱校验针对产品设备的上报数据,只要 idetifier 是一致的,且 dataType 字段满足要求,就接收该数据,并且在其他云端产品流转。
为什么云端可以设置和获取接入设备的属性呢?为什么接入设备可以上报事件给云端呢?又为什么云端可以调用接入设备提供的服务呢?这就是这一小节解释的内容。
物模型基于 MQTT 协议,MQTT 协议的介绍不在此处展开。
云端定义了一系列的 Topic,在设备接入云端时,C-SDK 向 MQTT broker 订阅了一些的 Topic,而云端需要与设备交互时,就向 MQTT broker 发布相应的 Topic,这样就完成了交互过程。同理,云端也会订阅一些 Topic,设备可以向这些 Topic 发布消息。
接入设备端订阅发布的 Topic 列表如下:
其中 ${productKey} 会替换为实际的产品名,${deviceName} 会替换为实际的设备名,${tsl.event.identifier} 是事件的标识符,${tsl.service.identifier} 是服务的标识符,最大限度地保证了 Topic 的唯一性。
这些 Topic 的作用在后面用时序来描述。
day06项目【整合阿里云OSS和Excel导入分类】
为了解决海量数据存储与弹性扩容,项目中我们采用云存储的解决方案- 阿里云OSS。
1、开通“对象存储OSS”服务
(1)申请阿里云账号
(2)实名认证
(3)开通“对象存储OSS”服务
(4)进入管理控制台
2、创建Bucket
选择:标准存储、公共读、不开通
3、上传默认头像
创建文件夹avatar,上传默认的用户头像
1、在service模块下创建子模块service-oss
2、配置pom.xml
service-oss上级模块service已经引入service的公共依赖,所以service-oss模块只需引入阿里云oss相关依赖即可,
service父模块已经引入了service-base模块,所以Swagger相关默认已经引入
3、配置application.properties
4、logback-spring.xml
5、创建启动类
创建OssApplication.java
6、启动项目
报错 :
spring boot 会默认加载org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration这个类,
而DataSourceAutoConfiguration类使用了@Configuration注解向spring注入了dataSource bean,又因为项目(oss模块)中并没有关于dataSource相关的配置信息,所以当spring创建dataSource bean时因缺少相关的信息就会报错。
即可成功:
1、从配置文件读取常量
创建常量读取工具类:ConstantPropertiesUtil.java
使用@Value读取application.properties里的配置内容
用spring的 InitializingBean 的 afterPropertiesSet 来初始化配置信息,这个方法将在所有的属性被初始化后调用。
2、文件上传
创建Service接口:uploadFileAvatar.java
实现:OssServiceImpl.java
参考SDK中的:Java-上传文件-简单上传-流式上传-上传文件流
3、控制层
创建controller:FileUploadController.java
4、重启oss服务
5、Swagger中测试文件上传
解决上传文件覆盖问题:
测试:
6、配置nginx反向代理
配置nginx实现请求转发的功能:
验证:
1、复制头像上传组件
从vue-element-admin复制组件:
vue-element-admin/src/components/ImageCropper
vue-element-admin/src/components/PanThumb
2、前端参考实现
src/views/components-demo/avatarUpload.vue
3、前端添加文件上传组件
src/views/edu/teacher/save.vue
template:
引入组件模块:
4、设置默认头像(也可不设置)
onfig/dev.env.js中添加阿里云oss bucket地址
组件中初始化头像默认地址
5、js脚本实现上传和图片回显
二、测试文件上传
前后端联调
1、数据导入:减轻录入工作量
2、数据导出:统计信息归档
3、数据传输:异构系统之间数据传输
1、EasyExcel特点
Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的full gc。
EasyExcel是阿里巴巴开源的一个excel处理框架, 以使用简单、节省内存著称 。EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘上一行行读取数据,逐个解析。
EasyExcel采用一行一行的解析模式,并将一行的解析结果以观察者的模式通知处理(AnalysisEventListener)。
1、创建一个普通的maven项目
项目名:excel-easydemo
2、pom中引入xml相关依赖
3、创建实体类
设置表头和添加的数据字段
4 、实现写操作
TestEasyExcel.java
(1)创建方法循环设置要添加到Excel的数据
(2)实现最终的添加操作(写法一)
(3)实现最终的添加操作(写法二)
public static void main(String[] args) throws Exception {
// 写法2,方法二需要手动关闭流
//实现excel写的操作
//1 设置写入文件夹地址和excel文件名称
String filename = "F:\\write.xlsx";
ExcelWriter excelWriter=EasyExcel.write(fileName,DemoData.class).build();
WriteSheet writeSheet=EasyExcel.writerSheet("写入方法二").build();
excelWriter.write(data(),writeSheet);
/// 千万别忘记finish 会帮忙关闭流
excelWriter.finish();
}
1、创建实体类
2、创建读取操作的监听器
3、调用实现最终的读取
public class TestEasyExcel {
public static void main(String[] args) {
//实现excel读操作
// 写法1:
String filename = "F:\\write.xlsx";
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
EasyExcel.read(filename,DemoData.class,new ExcelListener()).sheet().doRead();
// 写法2:
InputStream in = new BufferedInputStream(new FileInputStream("F:\\01.xlsx"));
ExcelReader excelReader = EasyExcel.read(in, DemoData.class, new ExcelListener()).build();
ReadSheet readSheet = EasyExcel.readSheet(0).build();
excelReader.read(readSheet);
// 这里千万别忘记关闭,读的时候会创建临时文件,到时磁盘会崩的
excelReader.finish();
}
1、编辑Excel模板
2、将文件上传至阿里云OSS
1、添加路由
2、添加vue组件
1、js定义数据
2、template
3、js上传方法
4、回调函数
1、service-edu模块配置依赖
1、EduSubjectController
2、创建和Excel对应的实体类
3、EduSubjectService
(1)接口
(2)实现类
4、创建读取Excel监听器
1、参考 views/tree/index.vue
2、创建api
api/edu/subject.js
3、list.vue
1、创建vo
2、创建controller

老师,请问阿里云直播的推流回调过来的数据怎么进行获取,处理
这样做无意义,直播平台已经提供了同样的功能,到时你可以考虑利用这个服务构建你自己的直播平台
阿里云推断流回调的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、阿里云推断流回调的信息别忘了在本站进行查找喔。
推荐阅读
-
四川路桥(600039.SH)获准发行不超30亿元公司债券
四川路桥(600039.SH)公告,2023年6月6日,公司收到中国证券监督管理委员会下发的《中国证监会关于四川路桥建设集团股份有...
-
受益产品涨价 金宝汤Q3利润超预期
美东时间6月7日美股盘前,金宝汤(CPB.US)公布了2023财年第三季度业绩。受益于多轮涨价,该公司Q3利润超出了华尔街预期。财...
-
正式分家!周鸿祎与前妻离婚股份过户完成,最新市值68亿元
在签订离婚协议两个多月后,三六零实际控制人周鸿祎与前妻胡欢完成了股份转让,正式“分家”。 6月6日晚,三六零(601360...
-
阿根廷男足北京行首轮门票售罄!梅西效应疯狂:有酒店房价飙至11万/晚
阿根廷男足北京行首轮门票售罄!梅西效应疯狂:有酒店房价飙至11万/晚 林心林 来源:时代财经 自去年在卡塔尔捧得...
-
我市整治虚假 违法广告联席会召开
拉萨融媒讯(记者赵耀铁)为进一步加强我市广告市场监管力度,持续规范广告市场秩序,近日,拉萨市整治虚假违法广告联席会议办公室...
-
西部证券-TCL中环-002129-跟踪点评报告:看好六月中旬开工率提升,海外建厂或引动产业链出海潮-230606
硅片库存有望见底,看好六月中旬开工率回升。根据infolink数据,当前硅片厂家皆以去库存化为首要目标,除了硅片价格持续下降外...
-
杉杉品牌预期将于8月4日或之前派发末期股息每股0.04元
杉杉品牌(01749)发布公告,建议派发截至2022年12月31日止年度末期股息每股人民币0.04元(税前)的决议案已获正式...
-
欧盟敦促大型科技公司提醒用户人工智能存在的“阴暗面”
欧盟希望科技公司提醒用户,人工智能(AI)生成的内容有可能导致虚假信息。 虽然新的AI技术“可以充当正面力量”,但是也存在...
-
苹果为演示MR头显搭了一个“大型建筑”?终于有人拍清楚了
财联社 北京时间周二凌晨,苹果将在加州总部举行WWDC23。考虑到库克有望在这次会议上拿出被称为“RealityPro”...
-
所罗门环球控股(08133.HK)拟"10合1"并股后按"2供1"进行供股
来源:格隆汇格隆汇6月5日丨所罗门环球控股(08133.HK)公告,董事会建议按将公司股本中每十(10)股每股面值0.08港元的...
