Android 取流播放获取资源SDK使用说明书.docx

上传人:b****8 文档编号:9652502 上传时间:2023-02-05 格式:DOCX 页数:13 大小:61.33KB
下载 相关 举报
Android 取流播放获取资源SDK使用说明书.docx_第1页
第1页 / 共13页
Android 取流播放获取资源SDK使用说明书.docx_第2页
第2页 / 共13页
Android 取流播放获取资源SDK使用说明书.docx_第3页
第3页 / 共13页
Android 取流播放获取资源SDK使用说明书.docx_第4页
第4页 / 共13页
Android 取流播放获取资源SDK使用说明书.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Android 取流播放获取资源SDK使用说明书.docx

《Android 取流播放获取资源SDK使用说明书.docx》由会员分享,可在线阅读,更多相关《Android 取流播放获取资源SDK使用说明书.docx(13页珍藏版)》请在冰豆网上搜索。

Android 取流播放获取资源SDK使用说明书.docx

Android取流播放获取资源SDK使用说明书

 

AndroidSDK使用说明文档

 

目录

一.文档阅读说明3

二.SDK内容说明3

三.3.0SDK使用说明4

(1)登录流程:

4

(2)获取资源流程:

4

(3)获取设备信息6

(4)获取播放地址6

(6)远程回放查询接口7

(7)获取的监控点主要作用如下图所示:

8

四.2.0SDK使用说明11

 

一.文档阅读说明

非常感谢您选购我们公司的产品,申请我们的SDK进行二次开发。

温馨的提醒您在开发前请您对整个说明文档进行仔细阅读,以便整体的了解开发流程。

二.SDK内容说明

该文档主要针对手机客户端iVMS-5060取流播放SDK进行说明,文档介绍区分手机客户端2.0和3.0版本。

2个版本的SDK区分如下:

功能

2.0SDK

3.0SDK

取流方式

支持MAG

支持MAG、VTDU(区分主子码流)

资源获取方式

通过WebView加载平台返回的URL(平台实现,手机客户端只需要实现webview相关内容)

通过VmsNetSDK.jar网络库进行获取资源(需要在手机客户端实现)

是否支持远程回放

以上是2.0SDK和3.0SDK的主要区别,开发者可以根据平台目前支持的手机客户端版本进行选择,如果该平台支持手机客户端iVMS-5060V2.0系列版本,则需要使用2.0版本的SDK,如果该平台支持手机客户端iVMS-5060V3.0系列版本,则需要使用3.0版本的SDK。

具体平台支持哪个版本的手机客户端,需要咨询平台相关开发人员。

三.3.0SDK使用说明

系统框架图如图3-1所示:

图3-13.0手机客户端与平台系统架构图

(1)登录流程:

首先要获取线路也就是调用getLineList接口

其次调用登录接口login接口,该接口中会用到getLineList接口中返回的线路(具体参考SDKdemo中相关接口注释)

(2)获取资源流程:

获取资源流程,用到的接口有5个

getControlUnitList:

获取控制中心的列表

getRegionListFromCtrlUnit:

从控制中心中获取区域列表

getRegionListFromRegion:

从区域获取区域列表

getCameraListFromCtrlUnit:

从控制中心获取监控点列表

getCameraListFromRegion:

从区域获取监控点列表

以上各个接口的参数说明参考SDKdemo中相关接口注释。

流程如下:

首先获取根目录下的资源信息,根目录也就是控制中心,所以需要调用如下接口

控制中心如图3-2所示

图3-2获取根目录下的资源信息

1.getControlUnitList

2.getRegionListFromCtrlUnit

3.getCameraListFromCtrlUnit

以上接口调用完成后,展示的数据是根目录下所有的控制中心、区域和监控点。

当需要获取根目录下控制中心下的数据时,同样需要调用以上3个接口。

注:

只要是获取控制中心下的数据,都需要调用以上3个接口。

当需要获取区域下数据时,需要调用如下接口,区域展示如图3-3所示:

图3-3获取控制中心下资源

1.getRegionListFromRegion

2.getCameraListFromRegion

以上接口调用完成后,展示出该区域下所有的区域和监控点

注:

只要是获取区域下的数据,都需要调用以上接口。

客户可以根据实际情况将资源列表做成树形结构或者是目前我们手机客户端3.0版本展示的方式(如果层次过深,建议采用我们手机客户端的展示方式)。

(3)获取设备信息

3.0SDK可以通过平台获取设备信息:

getDeviceInfo

