如果将要传输的信息比作我们网上购买的商品,UDP和TCP分别是2个快递小哥,UDP这个快递小哥的特点是,送东西快,但是偶尔丢件(数据丢包直接忽略),把东西放在你家门口就不管了,只管送,你收没收到货、有没有搞丢被人拿走也不管。
而TCP这个快递小哥的特点是,送东西慢,先打电话确认业主是否在家、是否能够收件,再过去送件,很靠谱,几乎不会丢件,而且他送的快递都是标了序号的,便于排序整理,UDP那个快递小哥则不管这么多,送的快递都没有标序号。
因此一些重要的、且时效性要求不是非常高的信息传输都会采用TCP传输,而对一些强调块、重要性一般的信息数据会选择UDP,如音视频通话。
RTSP,是目前三大流媒体协议之一,英文全称为:Real Time Streaming Protocol,即实时流传输协议,它是由Real Networks 和 Netscape2家公司共同创立。它本身并不传输数据,传输数据的动作可以让UDP/TCP协议完成,而且RTSP可以选择基于RTP协议传输。
RTSP对流媒体提供了诸如暂停,快进等控制,它不仅提供了对于视频流的控制还定义了流格式,如TS、 mp4 格式。通常应用于安防视频监控等场景,如公安调查监控进行视频的查看、回放、快进、后退等操作,十分友好。
最大的特点除了控制视频操作外还具有低延时的特点,通常可实现毫秒级的延时,但是也存在一些弊端,如该视频流技术实现复杂,而且对浏览器很挑剔,且flash插件播不了,这也极大的限制了它的发展。
HLS,英文全称为:HTTP Live Streaming,由苹果公司提出,它是基于Http的流媒体网络传输协议,主要传输TS格式流,最大的特点是安卓、苹果都能兼容,通用性强,而且码流切换流畅,满足不同网络、不同画质的用户播放需要,但是因为该种视频流协议也存在较为致命的缺陷,那就是网络延时太高。
本质上HLS视频流传输是将整个视频流分成一个个小切片,可理解为切土豆片,这些小片都是基于HTTP文件来下载——先下载,后观看。
用户观看视频实际上是下载这些小的视频切片,每次只下载一些,苹果官方建议是请求到3个片之后才开始播放,若是直播,时延将超10秒,所以比较适合于点播。
因此HLS视频的切片一般建议10s,时间间隔太短就切容易造成碎片化太严重不方便数据存储和处理,太长容易造成时延加重。