从 RTSP、RTMP 到 WHIP:SmartMediaKit 的技术演进与工程实践

从摄像头直推、RTSP/RTMP 转 WHIP,到 SmartMediaServer 多协议媒体服务,重新审视实时音视频系统的技术选择与端到端架构。

在音视频行业从业多年,越来越清晰地意识到一个问题:真正决定一套音视频系统能否长期服务于实际业务的,往往不是采用了哪一种最新协议,而是它能否在复杂的设备、网络和业务约束下,持续提供稳定、可维护、可扩展的媒体能力。

RTSP 至今仍然是网络摄像机、NVR、工业视觉设备的重要接入方式;RTMP 在直播编码器、推流软件和视频平台之间形成了成熟的应用生态;WebRTC 则凭借实时传输、浏览器原生支持和网络反馈机制,逐渐成为远程协作、移动视频回传和实时视觉应用的重要技术选择。

这些技术并不是简单的替代关系。对于真正运行在行业现场的音视频系统来说,协议选择始终取决于设备能力、网络条件、媒体格式、实时性要求和业务系统的实际需要。

正是在这样的背景下,大牛直播 SDK(SmartMediaKit)在长期积累的音视频采集、编码、RTMP 推流、RTSP/RTMP 播放与转发、轻量级 RTSP 服务、录像及 GB28181 设备接入等能力基础上,增加了遵循 IETF RFC 9725 的 WHIP 推流 SDK。

我们研发 WHIP,并不是因为 RTSP 或 RTMP 已经过时,而是希望在现有媒体处理体系之上,为开发者增加一种面向 WebRTC 的标准化发布能力。它既可以服务于新建的摄像头、移动终端和屏幕采集应用,也可以通过 RTSP/RTMP 转 WHIP 的方式,让大量已有视频源进入新的实时媒体系统。

更进一步,结合 SmartMediaServer 的媒体接入、流管理与分发能力,可以将终端侧的音视频处理与服务端媒体管理连接起来,构建从现场采集、边缘接入到中心分发和终端观看的完整链路。

WHIP 是这条链路中的一种新入口,而 SmartMediaKit 与 SmartMediaServer 的协同,才是我们希望真正交付给行业客户的产品价值。

一、协议演进的本质:不是谁取代谁,而是谁解决了新的问题

如果回顾过去二十多年音视频技术的发展,会发现一个很有意思的现象:新协议不断出现,旧协议却很少因为新协议的普及而立即退出实际业务。

RTSP 在专业视频领域长期存在,是因为大量网络摄像机、NVR 和工业设备已经围绕它形成成熟的接入与会话控制体系。RTMP 在互联网直播领域得到广泛应用,是因为编码器、推流工具、流媒体服务和业务平台之间建立了稳定的发布链路。HLS、MPEG-DASH 等技术适合基于 HTTP 的大规模内容分发,而 WebRTC 更关注实时媒体传输与低延迟交互。

从协议能力看,它们存在部分重叠;从业务职责看,却有各自明确的应用位置。

以一个典型的工业视频项目为例,现场摄像机可能通过 RTSP 提供视频,移动巡检终端通过 RTMP 发布现场画面,中心平台需要保存重要事件录像,管理人员希望在浏览器中实时查看设备状态,远程专家还希望获得尽可能及时的视频反馈。

如果要求这套系统中的所有设备、平台和终端都改用同一种协议,不仅改造成本高,也未必能够获得更好的工程效果。

行业系统还有消费级应用不一定会遇到的约束:大量设备已经部署多年,现场网络包含局域网、专网、移动网络和跨防火墙环境,部分设备采用 ARM 或嵌入式硬件,系统需要持续运行,并且必须兼顾权限管理、录像留存、故障恢复与私有化部署。

因此,协议升级不能只考虑技术上的先进性,还必须考虑迁移成本和既有系统的连续性。

对于 SmartMediaKit,我们始终倾向于一种更务实的方式:成熟协议继续服务成熟业务,新协议则在适合的位置补充新的能力。

例如,局域网内的专业客户端可以继续使用 RTSP,传统直播平台可以继续使用 RTMP,国标平台通过 GB28181 完成设备注册与相应业务交互,而需要 WebRTC 实时接入的应用,可以选择 WHIP 发布。

这里的核心不是让每一个模块同时启用全部协议,而是让开发者能够根据项目条件进行选择和组合。

成熟的音视频产品,不应要求所有业务围绕某个协议重新设计,而应具备适应不同协议与设备生态的能力。

这也是 SmartMediaKit 持续扩展协议体系的基本出发点。

二、为什么需要 WHIP:WebRTC 的接入复杂性,需要由 SDK 来解决

