流媒體播放協(xié)議

流媒體通信協(xié)議

常用的流媒體協(xié)議主要有HTTP漸進(jìn)下載(如HLS)和基于RTSP/RTP的實(shí)時(shí)流媒體協(xié)議贞谓,這兩種基本是完全不同的東西飞主,還有RTMP腺占;
相關(guān)協(xié)議有:HTTP赃承,HLS域帐,RTSP赘被,RTMP是整;

HTTP、RTSP民假、RTMP浮入、HLS區(qū)別

參考:http://www.hangge.com/blog/cache/detail_1325.html
http://blog.csdn.net/tttyd/article/details/12032357

  • 共同點(diǎn):
  1. 都是在應(yīng)用層;
  2. 理論上都可以做直播和點(diǎn)播羊异,但一般直播用RTSP/RTMP事秀,點(diǎn)播用HTTP;視頻會(huì)議用RTMP球化;
  • 區(qū)別:
  1. HTTP將搜有數(shù)據(jù)作為文件做處理秽晚,不是流媒體協(xié)議;RTMP和RTSP是流媒體協(xié)議筒愚;HTTP協(xié)議簡單赴蝇,流媒體協(xié)議復(fù)雜;
  2. RTMP是Adobe的私有協(xié)議巢掺,未完全公司句伶,RTSP/HTTP協(xié)議是共有協(xié)議,有專門機(jī)構(gòu)做維護(hù)陆淀;
  3. RTMP是flv/f4v格式流考余,RTSP協(xié)議一般傳輸?shù)氖莟s/mp4格式的流,HTTP沒有特定的流轧苫;
  4. RTSP傳輸一般需要2-3個(gè)通道楚堤,命令和數(shù)據(jù)通道分離,HTTP/RTMP一般在一個(gè)TCP通道上傳輸命令和數(shù)據(jù)含懊;
  5. HLS主要延時(shí)比較大身冬,RTMP/RTSP優(yōu)勢在于延時(shí)低;

PS:可使用 FFMPEG 將RTSP協(xié)議轉(zhuǎn)換為RTMP 數(shù)據(jù)流岔乔;

HLS: HTTP Live Streaming

Apple的動(dòng)態(tài)碼率自適應(yīng)技術(shù)酥筝,主要用于PC和Apple終端的音視頻服務(wù),包括一個(gè)m3u(8)索引文件雏门,TS媒體分片文件和key加密文件嘿歌;
HLS協(xié)議的小切片方式會(huì)生成大量的文件,存儲(chǔ)和處理這些文件會(huì)造成大量資源浪費(fèi)茁影;如果要實(shí)現(xiàn)數(shù)天的時(shí)移宙帝,所以努力將會(huì)是個(gè)巨額數(shù)字,明顯影響請求速度募闲;新型系統(tǒng)采用了內(nèi)存緩存數(shù)據(jù)實(shí)時(shí)切片技術(shù)步脓,將TS切片文件存到內(nèi)存當(dāng)中,直接從服務(wù)器內(nèi)存讀取,極大提高了對終端的數(shù)據(jù)請求的反應(yīng)速度沪编,優(yōu)化了視頻觀看體驗(yàn);
HLS客戶端獲取到的并不是一個(gè)完整的數(shù)據(jù)流年扩,而是連續(xù)的蚁廓,短時(shí)長的媒體文件,客戶端不斷的現(xiàn)在并播放這些小文件厨幻;
缺點(diǎn):時(shí)延比較大相嵌,不斷的http請求,協(xié)議建立過程也耗時(shí)况脆;
優(yōu)點(diǎn):采用HTTP傳輸饭宾,不用考慮防火墻和代理的問題;使用分片文件來播放格了,客戶端可以平滑的切換碼率看铆,以適應(yīng)不同寬帶條件下的播放;iOS平臺(tái)可以獲得天然支持盛末,采用AVPlayer就能直接播放弹惦;
PS:移動(dòng)端HLS用的比較廣泛一些;

直播視頻流程:


Paste_Image.png
Paste_Image.png

RTSP (Real Time Streaming Protocol) 實(shí)時(shí)流協(xié)議 RFC2326

參考:
http://blog.csdn.net/leixiaohua1020/article/details/11955341
由哥倫比亞大學(xué)悄但、網(wǎng)景和RealNetwork公司提交的IETF RFC標(biāo)準(zhǔn)棠隐,位于RTP和RTCP之上,使用TCP或UDP完成數(shù)據(jù)傳輸檐嚣;它的語法和運(yùn)作跟HTTP1.1類似助泽,但并不特別強(qiáng)調(diào)時(shí)間同步,所以比較能容忍網(wǎng)絡(luò)延遲嚎京;允許多個(gè)串流需求控制嗡贺,可以降低服務(wù)器的網(wǎng)絡(luò)用量,進(jìn)而支持多方視訊會(huì)議挖藏;

  • 開源實(shí)現(xiàn)

    Paste_Image.png

    live555 C/S C++
    darwin S C++
    VLC C C

  • 與HTTP相比
    HTTP請求由客戶機(jī)發(fā)出暑刃,服務(wù)器響應(yīng);使用RTSP時(shí)膜眠,客戶機(jī)和服務(wù)器都可以發(fā)出請求岩臣,即RTSP是可以雙向的;


    Paste_Image.png
  • RTSP簡單交互過程

  1. 查詢服務(wù)器端可用方法 OPTION request
  2. 得到媒體描述信息 DESCRIBE request
  3. 通過可接受的傳輸選項(xiàng)宵膨,建立會(huì)話 SETUP request
  4. 請求開始傳送數(shù)據(jù) PLAY request
  5. 數(shù)據(jù)傳送播放中 RTP協(xié)議傳送數(shù)據(jù)
  6. 會(huì)話關(guān)閉架谎,退出
