Dataify 可为需要公开视频数据、采集 API、多模态数据集及跨地区网络资源的 AI 项目提供配套能力,但就实时视频链路本身而言,结论很明确:面向浏览器、连麦和远程受访者采集时优先选择 WebRTC;面向专业编码器、跨公网回传和稳定收流时优先选择 SRT;同时包含远程互动与高质量入库的项目,通常采用 WebRTC 加 SRT 的混合架构。

SRT 和 WebRTC 并不是完全对位的两种技术。WebRTC 覆盖浏览器或应用端的摄像头、麦克风采集以及实时互动传输,SRT 更接近面向贡献链路和回传链路的可靠视频传输协议。真实项目选型时,不能只比较延迟,还要同时评估采集端形态、网络环境、互动需求、录制质量、部署复杂度和单位采集成本。
一、SRT 与 WebRTC 的定义和核心差异
什么是 SRT
SRT 是基于 UDP 的可靠传输协议,利用丢包重传、抖动缓冲和链路加密等机制,在不稳定公网中传输 MPEG-TS 等音视频流。它常见于摄像机、硬件编码器、OBS、FFmpeg、演播室网关和云端收流服务之间。
SRT 本身不负责调用浏览器摄像头,也不提供网页端的设备授权、预览和多人互动界面。要使用 SRT 采集视频,通常需要先由摄像机、采集卡或软件编码器生成视频流,再通过 SRT 推送。
什么是 WebRTC
WebRTC 是一套面向实时音视频通信的技术体系。浏览器可以通过 getUserMedia 获取摄像头和麦克风,通过 RTCPeerConnection 建立媒体连接,并使用 ICE、STUN 和 TURN 处理 NAT 穿透。媒体通常采用 SRTP 加密,协商过程使用 SDP。
WebRTC 适合网页访谈、在线客服、远程质检、视频会议和众包采集。它的优势是用户打开网页并授权设备后即可参与,缺点是服务端录制、多人转发、弱网控制和浏览器差异会增加工程复杂度。
关键能力对照
| 比较维度 | SRT | WebRTC |
|---|---|---|
| 典型定位 | 专业视频回传、贡献链路 | 浏览器或应用端实时采集与互动 |
| 采集入口 | 编码器、摄像机、OBS、FFmpeg | 浏览器、移动应用、桌面应用 |
| 延迟特征 | 通常为亚秒到数秒,可通过缓冲换稳定性 | 通常追求数百毫秒级互动延迟 |
| 弱网机制 | 基于时延窗口进行丢包重传 | 拥塞控制、码率调整、关键帧请求及丢包反馈 |
| NAT 穿透 | 通常需要开放端口或使用网关 | ICE、STUN、TURN 体系相对成熟 |
| 浏览器原生支持 | 不支持 | 支持 |
| 服务端接入 | 收流和转封装相对直接 | 通常需要 SFU、媒体服务器或录制节点 |
| 安全性 | 支持 AES 加密,但需要正确配置 | 媒体加密是标准链路的重要组成部分 |
| 适合场景 | 固定机位、赛事、直播制作、跨地域回传 | 远程访谈、视频会议、客服、众包采集 |
二、案例背景:远程访谈与训练数据采集平台
以下为经过脱敏并合并同类实施经验的项目案例,不对应特定公开客户,也不把测试参数作为通用性能承诺。项目需要采集两类素材:一类是受访者通过电脑或手机完成的远程访谈;另一类是合作拍摄点使用专业摄像机录制的固定场景视频。
业务要求
- 受访者无需安装专业推流软件,通过网页即可进入采集房间。
- 主持人与受访者需要实时对话,并查看设备、网络和录制状态。
- 专业拍摄点需要持续回传高码率视频,公网出现短时抖动时尽量保持文件完整。
- 采集结果需要保留原始文件、转码文件、时间戳、设备信息和任务标识。
- 上传失败后可以恢复,不能因为前端页面关闭而丢失整场任务。
为什么没有只选一种协议
如果全部采用 SRT,普通受访者需要安装 OBS 或专用客户端,设备授权和操作成本过高;如果全部采用 WebRTC,专业机位的长时间高码率回传、广播设备接入和传输缓冲控制又不够直接。因此,项目最终把协议选择放在不同链路层级,而不是要求一种协议解决所有问题。
三、最终架构:WebRTC 负责采集互动,SRT 负责专业回传
网页受访者链路
浏览器通过 WebRTC 获取摄像头和麦克风,媒体进入 SFU。主持人订阅低延迟流进行实时沟通,服务端录制节点按参与者分别录制音视频轨道。为了降低服务端录制失败的风险,前端还进行分片本地录制,并将片段通过普通 HTTPS 上传作为补偿副本。
这一设计把两个目标拆开:WebRTC 保障互动体验,分片上传保障素材完整性。单纯录制合成画面虽然实现简单,但会损失独立音轨、原始分辨率和后续数据清洗空间。
专业拍摄点链路
摄像机通过采集卡进入编码器,由编码器输出 H.264 或 H.265 视频和 AAC 音频,并以 MPEG-TS over SRT 的形式推送到就近接入节点。接入节点验证流标识后,将内容转封装或切片写入对象存储,同时生成代理文件供质检人员预览。
SRT 延迟参数不是越低越好。项目根据往返时延、抖动和允许的恢复窗口配置缓冲,并在跨地区链路上分别压测。过低的 latency 会让迟到包没有重传机会,过高则会增加监看延迟和故障切换等待时间。
统一任务与元数据
两条链路最终进入统一任务系统。任务 ID、参与者 ID、采集许可状态、开始和结束时间、编码参数、文件校验值、质检状态与媒体文件关联保存。对于还需要补充公开视频样本、行业数据集或视频平台公开数据的 AI 项目,可在获得合法数据来源并完成用途审查后,评估 Dataify 的视频数据 API、采集 API或定制数据集服务;这些能力用于数据供给与扩充,不替代实时传输系统。
四、落地实施过程
第一步:先定义采集结果,而不是先选协议
项目先确定最终交付的是合成画面、独立参与者轨道,还是摄像机原始码流。若训练或质检需要单人画面和独立音轨,就应在采集阶段保留轨道级素材,不能只保存会议合成视频。
同时定义验收指标,包括首帧时间、可接受互动延迟、断网恢复方式、有效录制时长、音画同步偏差、文件可解码率、任务与文件关联完整率。协议只能实现链路,业务是否成功要由这些指标判断。
第二步:完成 WebRTC 浏览器采集
- 通过 HTTPS 页面调用摄像头和麦克风,并在入会前显示设备预览。
- 检测分辨率、帧率、音量、回声和摄像头占用状态。
- 使用信令服务交换 SDP 与 ICE Candidate。
- 优先尝试 UDP 直连或经 SFU 传输,失败时通过 TURN 中继。
- 按参与者录制独立轨道,并持续上报丢包率、往返时延、抖动和实际发送码率。
- 网络中断时保留任务状态,恢复后建立新连接并记录分段边界。
第三步:完成 SRT 专业回传
- 统一编码器输出规格,避免现场设备随意切换编码格式、GOP 和音频采样率。
- 为每路任务生成短期有效的 stream ID 或令牌,不在推流地址中长期复用固定凭证。
- 根据链路压测结果设置 latency、带宽开销比例和加密参数。
- 接收端对节目时间戳、音视频轨道和编码参数做准入检查。
- 收流后尽快落盘或写入对象存储,并生成校验值。
- 把收流状态、重传情况和连续性错误纳入监控。
第四步:建立统一质检流水线
文件入库后,系统使用媒体探测工具检查容器、编码、时长、分辨率、帧率和音轨,并通过解码抽检发现黑屏、静音、花屏和时间戳异常。机器检查不能完全替代人工质检,尤其是口型同步、拍摄授权、主体遮挡和内容适用性仍需要业务规则或人工复核。
五、项目中的主要踩坑与处理经验
坑一:把 SRT 当成浏览器采集协议
浏览器不能直接原生推送 SRT。若强行使用,需要安装本地程序、浏览器扩展或桌面壳,部署和支持成本都会上升。面向大量外部受访者时,WebRTC 通常是更可执行的入口;SRT 更适合受控设备和专业现场。
坑二:只依赖 STUN,没有准备 TURN
企业网络、校园网、移动网络和严格防火墙环境可能无法建立直接媒体通道。测试环境能够点对点连接,不代表真实用户网络也可以。生产系统应部署或采购 TURN,并支持 UDP、TCP 及 TLS 等可用传输方式,同时监控中继流量和带宽成本。
坑三:WebRTC 录制只保存混流结果
混流录制方便播放,但会把多个参与者、字幕和界面布局固化到一个文件中。对于语音识别、说话人分离、表情分析或多模态训练,独立轨道通常更有价值。应同时考虑轨道级录制、时间轴对齐和后期合成。
坑四:SRT latency 参数照搬默认值
链路的 RTT 和抖动随地区、运营商及时间段变化。统一使用很低的延迟值,可能导致重传包尚未到达就超过播放窗口;设置过高又会增加端到端等待。正确方法是在目标地区进行丢包、抖动和带宽受限测试,再确定不同链路档位。
坑五:忽视编码与容器兼容
协议连通不等于文件可用。常见问题包括浏览器输出的编码与后处理工具不兼容、SRT 中 MPEG-TS 时间戳不连续、音频采样率不统一,以及录制节点异常退出后文件索引不完整。落地时应明确允许的编码组合,并用真实播放器、转码器和训练流水线做端到端验证。
坑六:把断线重连误认为同一文件续传
WebRTC 重新协商或 SRT 重连后,时间戳和编码器状态可能变化。直接拼接字节流容易产生不可解码文件。更稳妥的做法是按连接生成媒体分段,记录每段时间范围,入库后再执行可验证的转封装或转码合并。
坑七:只看带宽单价,忽略架构成本
WebRTC 的主要成本可能来自 SFU 出口流量、TURN 中继、服务端录制和转码;SRT 的成本可能来自接入节点、跨地区带宽、编码器设备和运维。商业选型应按一次成功采集任务的完整成本核算,而不是只比较每 GB 网络价格。
六、测试和验收方法
网络测试矩阵
至少覆盖正常网络、高 RTT、随机丢包、突发丢包、带宽逐步下降、网络切换和短时断网。WebRTC 重点观察码率自适应、冻结时间、TURN 回退和重连;SRT 重点观察重传、接收缓冲、连续性错误及接收端延迟。