WebRTC 已经具备实时音视频传输所需的重要机制,包括 ICE 网络连通性检查、DTLS-SRTP 安全媒体传输,以及 RTP/RTCP 反馈和相关拥塞控制能力。

但从音视频产品研发角度看,WebRTC 的传输能力与媒体服务的标准化接入,是两个不同层面的问题。

WebRTC 并未统一规定所有业务必须使用哪一种应用层信令传输方式。因此,在实际系统中,不同媒体平台可能采用不同的 WebSocket、HTTP 或私有信令接口来完成 SDP 协商和会话管理。

这给非浏览器终端、编码器和跨平台 SDK 带来了明显的集成成本。

一个设备厂商希望把视频推送到不同 WebRTC 媒体服务时,可能需要分别适配对方的接口规范;一家行业软件公司即使已经具备成熟的采集和编码能力,也可能因为服务端信令方式不同而重复开发推流模块。

WHIP(WebRTC-HTTP Ingestion Protocol)正是为解决 WebRTC 媒体发布的标准化接入问题而提出的。2025 年 3 月,WHIP 正式发布为 IETF RFC 9725,为基于 WebRTC 的媒体发布提供了规范化的 HTTP 接入接口。

其典型交互流程并不复杂:发布端生成 SDP Offer,通过 HTTP POST 发送到 WHIP Endpoint,服务端返回 SDP Answer,双方进行 ICE 连通性检查,并在完成相应安全协商后建立 WebRTC 媒体传输通道。会话结束时,则按照协议要求释放相关资源。

需要强调的是,WHIP 并不是一种新的音视频编码格式,也不是独立于 WebRTC 的传输体系。HTTP 主要承担会话信令,真正的音视频仍然通过 WebRTC 媒体路径传输。

WHIP 也有明确的设计边界,它面向相对简洁的单向媒体发布场景,并不试图替代完整的双向实时通信信令系统。例如,WHIP 建立会话后不支持任意修改媒体部分的 SDP 重新协商。如果业务需要动态增加音视频轨道、双向互动或复杂会话控制,就需要根据实际场景选择其他机制。

这恰恰说明了一个成熟协议应有的特点:它有清晰的目标,也有清晰的边界。

对于 SmartMediaKit,WHIP 的价值并不仅仅是简化了一次 HTTP 请求,而在于可以把 WebRTC 发布过程中的 SDP、ICE、DTLS-SRTP、媒体发送和状态管理等复杂工作,封装为可供应用直接集成的 SDK 能力。

开发者不必为每一个项目自行构建完整的 WebRTC 推流链路,而可以把更多精力放在采集设备、编码参数、业务交互和实际应用上。

这种从复杂协议实现到稳定 SDK 接口的转换,才是 WHIP 对行业软件开发真正有意义的地方。

三、SmartMediaKit WHIP 推流 SDK:在成熟媒体内核上增加新出口

一个成熟的音视频 SDK,在支持新协议时,最重要的原则之一就是尽可能复用已有媒体能力,而不是重新构建一套彼此独立的采集、编码和传输系统。

SmartMediaKit 自 2015 年起持续迭代,已经形成涵盖音视频采集、编码、推流、播放、录像、转发、外部音视频数据接入和轻量媒体服务等模块的产品体系。WHIP 推流模块正是在现有 Publisher 架构及媒体处理能力上进行扩展。

从产品实现来看,这种架构具有几个值得重点讨论的技术价值。

1. 复用采集与编码能力,让 WHIP 成为可选择的发布路径

SmartMediaKit 已经具备摄像头、麦克风、屏幕和外部音视频数据的相关处理能力。WHIP 推流模块可以根据平台与具体版本支持情况,复用这些媒体输入及编码功能,将处理后的音视频发布到支持 WHIP 的服务端。

以 Android Camera2 Demo 为例,摄像头通过 Camera2 提供图像数据,应用将 YUV_420_888 图像输入 SmartMediaKit,麦克风采集的 PCM 音频同样进入 Publisher 模块,再由 SDK 完成相应的媒体处理与 WHIP 发布。

这里的重要价值,并不是 Camera2 本身有多复杂,而是现有摄像头采集、图像处理和编码逻辑不必因为增加 WHIP 协议而全部重写。

对于已经集成 SmartMediaKit 的应用,原有的采集处理链路可以继续使用,新的业务需求主要集中在发布方式、相关配置和生命周期管理上。

从长期维护角度看,这种复用意味着不同协议模块能够尽量共享经过验证的媒体处理能力,减少重复实现带来的功能差异与维护成本。

2. 通过明确的 SDK 接口,封装 WebRTC 发布复杂性

以 Android 平台的 WHIP 模块为例,SmartMediaKit 提供了具体的接入配置和控制接口,包括:

SetWhipEndpointURL() 用于配置 WHIP 服务端地址,SetWhipBearerToken() 用于鉴权参数设置,SetWhipHttpConnectTimeoutMs() 和 SetWhipHttpTimeoutMs() 用于配置 HTTP 连接与请求超时。

在媒体发送方面,SetWhipRtpNackEnabled() 用于控制视频 RTP NACK 重传响应,SetWhipRtpPacingEnabled() 用于控制 RTP 发送节奏;对于外部编码视频,还可以通过 SetWhipEncodedVideoKbitrate() 设置平均编码码率参考。

此外,SDK 提供 G.711 转 Opus 的适配配置入口,以及 WHIP 推流启停和相关状态事件回调。

这些接口的价值,在于将协议连接、网络发送和应用控制之间建立明确的边界。开发者能够按照业务状态管理 Publisher,而不必在应用层自行处理所有底层协议细节。

当然,SDK 封装复杂性并不意味着复杂性消失。实际工程仍然需要正确配置媒体格式、编码参数、网络环境和服务端接口,并结合状态回调处理异常情况。

3. 区分信令状态与媒体状态,增强工程可控性

在实际 WebRTC 项目中,经常会遇到一种情况:HTTP 信令请求已经成功,但远端仍然没有画面。

原因可能并不在 HTTP 层,而是在 ICE 连通性、网络候选地址、DTLS 握手、媒体格式或实际 RTP 发送环节。

如果 SDK 只能返回一个笼统的成功或失败状态,就很难判断问题发生在哪里。

SmartMediaKit WHIP 模块提供 HTTP 信令状态、媒体通道连接状态与异常事件等相关回调,使业务应用可以进一步区分会话建立失败、网络连接异常和媒体发送中断等情况。

对于移动终端和长期运行的工业设备,这种状态可见性尤其重要。应用可以据此设计超时处理、资源释放与重连策略,而不必将所有异常简单处理为"重新启动整个推流程序"。

4. 跨平台能力的价值,是复用工程经验而非复制底层代码

SmartMediaKit 已经形成覆盖 Windows、Linux、Android、iOS、HarmonyOS NEXT、macOS 等平台的媒体能力体系,并在跨平台播放、推流和媒体处理方面积累了大量工程经验。

WHIP 作为新的发布模块,可以延续这套架构中的媒体输入、处理和接口化设计思路。不同平台仍然需要适配具体的摄像头接口、操作系统权限、编码器和网络环境,因此不能简单认为所有平台使用完全相同的底层实现。

尤其需要区分 SmartMediaKit 整体平台覆盖范围与各平台 WHIP 模块的实际发布范围。Android Camera2 WHIP 推流已有明确的配套 Demo 和接入说明,其他平台应按照对应版本的 SDK、接口和交付包确认。

真正的产品优势,是客户在使用不同平台的媒体模块时,能够复用相近的开发思路与业务架构,减少重复建设。

从 SmartMediaKit 的角度看,WHIP 推流 SDK 的核心竞争力不是孤立实现了 RFC 9725,而是让新协议建立在既有媒体能力、接口体系和工程积累之上。

四、从 RTSP/RTMP 到 WHIP:真正有价值的是复用存量视频

在不少行业项目中,客户并不缺乏采集设备,真正缺少的是让这些设备进入新业务系统的低成本路径。

例如,一套安防系统可能已经部署数百台 RTSP 摄像机;一套工业视频系统可能已经通过 RTMP 将画面发布到中心平台。现在客户希望增加浏览器实时观看、远程专家协作或者 WebRTC 实时媒体接入。

如果要求现场摄像机全部支持 WHIP,或者要求客户重新开发采集和编码系统,往往不是合理的选择。

SmartMediaKit 提供的 SmartRelayDemoV2,正是针对这种需求展开的工程实践。

1. SmartPlayer 与 SmartPublisher 的组合,是现有能力的延伸

在 SmartRelayDemoV2 中,SmartPlayer 负责连接已有 RTSP/RTMP 视频源,并通过编码数据回调向业务层提供音视频数据;SmartPublisher 则接收相应媒体数据,经必要的适配后通过 WHIP 发布到目标服务。

整个链路可以概括为:

RTSP/RTMP 视频源 → SmartPlayer 拉流 → 压缩音视频数据回调 → 媒体格式与时间戳适配 → SmartPublisher → WHIP 发布 → WebRTC 媒体服务。

这不是简单的地址转换,而是把原有的播放与推流能力结合起来,实现不同传输协议之间的媒体衔接。

SmartPlayer 不必承担最终发布的业务逻辑,SmartPublisher 也不需要重新实现 RTSP/RTMP 的拉流过程。输入和输出之间通过明确的数据接口衔接,为后续扩展其他业务流程保留了架构空间。

