编辑: 雨林姑娘 2019-08-01
南京云恩通讯科技有限公司 众云视频连接平台 (Real-time Video Services - RVS ) 视频采集端 SDK 开发指南 Linux Version 3.

2.1 Beta

1 June 30,

2016 南京云恩通讯科技有限公司 目录

1 概述.3

2 名词解释.4

3 修订记录.5

4 接口说明.5 4.1 SDK 初始化及参数设置接口

5 4.1.1 SDK 初始化

5 4.1.2 设置本设备的能力属性.6 4.1.3 设置用户信息[登录名和密码]6 4.1.4 设置采集端设备的名称.7 4.1.5 设置会话数.7 4.1.6 设置镜头数量.7 4.1.7 设置码流数量.8 4.1.8 设置镜头相关的能力属性.8 4.1.9 设置一路视频码流的格式.9 4.1.10 设置麦克风数量.10 4.1.11 设置一路麦克风所采集码流的格式.10 4.1.12 设置采集端的语言.11 4.1.13 设置 sdk 打印信息开关

11 4.1.14 设置采集端设备能力.11 4.2 回调函数及其设置接口.12 4.2.1 设备端连接相关回调函数.12 4.2.2 设备端媒体相关回调函数.14 4.2.3 设备端反向码流接收回调函数.23 4.2.4 设备端信令相关回调函数.25 4.2.5 设备端移动侦测相关回调函数.28 4.2.6 设备端报警传感器相关回调函数.30 4.3 登录接口.32 4.3.1 登录信息设置.32 4.3.2 启动登录.33 4.3.3 退出登录.33 4.4 发送码流接口.33 4.4.1 视频码流传输接口.33 4.4.2 音频码流传输.34 4.5 其它重要接口.34 4.5.1 自定义信令数据发送.34

5 重要数据类型定义.35 5.1.1 登录状态错误码.35

6 示例代码.35

7 备注.39 7.1.1 登录名和密码的管理.39 南京云恩通讯科技有限公司

1 概述 ICHANO SDK 为网络摄像机或智能设备方案商及生产商提供了基于互联网的多媒体连接 服务,使设备方案商通过简明的 API 调用,就能将所采集到的音、视频等多媒体信息通过互 联网传输到用户的手机、电脑上,满足用户的监控、直播、对讲等相关的各种需求. ICHANO SDK 的头文件有rvs_streamer_type.h 、 rvs_streamer_media_type.h 、 rvs_streamer_cmd_type.h、 rvs_streamer_sensor_type.h、 rvs_streamer.h、 rvs_streamer_media.h、 rvs_streamer_sensor.h、rvs_streamer_cmd.h.其中文件名带 type 的头文件中为数据类型和数 据结构的定义, 其余为提供给使用者调用的 API 的接口定义. 我们根据这些 API 的不同作用, 将这些 API 进行了归类, 放到了不同的头文件的文件名中. [这四个头文件的定义, 与android 等其它平台的 ICHANO SDK 中的 streamer、media、cmd、sensor 这四个类的定义相对应],应 用层也可以理解为 ICHANO SDK 的4个模块,每个模块所对应的功能如下图所示: 使用 ICHANO SDK 编程, make 时需要链接这

5 个ICHANO SDK 的库: libcos.a、 libengine.a、 libthirdparty.a、libbusiness.a、libsa.a. 下图中为本 SDK 的调用流程的示意图.较详细的 API 调用流程见本文档第

6 章. 下文中对 ICHANO SDK 的API 进行详细说明时,每一章对应上图中的一个步骤. SDK 初始化及参数设置 回调接口实现 登录 发送码流 (循环调用) rvs_streamer.h rvs_streamer_media.h rvs_streamer_cmd.h rvs_streamer_sensor.h 摄像设备端总体设置 及连接相关 API 摄像设备端信 令相关的 API 摄像设备端报警传 感器相关的 API 摄像设备端媒体流 相关的 API 南京云恩通讯科技有限公司

2 名词解释 本文档中所出现的容易引起歧义的名词,解释如下: 应用层 调用本 SDK 接口的代码, 在本文档中称之为应用层. 本文档第

