实时互动-工业能源版 新手指引

根据 Demo 体验 页面引导,需要完成以下操作2. 完成项目创建、现场设备创建和远端设备创建。

相关产品
实时互动-工业能源版 产品页,含版本规格、价格与购买入口。

注意:说明:

注意:建议先了解基础概念,再根据指引开始进行 Demo 体验和 SDK 开发集成。

一、基础概念

名词 说明
现场设备 在作业现场需要被监控或操控的设备, 常见如机器人、车辆、工程机械、无人机等,主要作为视频推流端。
远端设备 在远端对现场设备进行操控或者视频观看的设备, 常见如电脑、驾驶舱、手机、平板、VR 等,主要作为视频观看端。
会话权限 远端设备与现场设备建立会话的权限。拥有会话权限的远端设备可查看现场设备在线状态、订阅现场设备音频和视频、收取现场设备消息等。
控制权限 远端设备对现场设备下发控制消息/音频数据的权限。一个现场设备默认只能授予一个远端设备控制权限(master 权限),但可授予多个远端设备观看权限(guest 权限)。如需同时授予多个远端设备 master 权限,启动配置需加入 multiple_master:1。
项目 ID 项目标识。一个账号可创建不同项目进行管理,彼此间设备隔离。每个项目可单独查看总用量和会话统计数据。
设备 ID 项目下的设备标识,项目下唯一。与项目 ID 可共同构成全局唯一设备 ID,projectID/deviceID。
设备密码 用于设备接入验证的密码,又称为设备 token。设备接入时会基于设备密码生成验证信息与云端校验。 设备密码可通过接口更新, 或者基于项目共享密钥签名生成。详细参见 免注册登录与临时会话授权。
配置 JSON 用于 SDK 初始化的 JSON 配置,可设置 SDK 的接入信息并配置 SDK 功能选项。详细参见 现场设备配置说明 和 远端设备配置说明。
视频流 ID 现场设备下的视频流标识,以0开始编号,与配置 JSON 中 streams_config 数组元素编号一致,最大值为设备总流数(device_streams)-1。
视频流接收句柄 远端设备用于接收视频流的句柄标识,每个句柄只能同时拉取一路视频流,可与视频渲染窗口关联。详细参见 视频观看与切流。
按需推流 现场设备默认按需推流,即有远端设备订阅时才会推送视频流。计费也是按实际远端设备订阅会话时长进行计费。如需强制推流可通过配置开启。
视频接入授权 预付费包月时长包,可绑定现场设备。观看对应现场设备视频流的会话时长消耗,都会从绑定时长包中扣减。如果未绑定时长包但开启了后付费,则会按对应用量直接从腾讯云账号按日扣减。
强制登录 同一时间,同一个设备 ID 只能有一个客户端登录。默认后登录客户端会被阻止登录。如果打开强制登录(配置 force_login 为1),后登录客户端会踢除之前登录的客户端。
SDK 证书 SDK 包中 device.pem 证书文件,配置 JSON 会通过 certificate 配置加载该证书文件路径。如果证书文件路径错误或系统时间超出证书有效期范围,可能导致无法连接云服务器。

二、快速体验 Demo

1. 完成业务开通和试用授权申请。

3. 下载对应平台 Demo。

4. 绑定试用视频接入授权到现场设备。

5. 生成配置 JSON,完成配置文件。

6. 运行 Demo 进行体验。

三、查看视频指标

若你遇到卡顿或者视频延迟大的情况,请查看 Demo 显示的指标或根据 会话查看 操作指引查看后台会话详情指标。以下是相关指标的说明。

四、端到端视频指标

·视频延迟:从现场设备到远端设备的视频传输延迟(含编解码)。

·视频卡顿率:远端设备观看的视频卡顿率。100ms/150ms 卡顿率为卡顿时长超过100ms/150ms 的视频卡顿率。高于常规实时音视频200/300ms 门限。

五、现场设备网络指标

·网络 rtt:现场设备到就近接入服务器的网络回环延迟。