调用该接口需要平台地址,登录成功的会话ID(登录成功接口中获取)、监控点ID(资源获取到的监控点对象的一个属性ID)、设备ID(资源获取到的监控点对象的一个属性ID),、返回设备信息的对象(该对象是一个类似指针形式的对象)。

设备信息包含以下内容设备名称、设备编号、设备IP、设备端口、登录设备的用户名(这个是登录设备的用户名,并不是登录平台的用户名)、登录设备的密码(这个是登录设备的密码,并不是登录平台的密码,和登录设备用户名对应)、设备类型、设备供应商等。

(4)获取播放地址

3.0SDK获取播放地址是通过以下接口实现的

getRealPlayURL

调用该接口需要平台地址、登录成功的会话ID(登录成功接口中获取)、监控点ID(资源获取到的监控点对象的一个属性ID)、码流类型、返回播放地址的对象(该对象是一个类似指针形式的对象)。

对于码流类型,如果传入0,在返回的播放地址对象中url1表示主码流,url2表示MAG;如果传入1,在返回的播放地址对象中url1表示子码流,url2表示MAG。

开发者可以根据需要选择对象的码流(清晰度以主码流最为清晰,流畅度以MAG最为流畅)。

(5)云台接口

云台接口采用的是UDP协议,只负责发送,接口如下

sendStartPTZCmd

调用该接口需要的参数有:

云台服务器地址(可以从监控点对象中获取,不需要修改)、云台服务器端口(可以从监控点对象中获取,不需要修改)、登录成功后的会话ID、监控点ID、云台命令(int)、速度。

以上参数的具体说明和使用可以参考SDKDemo中接口说明

常用云台命令介绍如下:

1-云台转上

2-云台转下

3-云台转左

4-云台转右

11-云台左上

12-云台右上

13-云台左下

14-云台右下

7-镜头拉近

8-镜头拉远

9-镜头近焦

10-镜头远焦

(6)远程回放查询接口

远程回放时需要从存储介质中查询回放路径,接口如下

queryCameraRecord

需要的参数有平台地址、登录成功后返回的会话ID、监控点ID、录像类型、录像的存储介质、查询录像的开始时间、查询录像的结束时间、查询录像返回的对象

其中开始时间和结束时间格林威治时间,也就是从1970年1月1日的00:

00:

00.000开始的时间,精确到毫秒。

注:

在使用该接口时,请先了解下格林威治时间和Calendar的使用方法,确保传入的时间是需要查询的时间。

存储介质类型:

0-IPSAN

1-设备录像

2-PCNVR

3-ENVR

4-CISCO

5-DSNVR

7-CVR

目前我们只支持单存储介质查询,开发者可以根据需求进行遍历,实现多项查询。

(7)获取的监控点主要作用如下图所示:

图3-4监控点录像查询、实时预览、云台控制操作流程

常见错误及排查方式

N类错误排除方式

N122、N123、N124、N125

1.请检查您手机的网络;

2.请确认服务器是否在线。

N124、N140、N141、N142

1.请向平台确认该平台是否与手机客户端完成对接。

N170

1.请检查流媒体服务器是否开启。

N171

1.请向平台管理员确认是否具有控制权限。

R类错误排除方式

R1

1.重启客户端;

2.更换手机。

R3、R13

1.重启客户端。

R12

1.要求平台查询getDeviceInfo接口返回的设备名称密码是否为空。

R14

1.重启客户端;2.关闭一些别的正在运行的软件。

R17

1.要求平台查询getRealPlayURL接口返回的Rtsp地址是否正确。

R18

1.手机所处的网络是否可以连通流媒体,检查流媒体的网络是否通;

2.请进入“更多”页面,检查通讯线路是否选择正确。

R103、R104、R202、R203、R302、R303、R402、R403、R502、R503、R602、R603、R702、R703、R802、R803

1.网络不好引起,换个时间请求或者换个网络环境。

R101、R105、R106、R204、R205、R304、R305、R404、R405、R504、R505、R604、R605、R704、R705、R804、R805

1流媒体回复信令错误,需要在服务器抓包判断。

R903、R1001

流媒体取流端口不通

1.请检查udp端口是否映射;

2.关闭防火墙。

R1103

流媒体取流端口

1.请检查tcp端口是否映射;

2.关闭防火墙。

M7

Uri解析错误

运行常见错误表

N类错误码及错误描述,主要与CMS进行交互

N100

输入参数错误

N120

创建url对象失败

N121

