专属版设备接入
更新时间:2025-07-04 10:05:24
此章节内容仅针对专属版设备接入进行说明。
概述
在某些私有化部署场景下,设备有其他的信令通道,不使用RTCX的信令通道传输物模型消息和告警信息等数据,只使用RTCX的音视频能力。
此时虽然只需要用到RTCX的视频能力,但是还需要用到一部分RTCX IoTSDK的接口(视频和服务器需要进行私有信令交互)
不过此时需要集成的SDK接口比较简单,下列跟音视频无关的接口都可以不用关注:
API接口名称 | 说明 | |
---|---|---|
xs_stream_inputIotMsg | IoTSDK回调的消息(内部处理掉了) | |
xs_stream_postIntelligentAlarm | 上报智能告警数据 | |
xs_iot_report | 上报物模型信息、以及OTA升级相关消息 | |
xs_iot_report_event | 上报物模型自定义事件 | |
xs_iot_setBindInfo | 设置绑定信息 | |
xs_iot_handleExternalMsg | StreamSDK回调的消息(内部处理掉了) | |
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;
}