从那一刻起,RTMP 推流模块不再只是一个“推流工具”,而成为一个可在任意平台、任意场景中稳定运行的“系统组件”。 它的设计目标非常明确:以毫秒为单位控制时间流,以模块为单位组织系统能力。2. ,SDK 加入了 断网自动重连、自适应缓冲、低拷贝通路、软硬编码协同机制 等特性,延迟进一步被压缩至毫秒级别; 进入当前阶段,RTMP 推流模块已与 轻量级 RTSP 服务、HTTP-FLV 推送、GB28181 尤其在跨设备、多线程、弱网环境下,仍能稳定维持 100–200 ms 的低延迟体验。4. 队列与缓冲策略在复杂网络环境中,推流的稳定性取决于队列的组织方式。 与轻量级 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
在Unity3D平台上实现全景实时RTMP或RTSP流渲染,可以通过以下方式:获取全景视频数据源:首先,需要拉取RTMP或RTSP流数据,解码后,把RGB或YUV数据,回调到unity,从而获取到全景视频流数据 技术实现图片本文以大牛直播SDK的RTMP推送端作为数据采集,获取全景窗体数据后,编码打包推送到RTMP服务,或启动个轻量级RTSP服务,对外提供个RTSP的拉流URL。 1 : 0); //设置是否启用低延迟模式 //设置旋转角度(设置0, 90, 180, 270度有效,其他值无效) int rotate_degrees = 0; 或RTSP实时流,可以广泛用于各种需要提供真实场景或沉浸式体验的场景,为用户带来更加逼真的体验。 与此同时,Unity全景实时播放,需要有非常高的延迟要求和性能要求,特别是全景数据源,分辨率和码率都非常高,对解码效率和解码后的数据拷贝投递,提了更高的要求。
传统监控方案常受限于摄像头接入数量不足、编解码效率低、推流延迟高三大痛点,难以覆盖社区、园区等复杂场景的全点位监控,更无法满足应急事件 “毫秒级响应” 的需求。 ,端到端推流延迟控制在 120~150ms,为各类大场景智能安防 360° 环视需求提供高性价比硬件底座。 应急级低延迟推流:异常事件(如闯入、越界、设备故障)的响应速度直接决定安防效果,端到端延迟需严格控制在 200ms 以内,120~150ms 为最佳区间;3. RTSP 低延迟推流,端到端延迟低至 120ms通过 “采集 - 编码 - 传输 - 解码” 全链路优化,开发板实现极低的推流延迟:视频采集后经 RGA 预处理 + VPU 硬件编码,此阶段延迟仅 80 商场与公共场所安防· 集中处理店铺门口、走廊、消防通道的视频流,支持多画面 2×2/3×4 拼接显示;· 结合 AI 算法实现客流统计、人员拥堵识别,既保障安全,也为运营决策提供数据支持。
RTMP以其独特的优势,为实时音视频传输提供了高效、稳定的解决方案。视频汇聚安防监控综合平台EasyCVR支持多协议接入,其中就包括RTMP协议。 1、RTMP视频推流技术具有低延迟的特点RTMP基于TCP协议,在应用层和传输层之间提供了一个可靠的传输通道,从而保证了音视频数据的可靠传输。 同时,RTMP协议通过优化数据传输机制,减少了数据丢失的风险,从而实现了低延迟的音视频传输。这使得RTMP视频推流技术特别适用于对实时性要求较高的场景,如直播互动、远程会议等。 2、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_RECORDER_REACH_EOS = NT_SP_E_EVENT_ID_BASE | 0xa2; /*录像结束, 直播流没有这个事件
有用户反馈,现场的设备是运动相机,不支持国标和其他协议接入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接入,再次级联就能成功获取到视频通道了。
技术探讨自2017年我们发布跨平台的低延迟Unity下的RTSP|RTMP直播播放器后,Unity下的直播体验有了质的提升,特别是RTMP,从大家认知里面的几秒钟,直接缩减到100-300ms,满足了绝大多数场景下低延迟的技术诉求 今天就Unity下的RTSP|RTMP的低延迟播放,从以下几个维度,抛砖引玉,做个探讨: 选择合适的播放插件 Unity下的RTSP|RTMP低延迟播放,业内想到最多的是大牛直播SDK的SmartPlayer 低延迟模式:如果插件或 SDK 提供了低延迟模式的选项,一定要开启该模式。不过,有些情况下开启低延迟模式可能会牺牲一定的视频质量或稳定性,需要进行权衡。 优化网络环境网络带宽:确保网络带宽足够大,以支持 RTMP 或 RTSP 流的实时传输。如果是在本地网络环境下,可以使用有线网络连接,避免使用无线网络,以减少网络波动和延迟。 资源占用如下:总结Windows平台如果对延迟和资源占有等,要求非常高,可以选择合适的低延迟RTSP或RTMP播放插件、优化播放参数设置、优化网络环境、优化代码和渲染流程。
下列为基于实际项目场景整理的典型链路组合,便于开发者按需参考部署: 场景一:RTSP 监控画面低延迟播放(安卓 / Windows)适用场景:工业视频监控、智能机器人远程操控、安防可视化管理等 链路组合 :RTSP 视频源 → [RTSP 播放器 SDK] → 安卓 / Windows 播放界面推荐模块配置: 播放端使用 RTSP Player SDK(开启低延迟模式 + 硬解支持) 开启 YUV/RGB 、设备能力上报一对一互动 SDK(RTSP/RTMP)Android / iOS / WindowsRTSP / RTMPRTSP / RTMP––支持实时录制支持公网/内网穿透低延迟 P2P 交互SEI 案例2:Android 移动终端采集 + 推送 + 录像 场景描述:用于远程运维、巡检、教学、新闻移动直播等场景,需边拍边推 + 实时录像 推荐组合: RTMP 推送模块(支持摄像头采集、屏幕录制) 推荐组合: 推送端:RTMP 推送模块 + SEI 扩展数据注入 地面接收端:RTMP 播放模块 + 播放端录像模块 分发中继端:RTMP 录制 + 前端播放 部署环境:无人机安卓终端 + 控制中心
随着VR类、游戏类场景的快速发展,开发者对Unity3d低延迟的直播需求量越来越大,前两年,大牛直播SDK发布了Windows平台、Android平台和iOS平台的Unity3d RTMP和RTSP的播放 本文以Android平台为例,我们的实现:基于大牛直播SDK现有非常成熟的native RTMP和RTSP播放模块,回调解码后的原始数据,传递给Unity3d,实现相应的绘制即可,对应demo,可以参考 Native RTSP或RTSP直播播放SDK回调RGB/YUV420/NV12等其中的一种未压缩的图像格式; 2. url.StartsWith("rtmp://") && ! 1 : 0); //设置是否启用低延迟模式 NT_U3D_SetMute(player_handle_, is_mute_ ?
众所周知,在安防监控领域中,远程视频监控技术的应用非常广泛。在工地监控中,它可以帮助监管部门和工程项目管理者及时掌握现场施工情况,发现是否存在违规、危险行为,保障工人安全和现场施工质量。 有用户反馈,现场设备使用RTMP协议接入到视频监控汇聚LiteCVR平台,HLS和webrtc格式的视频流都能正常播放,FLV视频流却播放不了,请求我们协助排查和解决。 技术人员立即对现场情况进行排查,通过使用OBS工具推流进行播放,发现OBS推流所有协议都能正常播放。使用海康设备进行推流测试,FLV视频流无法加载。经过分析得知,原来是静音帧导致设备断流所致。 解决上述问题,可在配置文件中修改相关参数,具体配置如下:配置完成后保存并重启,此时设备使用RTMP推流协议进行推流,LiteCVR视频汇聚平台上的FLV视频流已经能正常播放了。
延时 低 低 高 高 数据分段 连续流 连续流 切片文件 切片文件 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才会音视频同步。 flvjs.getFeatureList().mseLiveFlvPlayback 目前测试结果: ios :均不支持,包括微信和safari 安卓:微信均不支持;其他浏览器部分支持点播,全部不支持直播
以即构科技为例,在做音视频直播云服务的过程中针对智能终端解决了以下问题: 1)延迟比较大,做不到连麦互动多人对讲的效果。 2)无法全面兼容众多安卓机型,长尾用户群体无法全面覆盖。 5)如果使用基于udp的私有协议,无法被CDN网络支持;如果使用基于RTMP的标准协议,无法获得理想的低延迟。 6)无法支撑海量用户并发,或者在海量并发情况下,效果不稳定。 推流是能否做到低延迟的关键。智能终端所在的环境十分的复杂,要适应这些复杂的环境,要做很多工作。 推流可以分为两步:1)选路,选择一条最优的路径;然后2)推流,在该路径上做到最优。在服务器集群上的处理包括混流(如果需要)和存储等,然后把音视频流转推到CDN网络去。 这里重复了一下: 1)延迟比较大,做不到连麦互动多人对讲的效果。 2)无法全面兼容众多安卓机型,长尾用户群体无法全面覆盖。 3)硬件场景声音环境复杂,噪音抑制和回声消除的效果不好。
对于一个流媒体集群系统,也就是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一样。
因此,低延迟优化不是单纯追求一个漂亮数字,而是让直播更像“正在发生”的现场。要做好私域直播开发,需要从协议选型、推流链路、服务端处理、播放器策略和终端体验几个层面一起考虑。 常见协议中,RTMP 多用于推流,生态成熟,稳定性较好;HLS 兼容性强,适合网页和移动端播放,但因为切片机制,延迟通常偏高;HTTP-FLV 延迟相对较低,适合部分网页直播场景;WebRTC 更适合实时互动 三、推流与服务端:别让链路越走越慢一次直播从摄像头采集到观众看到画面,中间会经过编码、推流、接收、转码、分发、拉流等多个环节。每多一次处理,都可能增加延迟。 低延迟不是让播放器一直紧绷,而是让它在速度和稳定之间保持弹性。用户点开能快速进入,观看中少转圈,互动时不掉队,这就是好体验。五、监控调优:让问题能被看见私域直播上线后,低延迟优化仍然要持续进行。 总结:低延迟是为了让互动更自然私域直播开发中的低延迟优化,不能只靠某一个协议或某一个播放器参数完成。它需要从场景判断开始,再结合协议选型、推流链路、服务端处理、播放策略和数据监控逐步打磨。
感知侧(机载端) 多模态相机(光学、红外、多光谱、变焦云台等) 视频编码模块(H.264/H.265) 可选大牛直播SDK RTMP推流端或GB28181设备接入端(超低延迟编码与上传) ✅ 2. 2️⃣ 推流稳定性 × 延迟控制:保障关键场景下的任务可靠性 编码灵活切换:支持软编码与硬编码动态,适配不同平台性能特征与功耗预算。 推送或GB28181接入至国标平台用于视频中继、统一转发、云端转推等复合链路场景 ✅ 所有模块具备良好的跨平台接口封装与嵌入式兼容性,可部署于安卓无人机终端、嵌入式飞控模块或地面/云端平台。 (光学 + 红外)+ RTMP 实时上传 + 本地录像 2. 大牛直播SDK 正是这样一个系统级的解决方案 —— 它不仅解决了多源采集、多协议推流、多终端播放等工程难题,更在高可靠性、低延迟控制、平台适配度等方面展现出强大的实用价值。
用户反馈说华为手机(安卓)小程序推流时声音持续卡顿,始终不会恢复且稳定复现,但是 iOS 小程序推流时声音却是正常的。二、疑惑经过一系列常规处理后,问题依然存在。 疑惑点1、同样是小程序推流,为什么安卓有问题,iOS 就没有问题?疑惑点2、服务器和客户端代码都进行了回退,问题依然存在,什么情况? 后来进一步验证发现,不仅是华为手机,所有的安卓手机小程序推流声音都有问题。按照一般的思路,既然 iOS 设备的小程序没有问题,理论上安卓设备的小程序也不应该有问题,那么很可能是后续链路出现了问题。 首先是 RTMP 服务,因为小程序推流是 rtmp 协议的,用来接收小程序上行的媒体流。 反观安卓设备小程序推流的情况,concealedSample/s 数据始终在 2.5k/s 左右,影响了声音的正常播放。
它通过持久连接、低开销的分片机制,广泛应用于直播推流。 技术原理:RTMP 基于 TCP 协议,通过数据包分片的方式进行音视频流的传输。 劣势: 延迟较高:RTMP 的延迟通常在 2-5 秒之间,适合普通的直播场景,但不适用于对延迟要求极高的互动场景。 RTMP:高效推流,稳定分发RTMP(Real-Time Messaging Protocol)作为行业中最广泛应用的推流协议,一直以来都是直播推流的首选协议。 低延迟:经过大牛直播SDK的优化,延迟已降至几乎实时,适合低延迟直播推流。 协议比较表协议传输层延迟丢包恢复安全性适用场景优势劣势RTMPTCP2–5 秒基于 TCP 重传可加密直播推流、稳定传输广泛兼容、稳定性强、生态成熟延迟较高,浏览器支持差,丢包恢复能力差RTSPUDP/
/jump) 多播能力强 在安防摄像机、NVR、IPC 中几乎是绝对主流 延迟极低:80–150ms 4.2 RTMP:工具链最强的推流协议Republish 到 CDN 的事实标准。 6.2 RTMP —— 推流工具链事实标准,生态动力最强RTMP 是“推流链路的永恒主角”。 (4)智慧医疗 手术室实时影像 远程教学可视化 医疗设备端的视频预览 医工系统的 Web 页面监控流 FLV 的优势是延迟低、成本低、设备兼容度高。 理由 4:RTMP 在推流链路的生态地位无人能替代RTMP 是推流行业的“根基”: OBS 全生态 调试工具全靠 RTMP CDN 全量支持 成熟稳定 实现简单 开发成本低 调试透明 而 WHIP /WHEP: 浏览器推流很好 但专业场景完全无法撼动 RTMP 例如: 演播室推流 专业级推流器 多机位云切换 这些场景只会使用 RTMP,不会使用 WHIP 推流。
TRTC 的低延时观看能力,单房间支持的最大人数上限为10万人。 CDN 观看虽然延迟要高一些,但支持10万人以上的并发观看,且 CDN 的计费价格更加便宜。 1、单画面的旁路直播 当 TRTC 房间中只有一个主播时,TRTC 的旁路推流跟标准的 RTMP 协议直推功能相同,不过 TRTC 的 UDP 相比于 RTMP 有更强大的弱网络抗性。 在腾讯云控制台给TRTC开启旁路推流之后,就可以使用Client对象的startMixTranscode方法进行云端混流转码到直播CDN系统 了解更多可见实现CDN直播观看。 播放器SDK 播放器SDK属于免费的产品,可以集成到Web端,安卓和iOS,播放器 SDK 基于腾讯云强大的后台能力与 AI 技术,为客户提供视频点播和直播播放能力的强大播放载体。