iOS直播技術(shù)學習筆記-流媒體協(xié)議(七)

常見的流媒體協(xié)議

  • 常見的流媒體協(xié)議有很多比如:
    • RTP(Real-time Transport Protocol), 常用語電話會議, 網(wǎng)絡電話等場景, 但是缺點是不提供網(wǎng)絡保障
    • RTCP(Real-time Transport Control Protocol), 是實時傳輸協(xié)議(RTP)的一個姐妹協(xié)議, 也常用于語電話會議, 網(wǎng)絡電話等場景.
    • RTMP(Real Time Streaming Protocol), RTMP是Adobe開發(fā)的協(xié)議
    • HLS(HTTP Live Streaming)是蘋果公司(Apple Inc.)實現(xiàn)的基于HTTP的流媒體傳輸協(xié)議,可實現(xiàn)流媒體的直播和點播

HLS(HTTP Live Streaming)

  • HTTP Live Streaming(HLS)是蘋果公司實現(xiàn)的基于HTTP的流媒體傳輸協(xié)議,可實現(xiàn)流媒體的直播和點播腊状。原理上是將視頻流分片成一系列HTTP下載文件。所以诗力,HLS比RTMP有較高的延遲囚痴。HLS基于HTTP協(xié)議實現(xiàn),傳輸內(nèi)容包括兩部分智绸,一是M3U8描述文件窝稿,二是TS媒體文件
    • 相對于常見的流媒體直播協(xié)議楣富,例如RTMP協(xié)議、RTSP協(xié)議伴榔、MMS協(xié)議等纹蝴,HLS直播最大的不同在于庄萎,直播客戶端獲取到的,并不是一個完整的數(shù)據(jù)流塘安。HLS協(xié)議在服務器端將直播數(shù)據(jù)流存儲為連續(xù)的惨恭、很短時長的媒體文件(MPEG-TS格式),而客戶端則不斷的下載并播放這些小文件耙旦,因為服務器端總是會將最新的直播數(shù)據(jù)生成新的小文件脱羡,這樣客戶端只要不停的按順序播放從服務器獲取到的文件,就實現(xiàn)了直播免都。
    • 由此可見锉罐,基本上可以認為,HLS是以點播的技術(shù)方式來實現(xiàn)直播绕娘。
  • 工作流程為:
    • 采集視頻源和音頻源的數(shù)據(jù)
    • 對原始數(shù)據(jù)進行H264編碼和AAC編碼
    • 視頻和音頻數(shù)據(jù)封裝為MPEG-TS包
    • HLS分段生成策略及m3u8索引文件
    • HTTP傳輸協(xié)議傳輸數(shù)據(jù)
工作流程.png
  • 使用FFmpeg命令將mp4文件切換成m3u8&ts切片
// 安裝Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
// 安裝FFmpeg
brew install ffmpeg
// 執(zhí)行轉(zhuǎn)換命令
ffmpeg -i XXX.mp4 -c:v libx264 -c:a copy -f hls XXX.m3u8

  • m3u8索引頭解析
m3u8索引頭解析.png

RTMP

  • RTMP協(xié)議是 Adobe 公司開發(fā)的一個基于TCP的應用層協(xié)議脓规,Adobe 公司也公布了關于RTMP的規(guī)范
  • RTMP本質(zhì)上是流協(xié)議,主要的優(yōu)勢是:
    • 實時性高:RTMP的實時性在3秒之內(nèi)险领,經(jīng)過多層CDN節(jié)點分發(fā)后侨舆,實時性也在3秒左右,在一些實時性有要求的應用中以RTMP為主。
    • 支持加密:RTMPE和RTMPS為加密協(xié)議
    • 穩(wěn)定性高:HTTP也很穩(wěn)定绢陌,但HTTP是在協(xié)議上穩(wěn)定穩(wěn)定性不只是服務端的事情挨下,在CDN分發(fā),服務器管理脐湾,客戶端的支持上
  • RTMP的使用
    • RTMP協(xié)議也要客戶端和服務器通過“握手”來建立基于傳輸層鏈接之上的RTMP Connection鏈接臭笆,在Connection鏈接上會傳輸一些控制信息
    • TMP協(xié)議傳輸時會對數(shù)據(jù)做自己的格式化,這種格式的消息我們稱之為RTMP Message
    • 而實際傳輸?shù)臅r候為了更好地實現(xiàn)多路復用秤掌、分包和信息的公平性愁铺,發(fā)送端會把Message劃分為帶有Message ID的Chunk,每個Chunk可能是一個單獨的Message闻鉴,也可能是Message的一部分茵乱,在接受端會根據(jù)chunk中包含的data的長度,message id和message的長度把chunk還原成完整的Message孟岛,從而實現(xiàn)信息的收發(fā)瓶竭。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蚀苛,隨后出現(xiàn)的幾起案子在验,更是在濱河造成了極大的恐慌玷氏,老刑警劉巖堵未,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異盏触,居然都是意外死亡渗蟹,警方通過查閱死者的電腦和手機块饺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雌芽,“玉大人授艰,你說我怎么就攤上這事∈缆洌” “怎么了淮腾?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長屉佳。 經(jīng)常有香客問我谷朝,道長,這世上最難降的妖魔是什么武花? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任圆凰,我火速辦了婚禮,結(jié)果婚禮上体箕,老公的妹妹穿的比我還像新娘专钉。我一直安慰自己,他們只是感情好累铅,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布跃须。 她就那樣靜靜地躺著,像睡著了一般娃兽。 火紅的嫁衣襯著肌膚如雪回怜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天换薄,我揣著相機與錄音玉雾,去河邊找鬼。 笑死轻要,一個胖子當著我的面吹牛复旬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播冲泥,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼驹碍,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了凡恍?” 一聲冷哼從身側(cè)響起志秃,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嚼酝,沒想到半個月后浮还,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡闽巩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年钧舌,在試婚紗的時候發(fā)現(xiàn)自己被綠了担汤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡洼冻,死狀恐怖崭歧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情撞牢,我是刑警寧澤率碾,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站屋彪,受9級特大地震影響播掷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜撼班,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一歧匈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧砰嘁,春花似錦件炉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至缅阳,卻和暖如春磕蛇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背十办。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工秀撇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人向族。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓呵燕,卻偏偏與公主長得像,于是被迫代替她去往敵國和親件相。 傳聞我的和親對象是個殘疾皇子再扭,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359

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