三種主流流媒體協(xié)議(RTMP,RTSP,HTTP)比較
- 2017-05-26 10:31:00
- admin 原創(chuàng)
- 22113
當(dāng)前,流媒體直播和點(diǎn)播中常用到的協(xié)議有rtmp,rtsp和http等,rtmp比較簡(jiǎn)單,應(yīng)用性更廣,客戶(hù)端需要用到Aodbe的flash插件來(lái)觀看,rtsp協(xié)議一般對(duì)實(shí)時(shí)性要求高,支持h.264和H.265以及其他形式的編解碼,實(shí)用性更強(qiáng),客戶(hù)端一般需要自己做或者用vlc,ffplayer等。http一般用到flv_over_http,mp4_over_http,或者ts_over_http,或者h(yuǎn)ls等。
二、協(xié)議介紹
1、HTTP協(xié)議:
HTTP的視頻協(xié)議,主要是在互聯(lián)網(wǎng)普及之后。在互聯(lián)網(wǎng)上看視頻的需求下形成的。
最初的HTTP視頻協(xié)議,沒(méi)有任何特別之處,就是通用的HTTP文件漸進(jìn)式下載。本質(zhì)就是下載視頻文件,而利用視頻文件本身的特點(diǎn),就是存在頭部信息,和部分視頻幀數(shù)據(jù),就完全可以解碼播放了。顯然這種方式需要將視頻文件的頭部信息放在文件的前面。有些例如faststart工具,就是專(zhuān)門(mén)做這個(gè)功能的。
但是最為原始的狀態(tài)下,視頻無(wú)法進(jìn)行快進(jìn)或者跳轉(zhuǎn)播放到文件尚未被下載到的部分。這個(gè)時(shí)候?qū)TTP協(xié)議提出了range-request的要求。這個(gè)目前幾乎所有HTTP的服務(wù)器都支持了。range-request,是請(qǐng)求文件的部分?jǐn)?shù)據(jù),指定偏移字節(jié)數(shù)。在視頻客戶(hù)端解析出視頻文件的頭部后,就可以判斷后續(xù)視頻相應(yīng)的幀的位置了?;蛘吒鶕?jù)碼率等信息,計(jì)算相應(yīng)的為位置。
優(yōu)點(diǎn):
HTTP Live Streaming 還有一個(gè)巨大優(yōu)勢(shì):自適應(yīng)碼率流播(adaptive streaming)。效果就是客戶(hù)端會(huì)根據(jù)網(wǎng)絡(luò)狀況自動(dòng)選擇不同碼率的視頻流,條件允許的情況下使用高碼率,網(wǎng)絡(luò)繁忙的時(shí)候使用低碼率,并且自動(dòng)在二者間隨意切換。這對(duì)移動(dòng)設(shè)備網(wǎng)絡(luò)狀況不穩(wěn)定的情況下保障流暢播放非常有幫助。實(shí)現(xiàn)方法是服務(wù)器端提供多碼率視頻流,并且在列表文件中注明,播放器根據(jù)播放進(jìn)度和下載速度自動(dòng)調(diào)整。使用起來(lái)也非常簡(jiǎn)單。
缺點(diǎn):
實(shí)時(shí)性相對(duì)較差,直播的時(shí)候延遲比較高。當(dāng)然,現(xiàn)在進(jìn)化出來(lái)的flv_over_http或者ts_over_http也可以做到直播延時(shí)很低,基本和rtmp協(xié)議差不多。
2、RTSP協(xié)議:
用于Internet上針對(duì)多媒體數(shù)據(jù)流的一種傳輸協(xié)議,是TCP/IP協(xié)議體系中的一個(gè)應(yīng)用層協(xié)議,RTSP在體系結(jié)構(gòu)上位于RTP和RTCP之上,它使用TCP或UDP完成數(shù)據(jù)傳輸,該協(xié)議定義了一對(duì)多應(yīng)用程序如何有效地通過(guò)IP網(wǎng)絡(luò)傳送多媒體數(shù)據(jù)。
本協(xié)議是最早的視頻傳輸協(xié)議。其中RTSP協(xié)議用于視頻點(diǎn)播的會(huì)話(huà)控制,例如發(fā)起點(diǎn)播請(qǐng)求的SETUP請(qǐng)求,進(jìn)行具體播放操作的PLAY、PAUSE請(qǐng)求,視頻的跳轉(zhuǎn)也是通過(guò)PLAY請(qǐng)求的參數(shù)支持的。
優(yōu)點(diǎn):
RTSP協(xié)議族的優(yōu)勢(shì),在于可以控制到視頻幀,因此可以承載實(shí)時(shí)性很高的應(yīng)用。這個(gè)優(yōu)點(diǎn)是相對(duì)于HTTP方式的最大優(yōu)點(diǎn)。H.323視頻會(huì)議協(xié)議,底層一般采用RTSP協(xié)議。RTSP協(xié)議族的復(fù)雜度主要集中在服務(wù)器端,因?yàn)榉?wù)器端需要parse視頻文件,seek到具體的視頻幀,而且可能還需要進(jìn)行倍速播放(就是老舊的DVD帶的那種2倍速,4倍速播放的功能),倍速播放功能是RTSP協(xié)議獨(dú)有的,其他視頻協(xié)議都無(wú)法支持。
缺點(diǎn):
就是服務(wù)器端的復(fù)雜度也比較高,實(shí)現(xiàn)起來(lái)也比較復(fù)雜。Ios端不支持該協(xié)議。
3、RTMP協(xié)議:
RTMP是Real Time Messaging Protocol(實(shí)時(shí)消息傳輸協(xié)議)的首字母縮寫(xiě)。RTMP(Real Time Messaging Protocol)實(shí)時(shí)消息傳送協(xié)議是Adobe Systems公司為Flash播放器和服務(wù)器之間音頻、視頻和數(shù)據(jù)傳輸 開(kāi)發(fā)的開(kāi)放協(xié)議。該協(xié)議基于TCP,是一個(gè)協(xié)議族,包括RTMP基本協(xié)議及RTMPT/RTMPS/RTMPE等多種變種。RTMP是一種設(shè)計(jì)用來(lái)進(jìn)行實(shí)時(shí)數(shù)據(jù)通信的網(wǎng)絡(luò)協(xié)議,主要用來(lái)在Flash/AIR平臺(tái)和支持RTMP協(xié)議的流媒體/交互服務(wù)器之間進(jìn)行音視頻和數(shù)據(jù)通信。支持該協(xié)議的軟件包括Adobe Media Server/Aoku Media Server/red5/Wowza等。
優(yōu)點(diǎn):
支持直播、點(diǎn)播
缺點(diǎn):
需要專(zhuān)用的服務(wù)器。三、協(xié)議對(duì)比
關(guān)于三個(gè)RTMP,RTSP,HTTP的對(duì)比:
1.RTMP是adobe的,RTSP是 android native支持,http協(xié)議。
2.RTMP和HTTP有adaptive streaming的技術(shù),RTSP沒(méi)有
3.RTSP實(shí)時(shí)性是最好的,HTTP實(shí)時(shí)性比較差。
4.ios不支持rtsp,安卓支持。
四、總結(jié)
三種協(xié)議各有優(yōu)缺點(diǎn),rtmp協(xié)議應(yīng)用范圍比較窄,一般客戶(hù)端需要用flash接收,rtsp一般常用于監(jiān)控領(lǐng)域和對(duì)實(shí)時(shí)性要求比較高的場(chǎng)合,http的延伸hls用的比較多,一般用在移動(dòng)終端觀看,一般一個(gè)成熟的流媒體服務(wù)系統(tǒng)都需要支持這三種協(xié)議,甚至更多的協(xié)議,比如udp組播,單播,或者p2p協(xié)議等。
Aoku Media Server是可以同時(shí)支持這三種流媒體協(xié)議的。是國(guó)內(nèi)為數(shù)不多的專(zhuān)業(yè)流媒體服務(wù)系統(tǒng),提供的免費(fèi)版可以供用戶(hù)進(jìn)行三種協(xié)議的測(cè)試對(duì)比
發(fā)表評(píng)論
文章分類(lèi)
聯(lián)系我們
聯(lián)系人: | 北極星通公司 |
---|---|
電話(huà): | 010-56545416 |
傳真: | 010-82896426 |
Email: | support@bjsin.cn |
QQ: | 35338585 |
微信: | Aoku2017 | QQ群:241759321 |
地址: | 北京市中關(guān)村生命科學(xué)園創(chuàng)意園3-3-103 |