这种模块化设计,对于需要长期维护的行业 SDK 尤其重要。

2. 尽量复用压缩码流,而不是默认重新编码

RTSP/RTMP 转 WHIP 中一个非常关键的问题,是是否需要执行完整的解码和重新编码。

假设摄像机已经输出符合目标 WebRTC 媒体链路要求的 H.264 视频,如果仅仅因为传输协议改变,就将视频全部解码为原始图像,再重新编码为 H.264,不仅增加 CPU 或硬件编码器负载,还会引入额外处理时延,甚至造成不必要的画质损失。

SmartRelayDemoV2 通过获取已有压缩音视频数据,再交由 Publisher 发布,为复用兼容码流提供了实现路径。

不过,压缩码流复用不等于所有数据都能够原样透传。即使同样采用 H.264,不同接入链路也可能存在配置档次、参数集、时间戳和媒体封装方面的差异。实际发布前,需要根据服务端协商结果进行必要的格式适配。

对于 H.265,还需要额外确认目标 WHIP 服务端和观看终端的协商与解码支持情况,不能因为源摄像机支持 H.265,就认为任意浏览器都能直接播放。

音频也是类似的问题。传统摄像机常见的 G.711、RTMP 视频源中常见的 AAC,与 WebRTC 链路中的 Opus 并不总是直接兼容。SmartMediaKit 提供了 G.711 转 Opus 的配置能力,但具体是否启用,需要根据上游音频格式和目标媒体能力决定,不能假设所有音频都会自动完成适配。

从工程角度看,更合理的原则是:兼容的视频优先复用压缩数据,音频根据目标媒体能力进行适配,只有在确实必要时才引入完整转码。

对于多路视频接入、边缘网关和计算资源受限的 ARM 设备,这种处理方式有助于控制 CPU 占用、功耗和系统部署成本。

3. 低延迟不仅是传输协议问题,更是时间与缓冲管理问题

评价 RTSP/RTMP 转 WHIP 方案时,最容易出现的误区,就是认为使用了 WHIP,端到端延迟自然会降低。

实际上,转发链路可能同时存在上游摄像机编码缓存、RTSP/RTMP 接收缓冲、业务层数据队列、WHIP 发送队列、服务端处理和观看端缓冲。

任何一个环节持续积压,都可能让最终画面越来越滞后。

因此,转发系统需要尽可能减少不必要的缓冲,合理处理音视频时间戳,并在发送能力不足时采取明确的队列与丢帧策略。

SmartMediaKit 在 WHIP 发布中提供的视频 RTP NACK 与 Pacing 等配置,能够为网络反馈和发送节奏优化提供接口,但这些机制并不能代替对整个媒体链路的管理。

特别是来自外部摄像机的视频,WHIP 发布端未必能够控制上游编码码率。如果源端持续产生超过网络承载能力的数据,仅通过 Pacing 平滑发送,并不能从根本上解决带宽不足问题。

真正需要关注的是整个系统能否控制数据积压,在网络恢复后重新回到合理的实时状态。

4. 边缘主动发布,为复杂网络提供另一种部署方式

传统摄像机通常部署在企业内网或专网环境中,中心平台未必能够直接访问每一台设备。

此时,可以在现场或边缘网关部署 SmartMediaKit,由边缘节点主动连接摄像机的 RTSP 服务,再通过 WHIP 向中心媒体服务器发布。

这种结构能够避免要求中心平台逐一访问全部现场摄像机的 RTSP 端口,也有利于将传统视频接入与中心实时观看能力分离。

当然,边缘主动发布并不意味着一定能够穿透所有网络。WHIP 仍然需要正确的信令连接、ICE 候选地址以及相应的网络策略;必要时还需要 STUN/TURN 等设施。

但从部署设计看,这为传统视频设备连接中心实时媒体服务提供了更灵活的选择。

五、从 SmartMediaKit 到 SmartMediaServer:打通完整的端到端媒体链路

如果说 WHIP 推流 SDK 解决了音视频如何进入 WebRTC 媒体服务的问题,那么媒体进入服务端之后如何被管理、分发与消费,则是另一个必须面对的工程问题。

对于行业客户,能够推流只是系统的起点。客户还需要知道有哪些视频源在线、谁正在发布、哪些用户正在观看,以及同一路媒体能否根据业务需求分发到浏览器、原生客户端和其他媒体系统。

这也是 SmartMediaServer 的产品定位所在。

1. SmartMediaKit 负责媒体端点,SmartMediaServer 承担中心媒体服务

在我们的产品体系中,SmartMediaKit 更接近媒体的生产端和消费端。