·网络 lost:现场设备到服务器网络丢包率。

六、远端设备网络指标

·网络 rtt:远端设备到就近接入服务器的网络回环延迟。

·网络 lost:远端设备到服务器网络丢包率。

七、现场设备视频传输指标

·视频 fps:现场设备推流到服务器的视频传输帧率。

·视频 rate: 现场设备推流到服务器的视频传输码率。

·带宽估计:SDK 估计的现场设备到服务器网络带宽,上限以视频流期望码率之和最大范围估计。

·调控码率:SDK 建议的视频流传输码率,其值为 min(视频流分配带宽,视频流期望码率)。

八、远端设备视频传输指标

·视频 fps:远端设备从服务器接收的视频传输帧率

·视频 rate: 远端设备从服务器接收的视频传输码率

九、其他指标

·现场设备编码耗时:SDK 进行编码时,单帧编码耗时,通常在20ms 以内,典型值约10ms。

·远端设备解码耗时:SDK 进行解码时,单帧解码耗时,通常在20ms 以内, 典型值约10ms。

十、指标优化建议

国内视频延迟指标通常小于100ms。现场设备网络(蜂窝) rtt 通常小于50-60ms,远端设备网络(WiFi) rtt 通常小于30-40ms。可参考该典型值进行优化。

·当发现期望码率高于调控码率或带宽估计值过低时:建议优化 视频流编码配置,并尽量提高现场设备网络带宽,例如增加蜂窝网卡使用 多网络路径传输。

·当发现设备网络 rtt 过大,但丢包和带宽估计值正常时:建议优化网络路径,现场设备查看 SIM 卡出口,远端设备优化 Wi-Fi 接入等。

·当发现带宽估计值正常,现场设备视频传输码率低于建议码率,但网络仍存在较明显固定丢包时:建议优化网络设备,使用较好的 Wi-Fi 路由器或用手机热点测试。

十一、现场设备 SDK 开发

·基础流程:SDK API 调用流程

·API 文档:C/C++ 现场设备 SDK API

·示例代码:

·Linux C/C++示例

·Android 示例

·Python 示例

·集成事项:

·视频流对接:SDK 使用视频流托管模式,仅需应用输入视频流数据或配置视频流采集相机。SDK 会自动进行按需推流和断网恢复。

·控制流对接:SDK 在现场设备和远端设备间使用二进制透传,应用自行定义传输数据格式,可参考 控制数据传输 对接,需要注意监控延迟回调和接收消息间隔,进行网络异常降级保护。

·配置管理:根据 现场设备配置说明 在配置中配置相关功能以及 device.pem 证书和日志路径,建议使用绝对路径。

·进阶注意:

·回调状态监听

参数 说明
onSignalState 必监听,用于查看初始化阶段和后续设备与远端服务的连接状态。
onState 建议监听,用于查看视频流连接状态。当现场设备进行推流时,该状态为已连接。
onMediaState 建议监控,用于查看视频流传输状态和网络情况。
onEncodeFrameInfo 使用外部输入编码流时建议监听,用于指导输入编码流的码率和 I 帧刷新。
onOperationPermissionRequest 使用自定义控制权限管理时必监听,用于接收远端设备控制权限请求。
onErrorEvent SDK 底层错误或告警信息提示。
onLatencyReport 使用控制流时必监听,用于查看远控延迟,便于业务进行降级保护。

·视频流输入

你需根据 现场设备配置说明,配置对应的视频流协议:

·V4L2 相机采集: protocol 为 v4l2。

·RTSP 相机采集:编码流透传时 protocol 为 rtsp_enc, 转码后传输 protocol 为 normal,详细参见 网络摄像机接入。

·外部输入视频图像:protocol 为 outside,调用 TRRO_externalVideoData 接口输入,支持 I420, YUYV, UYVY, NV12, JPEG, RGB 等多种格式,详见头文件。

·外部输入视频流编码数据:protocol 为 outenc,调用 TRRO_externalEncodeVideoData 接口输入,支持 H264/H265输入,关键帧中需带有 SPS/PPS 信息。