创建request对象失败

N122

http请求超时

N123

http请求异常

N124

http请求返回非200

N125

http请求返回空

N140

创建datadoc对象失败

N141

获取root节点失败

N142

解析返回状态码和描述失败

N160

不存在数据

N161

URL请求时参数缺少或参数错误

N162

会话错误

N163

用户不存在

N164

密码错误

N165

设备不存在

N166

监控点不存在

N167

线路不存在

N168

控制中心不存在

N169

区域不存在

N170

流媒体没有被启用

N171

没有权限

N172

录像不存在

N173

用户被冻结

N174

用户已经登录

N175

没有支持

N199

未知错误

N198

平台需要提示的错误描述

N200

服务器异常

R类错误码及错误描述,主要与流媒体服务器相关

R 1

HPR初始化失败

R2

消息队列启动失败

R3

RtspClient未初始化

R4

协议不支持

R5

回调参数为空

R6

创建Rtsp引擎失败

R7

分配Rtsp引擎数超过最大数(32)

R8

无效的引擎ID

R9

引擎不存在

R10

引擎为空

R11

开始时间为空

R12

设备名称或者密码为空

R13

错误的基础端口号

R14

内存分配失败

R15

引擎未初始化

R16

MAG、VTDU4.0不支持RtporTcp

R17

Rtsp地址错误

R18

连接流媒体服务器失败

R19

不在播放状态

R101

Describe重定向失败

R102

生成Describe信令失败

R103

发送Describe信令失败

R104

接受Describe信令失败

R105

Describe回复非200OK

R106

Describe解析失败

R201

生成Setup信令失败

R202

发送Setup信令失败

R203

接收Setup信令失败

R204

Setup回复非200OK

R205

解析Setup失败

R301

生成Play信令失败

R302

发送Play信令失败

R303

接收Play信令失败

R304

Play回复非200OK

R401

创建改变速率信令失败

R402

发送改变速率信令失败

R403

接收改变速率信令失败

R404

改变速率回复非200OK

R501

创建强制I帧信令失败

R502

发送强制I帧信令失败

R503

接收强制I帧信令失败

R504

强制I帧回复非200OK

R601

创建随机定位信令失败

R602

发送随机定位信令失败

R603

接收随机定位信令失败

R604

随机定位回复非200OK

R701

创建暂停信令失败

R702

发送暂停信令失败

R703

接收暂停信令失败

R704

暂停回复非200OK

R705

不在暂停状态

R801

创建恢复信令失败

R802

发送恢复信令失败

R803

接收恢复信令失败

R804

恢复回复非200OK

R901

创建RtpUdp引擎失败

R902

初始化RtpUdp引擎失败

R903

开始RtpUdp引擎失败

R1001

创建RtcpUdp引擎失败

R1002

初始化RtcpUdp引擎失败

R1003

开始RtcpUdp引擎失败

R1101

创建RtpTcp引擎失败

R1102

初始化RtpTcp引擎失败

R1103

开始RtpTcp引擎失败

R1201

创建RtpRtsp引擎失败

R1202

初始化RtpRtsp引擎失败

R1203

开始RtpRtsp引擎失败

四.2.0SDK使用说明

如果开发人员使用的3.0的SDK,后面的内容可以不用看。

2.0手机客户端系统结构如图4-1所示:

图4-12.0手机客户端与平台系统架构图

2.0开发相对比较简单,没有资源获取的过程,资源的展示是通过WebView加载平台返回的URL实现的。

登录流程:

2.0登录过程其实是一个加载URL的过程,这个URL是通过平台地址、用户名、密码进行组合的,具体组合方式见2.0SDKDemo中getHttpUrl方法。

开发者可以通过WebView进行加载,后续工作都会在WebView中进行操作,直到跳入预览界面。

2.0SDK开发中,需要注意的是在什么时候跳入预览界面,开发者可以参考2.0SDKDemo中WebActivity中verifyRtspUrl方法,通过判断加载的url是否包含"rtsp:

//"来进行跳转识别。

所以基于2.0SDK开发,只需要在Demo中修改下平台地址、用户名、密码即可,如果开发者需要登录页面,只需要在点击登录按钮时,将平台地址、用户名、密码传递过来即可。

2.0的预览流程,相对较为简单,只有MAG取流方式,在进入预览界面时,只要获取到播放地址就可以点击播放按钮进行预览。

WebActivity向预览界面跳转时会携带URL,以“rtsp:

//”开始的url就是预览地址。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1