它可以运行于移动设备、桌面应用或边缘计算环境中,负责摄像头采集、音视频编码、RTSP/RTMP 拉流、媒体处理、WHIP 发布,以及相应的播放和录像等功能。

SmartMediaServer 则承担服务端媒体接入、流管理和分发职责,使不同来源的媒体可以在统一的管理体系中被组织和访问。

对于一条典型的实时视频链路,可以形成这样的结构:

现场摄像机或移动终端 → SmartMediaKit 采集与媒体处理 → WHIP 发布 → SmartMediaServer 媒体接入与管理 → WHEP 或其他适用协议输出 → 浏览器、原生客户端及业务系统。

其中,SmartMediaKit 侧重点在于如何获取、处理和发送音视频;SmartMediaServer 侧重点在于如何管理媒体流、处理观看会话,并将媒体分发给需要的终端。

两者结合,能够减少应用直接处理多个底层媒体协议的负担,也为系统增加录像、访问控制和运行状态管理等能力提供基础。

2. 统一媒体内核,不意味着消除协议差异

对于多协议媒体服务器,一个非常重要的架构问题,是怎样在保持性能的同时控制系统复杂度。

RTSP、RTMP、WHIP 和 WHEP 的会话模型与媒体传输机制并不完全相同。如果为每一种协议分别建立一套完整的流管理、发布者管理和观看者管理逻辑,就容易产生重复实现与状态不一致的问题。

SmartMediaServer 更合理的设计方向,是将协议适配与内部媒体管理分开。

各协议模块负责自身的会话建立、媒体封装和传输处理;内部媒体管理层则围绕媒体流身份、发布者生命周期、音视频轨道和观看者状态组织业务。

例如,一路媒体在服务端有明确的流身份,发布者负责提供数据,观看者通过相应输出协议订阅媒体。如果发布者异常退出、重新连接或被新的发布者替换,服务端就需要正确处理流状态和会话资源,避免旧连接的清理操作影响新的发布会话。

这种设计看起来属于服务端内部细节,但在需要频繁断线重连、重复发布和多用户观看的行业系统中,直接关系到长期稳定性。

统一媒体内核的价值,不是让所有协议采用完全相同的处理流程,而是让不同协议能够围绕统一的媒体身份、生命周期与资源管理机制协同工作。

3. 一路媒体,多种输出,是服务端的重要价值

在传统系统中,发布端与播放端往往使用相同或固定的协议。但随着业务终端多样化,媒体输入方式与观看方式并不必然一致。

一台摄像机可以继续通过 RTSP 输出视频,中心业务可能需要通过 WHEP 在浏览器观看,原生客户端则可能使用其他适用的媒体协议。

SmartMediaServer 的多协议服务能力,为这种输入与输出分离提供了基础。

根据相应模块和部署版本的支持范围,服务端可以围绕 WHIP 接入与 WHEP、RTMP、HTTP-FLV、HLS 等输出方式组织媒体分发。对于编码格式兼容的路径,可以尽量复用已有压缩数据;如果输出协议与终端要求不同,则需要在适当位置进行封装适配或转码。

需要注意,多协议分发不意味着服务器能够零成本支持任意媒体格式,也不意味着所有协议都具有相同的播放延迟。不同观看方式对缓冲、封装和编码能力的要求不同,实际方案应根据业务需求确定。

这也解释了为什么 SmartMediaServer 不应仅仅定位为一个 WHIP 接收服务器。

WHIP 是媒体接入方式之一,SmartMediaServer 的产品价值则在于对媒体流进行统一管理,并根据终端与业务需求组织分发。

4. 媒体服务器真正困难的地方,是并发与生命周期管理

能够接收一路推流,并不代表能够长期稳定地服务多路媒体和大量观看者。

随着并发增加,服务端需要处理发布者和观看者之间的生命周期关系,还需要考虑网络缓慢的观看者是否会影响其他正常用户。

例如,某个 WHEP 观看者的网络发生严重拥塞,服务端如果持续将媒体数据积压到其发送队列,不仅会使该观看者延迟增加,还可能造成内存持续增长。如果多个观看会话共享不合理的发送锁或执行路径,也可能因为一个慢客户端而拖累其他会话。

因此,SmartMediaServer 需要特别关注每路媒体的独立管理、观看者队列边界、资源释放和慢会话隔离。

同样,在发布者发生断连与重新发布时,系统需要区分当前有效发布者与已经失效的旧连接,保证媒体状态转换具有明确的归属关系。

这些能力不会直接体现在协议名称中,却决定了媒体服务器是否适合生产环境。

5. 从媒体服务延伸到业务接口与运维能力

企业客户往往不只需要一个媒体地址,还需要围绕视频建立完整业务系统。

例如,业务平台需要查询某个视频通道是否在线、当前有哪些观看会话、某路视频是否正在录制,以及连接出现异常时如何定位原因。