·编码流配置:你可查看 视频流编码配置 文档进行配置。

·物联网白名单配置:你可查看 物联网卡白名单配置 文档进行配置。

·多网络路径传输配置:你可查看 多网络路径传输 文档进行配置。

·语音使用:你可查看 语音对讲 使用语音。

十二、远端设备 SDK 开发

·基础流程:SDK API 调用流程

·API 文档:

·C/C++ 远端设备 SDK API

·Android Java API

·iOS API

·HarmonyOS API

·Web API(见 doc 目录)

·示例代码:

·C/C++ 示例

·Python 示例

·Android 示例

·iOS 示例

·鸿蒙示例

·Unity 示例

·Java 示例

·Web 示例

·集成事项:

·视频流拉取:SDK 封装了拉流 API,调用 connect 即可获取指定现场设备指定 ID 的视频流;SDK 会自动维持端到端拉流状态和断网恢复。

·视频流渲染:SDK 提供内置渲染功能以及外部渲染示例代码,可根据需要选取内部渲染或外部渲染。

·控制流对接:SDK 在现场设备和远端设备间使用二进制透传,应用自行定义传输数据格式。

·在线状态管理:通过 TRRO_getGwList 或 TRRO_getGwInfo 查看现场设备在线情况。

·延迟监测:一般建议在现场设备做延迟异常的降级处理。远端设备可根据延迟情况给用户进行操作提示。

·进阶注意:

·回调状态监听:

参数 说明
onSignalState 必监听,用于查看初始化阶段和后续设备与远端服务的连接状态。
onState 必监听,用于查看视频流接收句柄与服务端视频连接状态是否建立。
onMediaState 建议监听,用于查看远端设备拉流与服务器的视频流传输状态和网络情况。
onFieldSideMediaState 建议监听,用于查看现场设备推流与服务器的视频流传输状态和网络情况。
OnOperationPermissionState 使用应用控制授权时必监听,用于接收现场设备的控制权限通知。
onAllLatencyReport 建议监听,用于查看现场设备到远端设备端到端视频流和控制数据流延迟指标。
onErrorEvent 建议监听,SDK 底层错误或告警信息提示。
onRemoteFrame 外部渲染必监听,用于接收解码后的原始图像。
onRemoteEncodedFrame 应用自主解码必监听,用于接收原始编码数据。无需 SDK 解码,建议开启 TRRO_useExternalDecoder。

·视频流输出:

·SDK 渲染:通过 TRRO_connectField 和 TRRO_setWindows 接口将视频流关联接收句柄和渲染窗口。内部渲染支持夜视增强、超分等处理,详细可参见 TRRO_SetRenderConfig。

·外部渲染:通过 onRemoteFrame 获取解码后原始图像进行渲染。

·本地录制:配置中开启 "file_path" 配置录制目录。

·视频转推:通过 TRRO_startMediaPush 接口进行视频流转推。

·现场设备编码配置更新:你可查看 TRRO_fieldDeviceEncodeConfig 文档进行配置。

·会话连接诊断:你可查看 会话连接诊断 文档进行操作。

·语音对接:你可查看 语音对讲 文档进行接入。

·视频流观看与切流:你可查看 视频观看与切流 文档进行操作。

·控制授权管理:你可查看 控制授权管理 文档进行管理。

十三、云端开发

·API 文档:服务端 API 文档

·集成事项:

·项目创建:可提前手动创建项目,或通过创建项目接口。

·设备注册、密钥更新与会话权限管理:可参考 配置与密钥管理 两种方式进行管理:

·设备注册管理方式:通过 创建设备接口 进行设备注册,并通过 修改权限接口 管理会话权限。

·免注册与项目共享密钥方式:通过设置项目共享密钥,生成设备每次登录的 token,并通过临时授权码管理会话权限。详细参见 免注册登录与临时会话授权。

·云端录制与转推:设置 云端录制与转推回调接口,调用 开启云端录制 或 云端转推。

赞 (0)
上一篇 4天前
下一篇 4天前