跳到主要内容

专属版设备接入

更新时间:2025-07-04 10:05:24

此章节内容仅针对专属版设备接入进行说明。

概述

在某些私有化部署场景下,设备有其他的信令通道,不使用RTCX的信令通道传输物模型消息和告警信息等数据,只使用RTCX的音视频能力。

此时虽然只需要用到RTCX的视频能力,但是还需要用到一部分RTCX IoTSDK的接口(视频和服务器需要进行私有信令交互)

不过此时需要集成的SDK接口比较简单,下列跟音视频无关的接口都可以不用关注:

API接口名称说明
xs_stream_inputIotMsgIoTSDK回调的消息(内部处理掉了)
xs_stream_postIntelligentAlarm上报智能告警数据
xs_iot_report上报物模型信息、以及OTA升级相关消息
xs_iot_report_event上报物模型自定义事件
xs_iot_setBindInfo设置绑定信息
xs_iot_handleExternalMsgStreamSDK回调的消息(内部处理掉了)
xs_iot_set_timezone设置时区信息

RTCX IoTSDK相关的所有回调接口都不需要处理(xs_logCallback日志回调接口建议处理一下,便于分析问题)

RTCX StreamSDK只需要处理直播、回放和抓图相关的回调函数

启动流程和通用版SDK一致,流程如下:

图片无法显示

专属版独有接口

和通用版相比,专属版增加了下列接口,需要接入者进行处理。

云录像开关接口

和通用版不同,专属版云录像开关通过外部控制,外部根据套餐和用户录像计划等信息,通过如下接口通知SDK启动或者停止云录像:

/** 
* @brief: 发送控制命令
* @param [IN] devAuth :设备认证信息,如果命令和设备无关,可以填NULL
* @param [IN] cmdType: 命令类型
* @param [IN] param: 命令对应的参数
* @notice:
* 2. cmdType = XS_STREAM_COMMAND_START_CLOUD_RECORD时, param 为 xs_streamIndex_st类型指针,通知SDK启动云录像
* 3. cmdType = XS_STREAM_COMMAND_STOP_CLOUD_RECORD时, param 为 xs_streamIndex_st类型指针,通知SDK停止云录像
*/
xs_int32 xs_stream_sendCmd(xs_deviceAuth_st* devAuth, xs_streamCmd_en cmdType, void* param);

使用示例可以参考sdkdemo中相关代码:

            case 108:
{
//开始手动录像,仅针对私有化部署设备生效
xs_streamIndex_st idx = {0};
idx.devId = devAuth.devId;
idx.lensId = 0;
idx.streamId = 0;
xs_stream_sendCmd(&devAuth, XS_STREAM_COMMAND_START_CLOUD_RECORD, &idx);
break;
}
case 109:
{
//停止手动录像,仅针对私有化部署设备生效
xs_streamIndex_st idx = {0};
idx.devId = devAuth.devId;
idx.lensId = 0;
idx.streamId = 0;
xs_stream_sendCmd(&devAuth, XS_STREAM_COMMAND_STOP_CLOUD_RECORD, &idx);
break;
}