因此,SmartMediaServer 的服务端能力还需要与管理接口、连接状态、访问控制、录像和运行监测等环节形成配合。

这里应该保持一个清晰边界:媒体服务器负责媒体接入、处理和分发所需要的基础能力,上层应用则根据行业需求负责设备资产、用户权限、告警规则和业务流程。

尤其对于安防、工业与机器人等行业,不同项目的业务逻辑差异很大。如果将全部行业逻辑强行放入媒体内核,反而容易让服务器变得笨重,增加维护成本。

SmartMediaServer 更适合保持相对独立的媒体服务定位,通过接口与业务系统协同,让媒体能力可以在不同场景中复用。

这也是我们从 SmartMediaKit 向服务端扩展时需要坚持的架构原则:终端 SDK 与媒体服务器各自承担明确职责,通过标准协议和清晰接口衔接,而不是把所有功能堆叠成一个难以维护的系统。

六、从真实业务出发:哪些行业真正需要 WHIP 与 SmartMediaServer?

WHIP 推流 SDK 与 SmartMediaServer 的组合,不应该只停留在技术架构图中。它究竟能解决什么问题,需要放到具体行业场景下判断。

1. 安防与智慧城市:让存量视频设备进入新的 Web 应用

安防行业拥有大量已经部署的 RTSP 摄像机、NVR 和视频平台。这些设备往往能够稳定工作多年,整体替换的成本并不低。

随着综合管理平台逐渐采用 Web 界面,客户希望在浏览器中实时查看监控画面、处理告警和开展远程值守,但传统摄像机通常不会直接提供标准 WHIP 发布能力。

在这种情况下,可以在边缘侧通过 SmartMediaKit 拉取 RTSP 视频,经必要的媒体适配后,通过 WHIP 发布到 SmartMediaServer,再由服务端向支持的观看终端提供实时媒体。

这一方案的重点是保留原有摄像机与设备接入方式,在系统边界增加新的媒体出口。

对于涉及 GB28181 的项目,设备注册、目录管理、平台点播、云台控制等仍然需要遵循对应的国标业务流程,WHIP 不应被当作这些功能的直接替代。

2. 工业巡检与远程协作:让视频从监控数据变成实时业务输入

传统工业视频系统更多用于现场监控、状态查看和录像留存。但在远程运维、设备维修与复杂现场协作中,视频正在成为实时业务交互的重要组成部分。

现场工作人员可以通过移动终端采集摄像头或屏幕画面,由 SmartMediaKit 通过 WHIP 发布到中心媒体服务;远端专家则通过浏览器或专业客户端查看实时画面,并结合已有工单、语音通信和业务系统开展协作。

对于已经安装的工业摄像机,也可以继续通过 RTSP 提供视频,由边缘节点完成必要的协议适配。

这里真正有价值的不是多了一种播放方式,而是让已有视频与新的业务系统之间建立了相对清晰的媒体接口,减少项目中重复开发和设备改造的工作。

3. 机器人与具身智能:把实时视觉连接到远程观察与分析系统

机器人系统中的视频来源越来越复杂,可能包括板载摄像机、工业相机、边缘计算模块及其他视觉设备。不同设备产生的视频也未必采用相同的媒体输出方式。

SmartMediaKit 可以根据实际平台和输入条件,承担视频采集、拉流、媒体处理与 WHIP 发布等工作;SmartMediaServer 则负责将媒体接入中心,为远程观察、调试终端和其他业务模块提供媒体分发基础。

这种结构有利于将媒体链路与机器人业务逻辑适度分离。

但必须明确,WHIP/WHEP 解决的是媒体接入和观看问题,并不能替代机器人控制指令、运动安全机制、传感器同步或确定性通信要求。对于远程操作系统,视频反馈链路和控制链路应分别设计,再根据业务需求协同。

在具身智能场景下,实时视频当然重要,但媒体系统的最终价值,仍然取决于它能否与感知、决策和执行链路形成有效配合。

4. 应急指挥与移动视频回传:适应不同终端和网络条件

应急指挥系统经常需要同时接入固定监控点、车载设备、移动执法终端、临时布控设备和现场人员的移动视频。

这些媒体来源可能使用 RTSP、RTMP、GB28181 或 WHIP,不同设备的网络环境和接入要求也各不相同。

SmartMediaKit 可以在终端侧提供相应的媒体采集、处理与发布能力,SmartMediaServer 则在中心侧统一组织媒体接入与分发。

对于新建移动采集应用,可以根据条件采用 WHIP;对于已经接入国标平台的设备,则继续保留 GB28181 的业务能力。对于已有 RTSP/RTMP 视频源,也可以通过相应的媒体适配进入实时观看链路。

