基本介绍

最近更新时间:2025-04-03 17:56:12

我的收藏

适用范围

本 SDK 用于远端设备(视频观看/操控端)接入, 适用于 Linux 和 Windows 64 位系统,提供 so、dll 动态链接库形式接入。

主要功能

本 SDK 面向远程实时操控场景提供低时延音视频通话和控制/状态数据传输,主要功能如下:

视频渲染

在指定句柄的窗口进行视频渲染,并能够自动响应窗口的缩放事件。

视频解码

支持 H264、H265 和 AV1 等视频格式解码。

视频传输

支持 H264、H265 和 AV1 等编码视频流的传输,具备抗弱网和低延迟传输能力。

二进制数据传输

支持二进制数据的透传,可向通话方传输二进制数据。

推流管理

SDK 可以根据观看需求来动态管理对端推流状态。

视频延时和链路状态报告

SDK 可以监测视频延时和视频状态,并通过回调接口报告对应的状态数据。

基本概念

设备 ID

分为现场设备 ID 和远端设备 ID,用于标识设备身份,设备 ID 具有唯一性。如果网络中有相同设备 ID 的设备连网,会出现 MQTT 信令反复被踢下线又重连的情况,影响正常使用。

视频流 ID

用于标识现场设备的视频流编号,编号从0开始递增,与 JSON 配置中的 stream_config 数组元素编号一致。远端设备拉取视频流时,会通过现场设备 ID + 视频流 ID 来指定要拉取的视频流。

会话权限

用于管理远端设备是否能看到现场设备的在线状态以及观看现场设备的视频. 没有目标现场设备会话权限的远端设备是无法与该现场设备建立视频会话。会话权限通过控制台或者云 API 的权限管理功能进行管理。

操控权限

用于管理远端设备的控制权限。拥有权限的远端设备才能对目标现场设备进行控制数据下发和语音互动, 否则只能进行视频观看. 操控权限通过SDK Permission相关接口进行请求和管理。

接收句柄(conn_fd)

用于标识远端设备接收视频流的视频流接收器,编号从0开始递增;视频流接收器,用于桥接现场设备视频流和本地视频渲染窗口,拉取视频流时,需要指定对应的视频流接收器来收流;如下是收取视频流的过程。
现场设备视频流 >> 远端设备视频流接收器 >> 视频渲染窗口

视频窗口句柄

用于标识视频窗口,属于指向视频窗口的指针,例如 win32 的 HWND。通过视频窗口句柄,SDK 可以通过在指定视频窗口上进行画面渲染。

配置文件

包含 SDK 配置 JSON 字符串的文件,默认文件名为 config.json。SDK 可以基于配置文件或者配置 JSON 字符串初始化。