6 章示例代 码,即为应用层代码的示例. 采集端设备 本文档用采集端设备来表示带有视频采集功能和网络传输功能的智能设 备,即上文所述 网络摄像机或智能设备 或者 摄像设备端 .有时也 简称为 采集端 . 用户 本文档中出现的用户,并不表示使用 ICHANO SDK 的客户,而是指购买了 采集端设备的使用者个人. 观看端 app 安装在用户的手机或电脑上的应用软件,用户可使用该软件来远程连接、 设置采集端并实现各种监控相关的需求,也有时称为 客户端 . 观看端设备 安装了上述观看端 app 的手机或电脑.有时也直接简称为 观看端 . CID 号ICHANO SDK 的云端为每个采集端设备分配的一个识别号码, 由数字组成. 用户第一次使用某个采集端设备时,须在观看端输入该采集端设备的 CID 号码,以区分于其它设备. 当观看端设备与采集端设备处在同一个局域网内时, 用户可以在观看端进 行 局域网内搜索 操作,来获得局域网内的采集端设备的 CID 号. 应用层若需要及时获取CID 号,则可在会话状态[见下文]为E_RVS_SESSION_STATE_CONNECTED 之后调用 CID 号获取接口. 相似地,ICHANO SDK 的云端也为每个观看端设备分配了一个 CID 号,采 集端设备中可用此 CID 号来区分前来访问的不同观看端. 设备 ID 采集端设备生产商为每个采集端设备写入的用于识别的字符串, 可由任意 数字字母组成. ICHANO SDK 的云端将为每一个设备 ID 产生一个独有的 CID 号供用户使用. [设备 ID 号需要事先向南京云恩通信有限公司报备以获得授权,否则无法 获得有效的 CID 号,也无法正常使用本 SDK 的接口] 镜头数 一般情况下,一个采集端设备只装有一个镜头,镜头数为 1.ICHANO SDK 考虑到支持一些特殊设备可能装有

2 个或以上的镜头, 故需要应用层对所 支持的镜头数量进行设置. 镜头索引 一般情况下,一个采集端设备内只有一个镜头,镜头索引[Camera Id]取值 为0.当出现多个镜头时,应用层使用该索引来区分不同的镜头. StreamChannel 一个镜头,通常会有主、次两路码流[也叫主、辅码流],两路码流的视频 的分辨率、帧率、比特率等属性都不同,有时两路码流对应的音频属性也 有区分, ICHANO SDK 以StreamChannel 的概念来表示同一个镜头的不同码 流.并以 StreamCount 和Stream Id 来表示码流的数量和索引. 会话(SESSION) 采集端允许多个观看端同时连接到同一个采集端设备进行实时观看和操 作.采集端为每一个实时连接、观看和操作的观看端建立一个会话,当观 看端退出实时观看页面后,该会话结束. 由于建立会话会增加采集端设备的 CPU 负荷及内存消耗,所以需要应用 层根据采集端设备的实际能力来指定最大支持多少会话. (相应地,该采 集端最多支持多少个观看端同时进行实时连接、观看和操作) 南京云恩通讯科技有限公司 此外, 应用层也可以根据会话的状态, 来管理该会话所占用的应用层资源. PTZ 一般指 Pan/Tilt/Zoom,表示云台的全方位移动及镜头控制;

ICHANO SDK 将屏幕翻转和镜像功能也一并定义到了 PTZ 控制相关的接口中.

3 修订记录 时间 文档版本 修订人 备注 2014-09-01 1.0.0 徐友仁 初稿 2015-01-22 1.0.1 张晓波 SDK 版本更新到 2.0.9 2015-05-25 2.1.0 徐友仁 新版本的 SDK 2016-06-30 3.2.1 张敏 SDK 版本更新到 3.2.1

4 接口说明 4.1 SDK 初始化及参数设置接口 4.1.1 SDK 初始化 此接口为 ICHANO SDK(采集端)的初始化接口.此接口须作为 ICHANO SDK 的第一个 API 进行调用. 接口定义 RVS_INT Rvs_Streamer_Init(const RVS_UC* pucWorkPath, const RVS_UC* pucCachePath, const RVS_UC* pucAppVersion);

参数名称 参数说明 pucWorkPath 工作目录,用于存放 ICHANO SDK 运行所需的配置文件等重要文件. pucCachePath 缓存目录,用于存放录制文件、LOG 文件等允许应用层及用户删除的文件. pucAppVersion 此版本号由应用层填写,当应用的版本有变化时,ICHANO SDK 可以搜集此 信息并与应用的最新版本号进行比对,提醒用户进行版本升级. 返回结果 成功返回 RVS_OK.RVS_OK 的值为 0,下同. 南京云恩通讯科技有限公司 4.1.2 设置本设备的能力属性 此接口设置本采集端设备所支持的能力属性, 设置该能力集可以方便本地资源管理, 观 看端设备也可以获取到该设备的能力属性从而设计出更适合该设备的 UI 页面. 接口定义 RVS_INT Rvs_Streamer_SetCapacity(const ST_RVS_STREAMER_CAPACITY* pstCapacity);

