简述流媒体的传输过程(流媒体传输协议浅析)
简述流媒体的传输过程(流媒体传输协议浅析)音视频通话:webrtc(RTP) SIP+RTP直播:RTMP HLS http flv直播LIVE):HLS RTMP http MP4 http flv RTSP点播(VOD):http MP4 http flv HLS2)从业务场景来看
一、常见的流媒体协议
关于流媒体传输协议,涉及到不同领域,不同业务场景,种类众多,下面一张图是目前常见的流媒体协议。
常见的流媒体传输协议
1)从交互方式来看,流媒体分为点播(VOD)和直播(LIVE)
直播LIVE):HLS RTMP http MP4 http flv RTSP
点播(VOD):http MP4 http flv HLS
2)从业务场景来看
直播:RTMP HLS http flv
音视频通话:webrtc(RTP) SIP+RTP
视频点播:http MP4 http flv hls
IPTV:RTSP(信令)+RTP(媒体)
会议电视:RTP(媒体)+SIP(信令) H323(信令) RTP(媒体)
视频监控:国标SIP(信令) RTP(媒体),RTSP(媒体) RTP(媒体)
VOIP:SIP(信令) RTP(媒体)
3)从传输层方式分为:tcp传输,UDP传输
基于http 类传输协议和rtmp协议底层是TCP传输的,RTP协议和RTCP协议是基于UDP承载的。RTSP通常做信令,用TCP来承载。
二、关于TCP和UDP承载的区别
1)TCP 传输的特点:面向连接,保序,可靠
TCP的协议栈完成了拥塞控制,流量控制,乱序重排,丢包重传等工作。保证数据是有序可靠的。适合对数据完整性要求高的场景:如文件下载,网页浏览,信令传输。
2)UDP 传输特点:面向无连接,不保序,不可靠连接
UDP协议不是面向连接的,只是简单向对方发送数据,哪怕对方不存在。正因为协议简单,所以传输效率高,实时高,延迟低。适合对数据完整性要求不高,但实时性高的场景。如音视频传输,游戏等。
3)关于组播与广播,单播
TCP是一个面向连接的协议,TCP一定是点对点的,一定是两个主机来建立连接的,TCP肯定是单播。只有UDP才会使用广播和组播。 有时一个主机要向网上的所有其它主机发送帧,这就是广播,广播分为二层广播(目的MAC全F)和三层广播(IP地址的主机位全1),二层广播是不能跨路由器的,三层广播是可以跨路由器路由的。 多播(组播)属于单播和广播之间,帧仅传送给属于多播组的多个主机。在广播电视领域为了减少服务器压力,通常使用组播给用户推流。如IPTV,通常机顶盒通过光猫加入某个组播地址,接收某个CDN的组播流。
三、总结
从流媒体的业务特征和TCP,UDP各种特点,UDP在媒体传输方面具有很大优越性,后面将针对TCP和UDP媒体协议选型进一步展开。更多更详细信息请关注AV_Chat