,SDK 加入了 断网自动重连、自适应缓冲、低拷贝通路、软硬编码协同机制 等特性,延迟进一步被压缩至毫秒级别; 进入当前阶段,RTMP 推流模块已与 轻量级 RTSP 服务、HTTP-FLV 推送、GB28181 尤其在跨设备、多线程、弱网环境下,仍能稳定维持 100–200 ms 的低延迟体验。4. 队列与缓冲策略在复杂网络环境中,推流的稳定性取决于队列的组织方式。 这种设计的核心在于“持续性”——推流链路不会因暂时的失联而中断整个系统节奏。3. 抖动缓冲与节奏调度在复杂网络下,音视频数据流可能出现延迟波动。 与轻量级 RTSP 服务 / 多路转推: 推流端可作为系统“源点”,由内置 RTSP 服务转发至内网或边缘节点,并可实现 RTSP、RTMP、HTTP-FLV 多协议互转,构建覆盖广、延迟低的实时分发网络 它以 自研框架、跨平台适配、模块化结构、低延迟管线、弱网自适应与可观测机制,在教育、安防、车载、应急、工业互联网、XR 等场景中长期稳定运行。在“可用”早已不稀缺的时代,真正稀缺的,是长期可用。
在本文之前,我们发布了Unity环境下的RTMP推流(Windows平台+Android平台)和RTMP|RTSP拉流(Windows平台+Android平台+iOS平台)低延迟的解决方案,今天做个整体汇总 Unity环境下RTMP推流 Unity环境下,不管是camera还是窗体数据也好,主要是高效率的拿到原始数据,采集端可用的数据格式是RGB的,拿到之后,通过高效率的数据传递,发给封装后的原生SDK,完成数据编码和 Unity环境下RTMP|RTSP播放器 Unity环境下RTMP或RTSP直播播放我们前几年就有发布,并已应用在好多传统行业领域,比如教育或工业仿真或一些低延迟的控制场景。 相关博客: Windows平台Unity3d下如何同时播放多路RTSP或RTMP流 https://cloud.tencent.com/developer/article/1800633 如何在Unity3d 平台下低延迟播放RTMP或RTSP流 https://cloud.tencent.com/developer/article/1592731
随着VR类、游戏类场景的快速发展,开发者对Unity3d低延迟的直播需求量越来越大,前两年,大牛直播SDK发布了Windows平台、Android平台和iOS平台的Unity3d RTMP和RTSP的播放 本文以Android平台为例,我们的实现:基于大牛直播SDK现有非常成熟的native RTMP和RTSP播放模块,回调解码后的原始数据,传递给Unity3d,实现相应的绘制即可,对应demo,可以参考 url.StartsWith("rtmp://") && ! 1 : 0); //设置是否启用低延迟模式 NT_U3D_SetMute(player_handle_, is_mute_ ? (); is_running = false; } 以上是大概的实现流程,Unity环境下,实际测试时延,和 native直播模块相差无几,都是毫秒级延迟。
技术探讨自2017年我们发布跨平台的低延迟Unity下的RTSP|RTMP直播播放器后,Unity下的直播体验有了质的提升,特别是RTMP,从大家认知里面的几秒钟,直接缩减到100-300ms,满足了绝大多数场景下低延迟的技术诉求 今天就Unity下的RTSP|RTMP的低延迟播放,从以下几个维度,抛砖引玉,做个探讨: 选择合适的播放插件 Unity下的RTSP|RTMP低延迟播放,业内想到最多的是大牛直播SDK的SmartPlayer 低延迟模式:如果插件或 SDK 提供了低延迟模式的选项,一定要开启该模式。不过,有些情况下开启低延迟模式可能会牺牲一定的视频质量或稳定性,需要进行权衡。 优化网络环境网络带宽:确保网络带宽足够大,以支持 RTMP 或 RTSP 流的实时传输。如果是在本地网络环境下,可以使用有线网络连接,避免使用无线网络,以减少网络波动和延迟。 资源占用如下:总结Windows平台如果对延迟和资源占有等,要求非常高,可以选择合适的低延迟RTSP或RTMP播放插件、优化播放参数设置、优化网络环境、优化代码和渲染流程。
传统监控方案常受限于摄像头接入数量不足、编解码效率低、推流延迟高三大痛点,难以覆盖社区、园区等复杂场景的全点位监控,更无法满足应急事件 “毫秒级响应” 的需求。 ,端到端推流延迟控制在 120~150ms,为各类大场景智能安防 360° 环视需求提供高性价比硬件底座。 应急级低延迟推流:异常事件(如闯入、越界、设备故障)的响应速度直接决定安防效果,端到端延迟需严格控制在 200ms 以内,120~150ms 为最佳区间;3. RTSP 低延迟推流,端到端延迟低至 120ms通过 “采集 - 编码 - 传输 - 解码” 全链路优化,开发板实现极低的推流延迟:视频采集后经 RGA 预处理 + VPU 硬件编码,此阶段延迟仅 80 商场与公共场所安防· 集中处理店铺门口、走廊、消防通道的视频流,支持多画面 2×2/3×4 拼接显示;· 结合 AI 算法实现客流统计、人员拥堵识别,既保障安全,也为运营决策提供数据支持。
在Unity3D平台上实现全景实时RTMP或RTSP流渲染,可以通过以下方式:获取全景视频数据源:首先,需要拉取RTMP或RTSP流数据,解码后,把RGB或YUV数据,回调到unity,从而获取到全景视频流数据 技术实现图片本文以大牛直播SDK的RTMP推送端作为数据采集,获取全景窗体数据后,编码打包推送到RTMP服务,或启动个轻量级RTSP服务,对外提供个RTSP的拉流URL。 1 : 0); //设置是否启用低延迟模式 //设置旋转角度(设置0, 90, 180, 270度有效,其他值无效) int rotate_degrees = 0; 0.0f, 0.0f, 0.0f); }}}总结Unity全景播放RTMP或RTSP实时流,可以广泛用于各种需要提供真实场景或沉浸式体验的场景,为用户带来更加逼真的体验。 与此同时,Unity全景实时播放,需要有非常高的延迟要求和性能要求,特别是全景数据源,分辨率和码率都非常高,对解码效率和解码后的数据拷贝投递,提了更高的要求。
RTMP以其独特的优势,为实时音视频传输提供了高效、稳定的解决方案。视频汇聚安防监控综合平台EasyCVR支持多协议接入,其中就包括RTMP协议。 1、RTMP视频推流技术具有低延迟的特点RTMP基于TCP协议,在应用层和传输层之间提供了一个可靠的传输通道,从而保证了音视频数据的可靠传输。 同时,RTMP协议通过优化数据传输机制,减少了数据丢失的风险,从而实现了低延迟的音视频传输。这使得RTMP视频推流技术特别适用于对实时性要求较高的场景,如直播互动、远程会议等。 3、RTMP视频推流技术具有稳定性强的特点通过建立持久的连接,RTMP可以保证数据传输的稳定性和可靠性。在推流过程中,RTMP协议能够有效地处理网络波动和丢包等问题,确保音视频数据的完整性和连续性。 综上所述,RTMP视频推流技术以其低延迟、跨平台支持、稳定性强和良好的交互能力等特点,在实时音视频传输领域具有广泛的应用前景。
如果需要浏览器场景下有更好的兼容性,对于RTSP流来说,好多公司通常的做法是把RTSP转RTMP,然后分发到RTMP服务器,然后服务器转http-flv出来,浏览器直接播放http-flv流,或者直接播放 hls流(如果可以忍受几秒甚至十几秒延迟的话)。 本文基于大牛直播SDK https://github.com/daniulive/SmarterStreaming 现有RTSP、RTMP播放接口的基础上,二次封装,扩展了ocx控件,用于IE浏览器下的低延迟 ULONG NT_SetLowLatencyMode(LONG mode); 设置是否低延迟模式播放; 13. , 点播流才有*/ var NT_SP_E_EVENT_ID_PULLSTREAM_REACH_EOS = NT_SP_E_EVENT_ID_BASE | 0xa3; /*拉流结束, 直播流没有这个事件
有用户反馈,现场的设备是运动相机,不支持国标和其他协议接入LiteCVR平台,只能通过rtmp_push推送到LiteCVR平台。 LiteCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发 RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。 LiteCVR平台机制上并不支持rtmp_push协议的级联,但是依然有办法可以实现用户的需求。 因为现场只有这种协议,所以,我们将rtmp_push协议分发出来的RTSP流再接入到LiteCVR平台,转换了一道变成了RTSP接入,再次级联就能成功获取到视频通道了。
区别于传统“播放器或推流器”的单点工具,SmartMediaKit 更像是一套“积木式音视频内核”,用户可按需加载所需模块,构建灵活可控的视频通信链路,广泛应用于安防监控、工业采集、远程协作、智能终端等多种高实时性场景 / 镜像推送✅播放 / 推送端录像同步触发全链路✅多实例播放播放✅弱网自适应缓冲播放✅低延迟播放模式播放✅(100~250ms) 3. 下列为基于实际项目场景整理的典型链路组合,便于开发者按需参考部署: 场景一:RTSP 监控画面低延迟播放(安卓 / Windows)适用场景:工业视频监控、智能机器人远程操控、安防可视化管理等 链路组合 :RTSP 视频源 → [RTSP 播放器 SDK] → 安卓 / Windows 播放界面推荐模块配置: 播放端使用 RTSP Player SDK(开启低延迟模式 + 硬解支持) 开启 YUV/RGB 推荐组合: 推送端:RTMP 推送模块 + SEI 扩展数据注入 地面接收端:RTMP 播放模块 + 播放端录像模块 分发中继端:RTMP 录制 + 前端播放 部署环境:无人机安卓终端 + 控制中心
众所周知,在安防监控领域中,远程视频监控技术的应用非常广泛。在工地监控中,它可以帮助监管部门和工程项目管理者及时掌握现场施工情况,发现是否存在违规、危险行为,保障工人安全和现场施工质量。 有用户反馈,现场设备使用RTMP协议接入到视频监控汇聚LiteCVR平台,HLS和webrtc格式的视频流都能正常播放,FLV视频流却播放不了,请求我们协助排查和解决。 技术人员立即对现场情况进行排查,通过使用OBS工具推流进行播放,发现OBS推流所有协议都能正常播放。使用海康设备进行推流测试,FLV视频流无法加载。经过分析得知,原来是静音帧导致设备断流所致。 解决上述问题,可在配置文件中修改相关参数,具体配置如下:配置完成后保存并重启,此时设备使用RTMP推流协议进行推流,LiteCVR视频汇聚平台上的FLV视频流已经能正常播放了。
目前几种视频流的简单对比: 协议 httpflv rtmp hls dash 传输方式 http流 tcp流 http http 视频封装格式 flv flv tag Ts文件 Mp4 3gp webm 延时 低 低 高 高 数据分段 连续流 连续流 切片文件 切片文件 Html5播放 可通过html5解封包播放(flv.js) 不支持 可通过html5解封包播放(hls.js) 如果dash文件列表是 http_flv是一个无限大的http流的文件,相比rtmp就只能直播,而rtmp还可以推流和更多的操作。但是http有个好处,就是是以80http通信的,穿透性强,而且rtmp是非开放协议。 将测试:RTMP延迟1s左右,HTTPFLV延迟1-2s左右,可用于对延迟要求比较苛刻的场景,但要注意兼容性,文章最后会说明HTTPFLV兼容性。 ---- HTTP FLV直播Demo: <! 目前在我们平台,ios客户端音视频均同步,安卓客户端音视频不同步,需要设置flvjs的config.fixAudioTimestampGap = false才会音视频同步。
对于一个流媒体集群系统,也就是cdn系统,能否支持以下业务: 客户送入一个rtmp实时流,譬如秀场,游戏,会议,广电等等。 集群的源站输出hls,适配移动端,包括苹果和安卓。 播放器播放边缘的rtmp或http flv实时流,延迟都在3至5秒内。 能输出http mp3流,适配某些安卓机型,不支持纯音频hls。 支持多源站,也就是客户可以给不同的源站送同一个rtmp流。 能分发hls和rtmp,以及http flv。 对于单源站,集群能支持上层rtmp热备,防止上层节点故障。 对于多源站,集群能支持rtmp,http flv还有hls热备。 对于上行推流加速,推流时卡顿时,能测量推流客户端到边缘节点的带宽,选择合适的节点。 输出的hls切片支持p2p功能,能对接第三方p2p,节约成本。 有各种回调,支持对接第三方的直播流转码,收录系统。 http flv流,在编码器没有推流时,播放器能连接到边缘,而不是404。 http flv流的延迟和热备要求,和rtmp一样。
5)如果使用基于udp的私有协议,无法被CDN网络支持;如果使用基于RTMP的标准协议,无法获得理想的低延迟。 6)无法支撑海量用户并发,或者在海量并发情况下,效果不稳定。 推流是能否做到低延迟的关键。智能终端所在的环境十分的复杂,要适应这些复杂的环境,要做很多工作。 这里重复了一下: 1)延迟比较大,做不到连麦互动多人对讲的效果。 2)无法全面兼容众多安卓机型,长尾用户群体无法全面覆盖。 3)硬件场景声音环境复杂,噪音抑制和回声消除的效果不好。 我这里举的安卓智能手机的例子,其实也适用于采用了安卓操作系统的其它智能终端,比如说无人机或者智能电视。 技术上的指标包括但是不限于:1)低延迟;2)流畅性;3)回声消除;4)噪音抑制;5)跨平台;6)全终端兼容;7)海量用户并发;8)无感知扩容能力。
感知侧(机载端) 多模态相机(光学、红外、多光谱、变焦云台等) 视频编码模块(H.264/H.265) 可选大牛直播SDK RTMP推流端或GB28181设备接入端(超低延迟编码与上传) ✅ 2. 低延迟上传、断点重连 多协议适配模块内置 RTMP / RTSP / GB28181 协议封装器快速接入公安指挥系统、可视化平台或私有云平台 播放 SDK支持跨平台实时播放(Android/iOS/Windows 推送或GB28181接入至国标平台用于视频中继、统一转发、云端转推等复合链路场景 ✅ 所有模块具备良好的跨平台接口封装与嵌入式兼容性,可部署于安卓无人机终端、嵌入式飞控模块或地面/云端平台。 :推流 SDK + 图像处理模块 + YUV 数据回调 + 本地录像 3. 大牛直播SDK 正是这样一个系统级的解决方案 —— 它不仅解决了多源采集、多协议推流、多终端播放等工程难题,更在高可靠性、低延迟控制、平台适配度等方面展现出强大的实用价值。
因此,低延迟优化不是单纯追求一个漂亮数字,而是让直播更像“正在发生”的现场。要做好私域直播开发,需要从协议选型、推流链路、服务端处理、播放器策略和终端体验几个层面一起考虑。 常见协议中,RTMP 多用于推流,生态成熟,稳定性较好;HLS 兼容性强,适合网页和移动端播放,但因为切片机制,延迟通常偏高;HTTP-FLV 延迟相对较低,适合部分网页直播场景;WebRTC 更适合实时互动 三、推流与服务端:别让链路越走越慢一次直播从摄像头采集到观众看到画面,中间会经过编码、推流、接收、转码、分发、拉流等多个环节。每多一次处理,都可能增加延迟。 低延迟不是让播放器一直紧绷,而是让它在速度和稳定之间保持弹性。用户点开能快速进入,观看中少转圈,互动时不掉队,这就是好体验。五、监控调优:让问题能被看见私域直播上线后,低延迟优化仍然要持续进行。 总结:低延迟是为了让互动更自然私域直播开发中的低延迟优化,不能只靠某一个协议或某一个播放器参数完成。它需要从场景判断开始,再结合协议选型、推流链路、服务端处理、播放策略和数据监控逐步打磨。
用户反馈说华为手机(安卓)小程序推流时声音持续卡顿,始终不会恢复且稳定复现,但是 iOS 小程序推流时声音却是正常的。二、疑惑经过一系列常规处理后,问题依然存在。 后来进一步验证发现,不仅是华为手机,所有的安卓手机小程序推流声音都有问题。按照一般的思路,既然 iOS 设备的小程序没有问题,理论上安卓设备的小程序也不应该有问题,那么很可能是后续链路出现了问题。 首先是 RTMP 服务,因为小程序推流是 rtmp 协议的,用来接收小程序上行的媒体流。 反观安卓设备小程序推流的情况,concealedSample/s 数据始终在 2.5k/s 左右,影响了声音的正常播放。 解惑3针对疑惑3,综合研发同学和 QA 同学的反馈,去年年底的时候,安卓小程序推流音频还是正常的,而且之后流媒体服务器和客户端都没有进行过相关功能的升级。
技术背景好多开发者,希望我们能探讨下Unity平台RTMP或RTSP直播流数据播放和录制相关的模块,实际上,这块流程我们已经聊过多次,无非就是通过原生的RTMP或者RTSP模块,先从协议层拉取到数据 简单来说,多一次拷贝,都会增大性能瓶颈或延迟。 ;Windows平台RTMP|RTSP直播播放模块;Linux平台RTMP直播推送模块(采集Unity窗体、Unity声音),也可扩展轻量级RTSP服务模块;Linux平台RTMP|RTSP直播播放模块 下图系Linux平台RTMP播放图,可以看到,延迟非常低。 1 : 0); //设置是否启用低延迟模式 NT_U3D_SetMute(player_handle_, is_mute_ ?
/jump) 多播能力强 在安防摄像机、NVR、IPC 中几乎是绝对主流 延迟极低:80–150ms 4.2 RTMP:工具链最强的推流协议Republish 到 CDN 的事实标准。 本地录制(MP4/FLV双格式) RTSP/GB28181 → RTMP 转推到 CDN Unity3D RTMP 推流/播放一体化集成 应用行业: 客服/企业直播 移动 App 内嵌直播 录屏推流工具 3)内置超低延迟缓冲策略——确保工业级稳定性大牛直播SDK针对 FLV 的专业级优化包括: 智能缓冲池调节(自动根据网络波动调节帧缓存) 低时延模式与稳态模式自动切换 关键帧加速策略(快速首帧) (4)智慧医疗 手术室实时影像 远程教学可视化 医疗设备端的视频预览 医工系统的 Web 页面监控流 FLV 的优势是延迟低、成本低、设备兼容度高。 理由 4:RTMP 在推流链路的生态地位无人能替代RTMP 是推流行业的“根基”: OBS 全生态 调试工具全靠 RTMP CDN 全量支持 成熟稳定 实现简单 开发成本低 调试透明 而 WHIP
它通过持久连接、低开销的分片机制,广泛应用于直播推流。 技术原理:RTMP 基于 TCP 协议,通过数据包分片的方式进行音视频流的传输。 广泛支持:几乎所有推流工具(如 OBS、硬件编码器)和流媒体服务(如 YouTube、Twitch)都支持 RTMP。 低开销:分片机制减少了头部开销,使得流的传输更加高效。 通过 RTSP 拉流模块,SDK 能够高效地接入安防视频流并进行实时转发和播放,为监控系统提供更加稳定、低延迟的视频回传和管理能力。 RTMP:高效推流,稳定分发RTMP(Real-Time Messaging Protocol)作为行业中最广泛应用的推流协议,一直以来都是直播推流的首选协议。 低延迟:经过大牛直播SDK的优化,延迟已降至几乎实时,适合低延迟直播推流。