这种架构更符合应急系统多来源、多终端和复杂网络环境下的实际需要。

5. 视频 AI 与工业视觉:媒体层应成为算法系统的稳定输入

随着 AI 视频分析和机器人视觉应用的发展,越来越多系统需要持续获取来自摄像机或移动设备的视频,并将其交给算法模块处理。

但算法模型本身并不解决所有媒体问题。视频从哪里获取、是否需要解码、如何控制时间戳、网络断开后怎样恢复,以及分析结果如何与实时画面关联,都需要媒体系统承担相应工作。

SmartMediaKit 可以通过已有拉流、解码、原始数据回调和媒体处理能力,为算法侧提供相应输入;SmartMediaServer 则根据实际部署组织媒体接入与分发。

这种方式能够让媒体传输与算法逻辑保持相对独立,便于不同算法系统复用已有音视频基础能力。

不过,在需要严格时间同步或多传感器融合的应用中,还必须考虑采集时间基准、帧对应关系、推理队列和系统级同步。WHIP 只是视频发布方式之一,并不能自动解决这些问题。

七、真正的工程竞争力:不是最低延迟,而是可控的系统行为

从事音视频研发多年,我认为在评价一套实时媒体系统时,必须警惕过度依赖单个性能指标。

例如,端到端延迟达到某个很低的数值,当然具有参考价值,但如果这个结果只能在固定网络和短时间测试中出现,而系统持续运行后延迟不断累积,那么它对行业客户的实际意义就会明显下降。

对 SmartMediaKit 和 SmartMediaServer 的组合而言,更值得关注的是整个媒体链路能否保持稳定、可诊断和可恢复。

1. 延迟需要从全链路理解

端到端延迟涉及采集、编码、发送缓冲、网络传输、服务端处理、接收缓冲、解码和显示。WHIP 使用 WebRTC 的实时媒体传输机制,但并不意味着所有环节都自动获得相同的延迟表现。

特别是在 RTSP/RTMP 转 WHIP 场景中,媒体进入 WHIP 发布模块之前,可能已经积累了上游缓冲。

因此,需要明确每一级缓冲的作用与边界,合理控制时间戳和数据排队,在必要时优先保证画面的时效性。

2. 网络反馈必须与媒体生产能力相匹配

NACK、Pacing 和其他 WebRTC 反馈机制,可以改善部分网络条件下的传输行为,但它们无法凭空增加可用带宽。

如果源端编码码率长期高于网络实际承载能力,系统最终仍然必须通过调整源端码率、选择其他视频档位或采取明确的丢帧与队列策略处理问题。

对于可控的采集编码链路,可以结合反馈调整编码行为;对于来自传统摄像机的外部码流,则需要根据上游是否支持码率调整,选择适合的处理方式。

这是自采集推流与外部拉流转发之间一个非常重要的区别。

3. 长时间运行与故障恢复,是生产系统的基本要求

移动终端网络切换、边缘节点异常、发布者重新连接、观看者意外退出,都可能发生在实际项目中。

SDK 应当清晰管理采集、编码和推流资源,服务端则需要正确维护发布会话和观看会话的生命周期。

尤其需要防止旧连接释放资源时误影响新会话,以及慢速观看者持续积压造成资源增长。

这些问题未必会在短时间 Demo 中暴露,但对于持续运行的行业系统,却往往决定了产品的可靠性。

4. 可观测性决定系统能否真正被维护

客户反馈"视频卡顿",并不是一个足以直接定位原因的技术描述。

实际问题可能来自采集帧率下降、编码器输出异常、网络丢包、发送队列积压、服务端分发受阻,也可能来自接收端解码或渲染。

因此,需要让终端 SDK 与服务器提供相应的错误事件、媒体状态和运行指标,帮助开发者区分问题发生的位置。

对于 SmartMediaServer,发布者与观看者状态、媒体流生命周期、服务资源使用和相关错误日志,是媒体服务工程化的重要组成部分。

协议可以决定一条媒体链路具备哪些技术机制,但稳定性、可恢复性和可维护性,最终仍然来自完整的系统设计。

八、从技术积累到产品价值:SmartMediaKit 的竞争力应该如何体现?

如果仅仅按照协议名称比较音视频产品,不同厂商很容易呈现相似的功能列表:RTSP、RTMP、WHIP、WHEP、HLS、录像、转发和播放。

但相同的功能名称,并不意味着具有相同的技术实现、媒体兼容性或工程交付能力。

对于 SmartMediaKit,我们认为真正值得持续积累的竞争力,主要体现在三个方面。

1. 自研媒体能力的连续积累

SmartMediaKit 从 2015 年持续发展至今,技术积累不仅体现在支持了多少协议,更体现在采集、编码、播放、媒体处理、数据回调和生命周期管理等基础能力的持续完善。