参数名称 参数说明 pstCapacity 能力参数 typedef struct ST_RVS_STREAMER_CAPACITY { RVS_UI uiRunMode;

/** 0x00 Manual Run;

0x01 Auto Run;

0x02 Background Run;

0x04 Suspend Run;

*/ RVS_UI uiRecordMode;

/** 0x00 No Record;

0x01 Record by the third party;

0x02 Record by SDK;

*/ RVS_UI uiTimeZoneMode;

/** 0x00 Not Support set timezone;

0x01 Support. */ RVS_UI uiEchoCancelMode;

/** 0x00 Not support echo cancel, 0x01 Support. */ RVS_UI uiWlanMode;

/** 0x00 NOT support;

0x01 Support Command setting;

0x02 Support Sound setting;

0x04 Support Broadcast setting;

0x08 Support AP setting;

0x10 Support QRCode setting;

*/ }ST_RVS_STREAMER_CAPACITY;

此结构体的成员变量的取值是按位定义的.比如 uiRunMode=3,则说明支 持0x01AutoRun 和0x02Background Run 两个 runMode,即支持开机自动运 行和后台运行这两个运行模式,不支持 SuspendRun,即不支持休眠唤醒运 行模式. 录制模式参数 uiRecordMode 的取值, 若取 0x01, 则表示录制功能由第三方 实现,若取 0x02,则表示录制功能由 sdk 内部实现. uiEchoCancelMode 表示是否支持回音消除,若应用层支持回音消除,则对 应的观看端设备可以做相应支持. uiWlanMode 表示 wifi 设置方式,取值如上所示;

返回结果 成功返回 RVS_OK. 4.1.3 设置用户信息[登录名和密码] 此接口,将应用层所获取到的当前的最新的登录名和密码设置给 ICHANO SDK,供ICHANO SDK 对观看端用户的权限进行验证.详见附录 7.1.1 的描述. 南京云恩通讯科技有限公司 接口定义 RVS_INT Rvs_Streamer_SetUserNameAndPwd(RVS_UC* pucUserName, RVS_UC* pucPwd);

参数名称 参数说明 pucUserName 用户名 pucPwd 密码 返回结果 成功返回 RVS_OK. 4.1.4 设置采集端设备的名称 此接口允许为采集端设备设置较为个性化的名称, 此名称将会显示在观看端的用户操作 界面.注意,此接口需在 4.2.1 中的 pfunLoginResult 回调函数中的 enLoginState 返回成 功E_RVS_LOGIN_STATE_CONNED 后调用才有效. 接口定义 RVS_INT Rvs_Streamer_SetDeviceName(const RVS_UC* pucDeviceName);

参数名称 参数说明 pucDeviceName 采集端设备名称 返回结果 成功返回 RVS_OK. 4.1.5 设置会话数 本接口所设置的会话数, 为同一时间该采集端设备所能支持的观看端连接数量的最大值. 本SDK 的使用者应根据采集端产品的软硬件能力自行确定. 接口定义 RVS_INT Rvs_Streamer_SetSessionMaxNum(RVS_INT iMaxSessionNum);

参数名称 参数说明 iMaxSessionNum 同一时间该采集端设备支持的观看端连接数量的最大值 返回结果 成功返回 RVS_OK. 4.1.6 设置镜头数量 一般情况下一个采集端设备只有

1 个镜头,此值设置为 1;

少数设备可能会存在多个镜 头的情况. 南京云恩通讯科技有限公司 接口定义 RVS_INT Rvs_Streamer_Media_SetCameraCount(RVS_UI uiCount);

参数名称 参数说明 uiCount 采集端设备的镜头数量 返回结果 成功返回 RVS_OK. 4.1.7 设置码流数量 同一个镜头,常常会录制为主、次两路码流. 接口定义 RVS_INT Rvs_Streamer_Media_SetCameraStreamCount(RVS_INT iCamId, RVS_UI uiStreamCount);

参数名称 参数说明 iCamId 镜头索引,........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题