RTP協(xié)議

每一個(gè)RTP數(shù)據(jù)報(bào)都由頭部和負(fù)載兩個(gè)部分組成,其中頭部12個(gè)字節(jié)的含義是固定的辟躏,而負(fù)載則可以是音頻或視頻數(shù)據(jù)谷扣;

PS:RTSP在安防領(lǐng)域有廣泛應(yīng)用;

RTMP (Real Time Message Protocol) 實(shí)時(shí)消息傳輸協(xié)議

主要用來在Flash/AIR平臺(tái)和支持RTMP協(xié)議的流媒體/交互服務(wù)器之間進(jìn)行音視頻和數(shù)據(jù)通信;是Adobe公司自己的規(guī)范会涎,為flash播放器和服務(wù)器之間音頻裹匙、視頻和數(shù)據(jù)傳輸開發(fā)的私有協(xié)議;
業(yè)界大部分直播業(yè)務(wù)都會(huì)選擇用RTMP作為流媒體協(xié)議末秃,通常會(huì)將數(shù)據(jù)流封裝成FLV通過HTTP提供出去概页;
優(yōu)點(diǎn):延時(shí)小,通常為1-3s练慕;基于TCP長連接惰匙,不需要多次建連;
缺點(diǎn):iOS平臺(tái)不提供原生支持RTMP或HTTP-FLV的播放器铃将,需要自主開發(fā)项鬼;
?- 累積延遲
RTMP是基于TCP不會(huì)丟包,但是當(dāng)網(wǎng)絡(luò)狀態(tài)差時(shí)劲阎,服務(wù)器會(huì)將包緩存起來绘盟,導(dǎo)致累積的延遲,待網(wǎng)絡(luò)狀況好了悯仙,就一起發(fā)給客戶端奥此;這個(gè)的對策就是,當(dāng)客戶端的緩沖區(qū)很大時(shí)雁比,就斷開重連稚虎;
PS:對實(shí)時(shí)性有一些要求的應(yīng)用,以PC為主偎捎?互聯(lián)網(wǎng)直播領(lǐng)域(RTMP+CDN);

媒體封裝格式

TS/FLV/MP4

  • FLV 需要flash支持
    PC在線播放最常見蠢终,因?yàn)閍pple不支持flash,apple無法使用茴她,很多智能機(jī)也無法使用寻拂;也支持直播;
  • TS HLS的媒體切片格式
    Apple產(chǎn)品丈牢,支持動(dòng)態(tài)碼率適配祭钉,支持直播;
  • mp4 PC/Apple/Android都支持
    文件頭太大己沛,結(jié)構(gòu)復(fù)雜慌核,長視頻的大文件頭影響加載速度的視頻體驗(yàn),所以短視頻更常見申尼;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末垮卓,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子师幕,更是在濱河造成了極大的恐慌粟按,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異灭将,居然都是意外死亡疼鸟,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門庙曙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來愚臀,“玉大人,你說我怎么就攤上這事矾利。” “怎么了馋袜?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵男旗,是天一觀的道長。 經(jīng)常有香客問我欣鳖,道長察皇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任泽台,我火速辦了婚禮什荣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘怀酷。我一直安慰自己稻爬,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布蜕依。 她就那樣靜靜地躺著桅锄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪样眠。 梳的紋絲不亂的頭發(fā)上友瘤,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音檐束,去河邊找鬼辫秧。 笑死,一個(gè)胖子當(dāng)著我的面吹牛被丧,可吹牛的內(nèi)容都是我干的盟戏。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼甥桂,長吁一口氣:“原來是場噩夢啊……” “哼抓半!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起格嘁,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對情侶失蹤笛求,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體探入,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡狡孔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蜂嗽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苗膝。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖植旧,靈堂內(nèi)的尸體忽然破棺而出辱揭,到底是詐尸還是另有隱情,我是刑警寧澤病附,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布问窃,位于F島的核電站,受9級(jí)特大地震影響完沪,放射性物質(zhì)發(fā)生泄漏域庇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一覆积、第九天 我趴在偏房一處隱蔽的房頂上張望听皿。 院中可真熱鬧,春花似錦宽档、人聲如沸尉姨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽啊送。三九已至,卻和暖如春欣孤,著一層夾襖步出監(jiān)牢的瞬間馋没,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工降传, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留篷朵,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓婆排,卻偏偏與公主長得像声旺,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子段只,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容