新增 WHIP 推流模块,可以复用现有 Publisher 架构;RTSP/RTMP 转 WHIP 可以通过 SmartPlayer 与 SmartPublisher 组合完成;需要媒体录像或其他业务处理时,也可以依据相应模块的能力进行集成。

这种积累,使新协议的研发不是完全重新开始,而是在已有技术体系之上扩展新的应用路径。

2. 从单独 SDK 功能走向可组合的产品体系

不同客户需要的功能并不相同。有的客户只需要一个低延迟 RTSP 播放器,有的需要 RTMP 推流与录像,有的需要 Android 终端接入 GB28181 平台,还有的需要把传统 RTSP 视频接入 WebRTC 服务。

SmartMediaKit 的模块化设计,使客户能够根据项目需求选择不同能力,而不必为每一个业务单独构建完整的音视频技术栈。

WHIP 的加入,进一步补充了这套产品体系的实时媒体发布能力。

但模块可组合不意味着所有协议、所有编码格式和所有平台都能无条件组合。实际集成仍然需要确认对应模块版本、编码兼容性和接口约束。

3. SmartMediaServer 让产品能力延伸到服务端

对于只需要终端媒体功能的客户,SmartMediaKit SDK 可以独立发挥价值;对于需要媒体汇聚、多终端观看和中心化管理的项目,SmartMediaServer 则可以承担相应的服务端职责。

这使产品能够同时覆盖两类需求:一类是开发者将 SDK 集成到现有应用中,另一类是客户希望围绕终端与媒体服务器构建完整的视频业务链路。

从商业交付角度看,这种结构也有利于明确不同产品的职责边界。SDK 重点解决媒体能力集成,服务器重点解决接入、管理和分发,业务系统则继续承担设备、用户和应用逻辑。

我们并不认为音视频产品一定要把全部行业功能集成到一个庞大的程序中。对于需要长期维护的软件,清晰的模块边界、明确的接口契约和可验证的媒体链路,往往比功能堆叠更加重要。

SmartMediaKit 的技术优势,来自长期积累的跨平台媒体处理能力;SmartMediaServer 的价值,则是将这些媒体能力连接到统一的服务端体系,让客户能够根据业务需要组织完整链路。

结语:WHIP 是新的发布路径,端到端能力才是产品价值

WHIP 的出现,为 WebRTC 媒体发布提供了标准化接口。对大牛直播 SDK(SmartMediaKit)而言,研发 WHIP 推流 SDK,是在既有采集、编码、推流和媒体处理能力基础上,增加一种面向实时媒体服务的发布方式。

从 Android Camera2 直接推流,到 SmartPlayer 与 SmartPublisher 组合实现 RTSP/RTMP 转 WHIP,再到 SmartMediaServer 的媒体接入、流管理和多协议分发,我们希望解决的并不只是某一种协议能否正常工作,而是如何将新技术与客户已有的设备和业务系统有效衔接。

SmartMediaKit 负责终端侧的媒体采集、处理与发布,SmartMediaServer 负责服务端的媒体接入、管理与分发。两者协同,让传统视频源、新型采集终端和实时观看应用能够围绕清晰的媒体链路组织起来。

对于行业音视频系统,技术先进性固然重要,但真正能够长期创造价值的,仍然是成熟的媒体处理能力、合理的架构边界,以及可集成、可部署、可维护的工程实现。

协议是连接不同系统的工具,而让这些连接真正服务于业务,才是音视频技术研发的价值所在。

相关推荐
公子小六1 小时前
基于.NET的Windows窗体编程之WinForms自定义控件(3)
windows·c#·.net·音视频·winforms
jiangyoushushu1 小时前
FLAC手机播不了?转成MP3会更方便
音视频·音频
2601_965619699 小时前
把开源项目Changelog自动做成更新视频,AI工作流
人工智能·开源·音视频
小豆庄11 小时前
视频人脸打码追踪:转场丢失、漏检和ID撞号的处理
目标检测·计算机视觉·开源·音视频·视频·python3.11
微帧Visionular13 小时前
AI视频反复抽卡太贵,哪些问题可以用后处理修复?
人工智能·音视频
视频技术分享15 小时前
基于RTC SDK快速搭建实时协作应用:开发踩坑与选型思考
音视频·实时音视频
2601_9654542316 小时前
开源项目发布会不用剪视频,AI一键生成宣传片
人工智能·音视频
2601_9556624620 小时前
1300多种音色怎么挑?不同短视频场景的配音思路
人工智能·音视频
2601_9656196920 小时前
新闻数据可视化视频:AI自动生成图表动画的完整流程
人工智能·信息可视化·音视频