接下来我们就介绍常用的几种常用技术:RTP、RTSP、RTMP、HLS、SRT、WebRTC。 概述 在讨论之前,我们要建立网络分层模型的概念,所有流媒体协议都有归属的层级,这个是理解、区分协议的基础。 流媒体协议需要根据目标场景,选择TCP/UDP,再进行应用层协议开发,这里就出现第一个概念,如何选择TCP/UDP? TCP和UDP之间最大的...
地址是http://开头的,是基于HTTP协议的HTTP-FLV可以简单地理解为RTMP的HTTP协议版本。功能和工作原理上是相似的,上面提到的RTMP切片数据功能HTTP-FLV也是有的。但是,HTTP-FLV协议一般只能用作拉流观看。HTTP-FLV协议的延迟也是比较低的,大概在1-3秒左右,但实际体验下来 HTTP-FLV延迟会略高于RTMP,但是HTTP-FLV...
WebRTC协议其实并不是为了直播场景而设计的,WebRTC是一种点对点的视频/语音通话协议。 由于WebRTC是基于UDP的,建立通信后,会不断以流式发送数据,所以延迟会比RTMP还要低。 在一些交互性较高的直播场景,如直播带货等场景,会使用WebRTC作为推流和观看协议 WebRTC的延迟理论上可以达到1秒内。 WebRTC协议支持推流和拉...
依赖Flash:RTMP最初是为Flash Player设计的,随着Flash Player的逐渐淘汰,RTMP的应用也受到了限制。 不支持HTTP:RTMP不是基于HTTP的协议,因此在某些网络环境中可能受到限制。 4. HLS的优缺点 优点: 自适应比特率:HLS支持自适应比特率流,可以根据网络状况自动调整播放质量。 广泛兼容性:HLS被广泛应用于iOS设备和Safari...
yy、乐视、爱奇艺、优酷土豆、搜狐视频、花椒直播,主要还是通过rtmp&hls来实现的, 但他们也意识到rtmp的天生缺陷,所以不管是技术预研也好,还是测试版也好,都已经或多或少在弄WebRTC了。 流媒体概述: 所谓流媒体是指采用流式传输的方式在 Internet 播放的媒体格式。 流媒体又叫流式媒体,它是指商家用一个视频传送...
而且RTMP的拥塞控制完全依赖传输层TCP的拥塞控制算法来进行拥塞管理,无法提供带宽自适应的算法。 HLS HLS是HTTP Live Streaming,由Apple公司提出的基于短连接HTTP的媒体流传输协议,用于实时音视频流的传输。由于其实基于HTTP协议的,所以网络支持很好,能方便穿透防火墙或代理服务器。
WebRTC: web端实现流媒体的协议。google刚推出WebRTC的时候巨头们要么冷眼旁观,要么抵触情绪很大。使用RTP协议传输。 RTMP(Real Time Messaging Protocol) Macromedia 开发的一套视频直播协议,现在属于 Adobe。和 HLS 一样都可以应用于视频直播,基于TCP不会丢失。
延迟:由于RTMP基于TCP,并且通常使用较大的缓冲区来确保数据的可靠传输,因此它可能比其他一些实时通信协议(如WebRTC)具有更高的延迟。 带宽效率:RTMP可能不如一些现代协议(如SRT)在带宽效率方面高效。这可能会导致在带宽受限的环境中流媒体质量下降。 Adobe依赖性:尽管RTMP现在是开源的,并且有许多非Adobe的实现,但它最...
WebRTCWebRTC是Web端实现的流媒体协议,Google推出时曾面临巨头们的挑战,利用RTP传输,适用于浏览器环境。RTMP (Real Time Messaging Protocol)Adobe的RTMP常用于视频直播,基于TCP,实时性较好但不支持iOS浏览器,适合实时数据传输。HLS (HTTP Live Streaming)HLS是基于HTTP的流媒体协议,适合iOS设备,点播...
RTMP是Adobe开发的协议,适合Flash播放,基于TCP,具有低延迟,但协议相对老旧,连接过程复杂。HLS使用HTTP协议,网络兼容性好,但文件切片可能导致延迟较高。SRT在UDT基础上改进,提供安全、可靠和低延迟的传输,适合对实时性要求高的场景。WebRTC支持网页浏览器的实时通信,信令遵循ICE框架,支持加密和多种...