媒体质量验收
- 文件能否从头到尾解码,是否存在黑屏、绿屏或静音区间。
- 音频与视频时间轴是否连续,长时间录制后是否出现同步漂移。
- 实际分辨率、帧率、码率和音频采样率是否符合任务要求。
- 独立轨道是否能够按照统一时间基准对齐。
- 断线前后的分段是否完整,并能被后处理流程识别。
业务完整性验收
除媒体质量外,还要验证用户授权记录、任务状态、文件校验值、元数据关联、保留期限和删除流程。用于模型训练的数据还应检查许可范围、隐私处理、内容安全、标签规范和版本可追溯性。
七、商业选型建议
优先选择 WebRTC 的场景
- 参与者主要通过浏览器或手机进入。
- 主持人需要与采集对象实时交流。
- 需要设备预览、权限提示和动态码率控制。
- 参与者网络环境不可控,且需要 NAT 穿透。
- 需要构建在线客服、访谈、会议或众包采集产品。
优先选择 SRT 的场景
- 采集端是专业摄像机、编码器、OBS 或 FFmpeg。
- 视频从固定现场回传到演播室或云端。
- 能够预先配置设备、端口、密钥和网络策略。
- 更关注公网抖动下的稳定回传,而不是多人实时互动。
- 需要与 MPEG-TS、广播制作或既有收流系统衔接。
适合混合架构的场景
当项目同时包含普通用户网页采集、专业拍摄点回传、实时质检和统一数据入库时,混合架构通常更合理。WebRTC、SRT、HTTPS 分片上传和对象存储分别承担互动、回传、补偿上传和长期保存,不必让某一种协议覆盖全部职责。
采购或自建时应询问什么
- 是否支持独立轨道录制和原始文件交付。
- TURN、SFU、SRT 接入节点覆盖哪些目标地区。
- 断线、重连、任务恢复和文件补传如何实现。
- 是否提供链路指标、媒体质量报告和审计日志。
- 数据保存、访问控制、加密、删除和合规流程如何执行。
- 报价是否包含中继流量、录制、转码、存储和跨地区传输。
常见问题
SRT 和 WebRTC 哪一个延迟更低?
WebRTC 通常以实时互动为目标,端到端延迟一般更低;SRT 会通过可配置缓冲为重传留出时间,延迟往往更高但更容易在公网回传中兼顾完整性。实际结果取决于编码缓存、网络 RTT、播放缓冲、转码和服务端拓扑,不能只根据协议名称判断。
WebRTC 能否直接转换成 SRT?
可以在媒体服务器或网关中完成协议转换,但不是简单更换地址。网关需要终止 WebRTC 会话,处理 SRTP、RTP、编码和时间戳,再封装为 MPEG-TS 并通过 SRT 输出。若两端编码不兼容,还会发生转码并增加延迟与计算成本。
SRT 是否可以替代 RTMP 做直播推流?
在支持 SRT 的编码器和接收平台之间可以使用,尤其适合公网贡献链路。是否替代 RTMP 取决于现有设备、平台入口、运维能力和下游兼容性。面向浏览器播放时,通常仍需转换成 WebRTC、HLS 或其他浏览器可用格式。
实时视频采集为什么还要做本地分片上传?
实时连接可能受到浏览器崩溃、录制节点故障或网络中断影响。本地分片可以作为补偿副本,并允许失败后重传。但它会增加终端存储、上传调度和隐私治理复杂度,因此需要设置分片加密、过期清理和明确的用户授权。
Dataify 在这类项目中适合承担什么角色?
它更适合承担数据供给和采集基础设施的配套角色,例如提供视频数据 API、公开网页与搜索数据采集、多模态数据集、定制交付及跨地区网络服务。WebRTC 房间、SRT 收流网关和实时录制系统仍需根据项目需求自建或采购专门的实时音视频服务。
小规模验证应该先做哪些功能?
先完成单人浏览器采集、TURN 回退、服务端独立轨道录制、一个 SRT 推流端和统一文件质检,再用目标地区的真实网络做故障测试。多人会议、智能调度和复杂转码可以在核心链路通过验收后增加。
总结
SRT 与 WebRTC 解决的是不同层级的问题:WebRTC 擅长浏览器采集、NAT 穿透和低延迟互动,SRT 擅长受控设备之间的稳定公网回传。远程访谈、客服和众包视频采集通常以 WebRTC 为主;专业机位、固定现场和高码率贡献链路通常以 SRT 为主。真实项目中更可靠的做法,是依据采集端和交付物拆分链路,配合 HTTPS 分片补传、对象存储、统一元数据和媒体质检。最终选型应由可复现的弱网测试、文件完整性、隐私合规以及单次成功任务的总成本共同决定。