RTMP 筆記

RTMP握手過程目的:
1.檢驗客戶端和服務器端RTMP協(xié)議版本號
2.發(fā)了一堆數(shù)據(jù),測試網(wǎng)絡環(huán)境

RTMP分塊

創(chuàng)建RTMP連接比較復雜卵佛,涉及消息分塊chunk和AFM格式數(shù)據(jù)

Chunk Size

RTMP是按照chunk size進行分塊,chunk size指chunk的實際數(shù)據(jù)大小⊥M牛客戶端和服務器有各自的chunk size亭枷,默認chunk size 128字節(jié)袭艺。通過命令:set chunk size來更改chunk size大小
在實際代碼中,會把chunk size設置很大叨粘,如:4096猾编,F(xiàn)FMPEG推流時候設置60*1000瘤睹,這樣設置好處避免頻繁拆包組包,占用CPU;設置過大答倡,如果包發(fā)送轰传,丟失,播放器就會出現(xiàn)花屏或黑屏現(xiàn)象

Chunk Type

RTMP分成Chunk4種類型:由chunk basic header 高兩位指定瘪撇。
在拆包時候會把一條RTMP消息拆成Type_0類型開始的chunk获茬,之后的包拆成Type_3類型的chunk。
RTMP中message分chunk

RTMP消息
推流

Connect消息

握手之后先發(fā)送一個connect命令消息倔既,真實通信中要指定一些編解碼的信息锦茁,這些信息是AMF格式發(fā)送
發(fā)送完connect命令之后,會發(fā)送一個set chunk size消息來設置chunk size的大小叉存,也可以不發(fā)码俩。
然后等待服務器對于connect的回應,一半是服務器返回chunk都讀完組成完整的RTMP消息歼捏,進行下一步稿存。

Create Stream消息

創(chuàng)建完RTMP連接之后創(chuàng)建RTMP流,客戶端要向服務器發(fā)送一個releaseStream命令消息瞳秽,之后是FCPbulish命令消息瓣履,在之后是createStream命令消息。當發(fā)送完createStream消息之后练俐,解析服務器返回的消息會得到一個stream ID袖迎,這個ID也就是以后和服務器通信的message stream ID,一般返回的是1

Publish Stream

推流準備工作的最后一步是Publish Stream,就是向服務器發(fā)送一個publish命令,這個命令的message stream ID就是上面create stream之后服務器返回的stream ID,發(fā)完這個命令一般不用等待服務器返回的回應腺晾,直接下一步發(fā)送音視頻數(shù)據(jù)燕锥。有些rtmp庫還會發(fā)setMetaData消息,這個消息可以發(fā)液可以不發(fā)悯蝉,里面包含一些音視頻編碼的消息

發(fā)布音視頻

當以上工作都完成归形,就可以發(fā)送音視頻了。音視頻RTMP消息的都是按照flv-tag格式封的音視頻包

關于RTMP的時間戳

RTMP時間戳在發(fā)送音視頻之前都為0鼻由,開始發(fā)送音視頻消息的時候保證時間戳是單增的就可以正常播放音視頻暇榴。

關于Chunk Stream ID

RTMP的chunk stream ID是用來區(qū)分某一個chunk是屬于哪一個message的,0和1是保留的蕉世。每次發(fā)送一個不同類型的RTMP消息時都要有不同的chunk stream id.

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末蔼紧,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子狠轻,更是在濱河造成了極大的恐慌奸例,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哈误,死亡現(xiàn)場離奇詭異哩至,居然都是意外死亡躏嚎,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門菩貌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來卢佣,“玉大人,你說我怎么就攤上這事箭阶⌒椴瑁” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵仇参,是天一觀的道長嘹叫。 經(jīng)常有香客問我,道長诈乒,這世上最難降的妖魔是什么罩扇? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮怕磨,結果婚禮上喂饥,老公的妹妹穿的比我還像新娘。我一直安慰自己肠鲫,他們只是感情好员帮,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著导饲,像睡著了一般捞高。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上渣锦,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天硝岗,我揣著相機與錄音,去河邊找鬼泡挺。 笑死辈讶,一個胖子當著我的面吹牛命浴,可吹牛的內容都是我干的娄猫。 我是一名探鬼主播鸠儿,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼幔睬,長吁一口氣:“原來是場噩夢啊……” “哼字币!你這毒婦竟也來了孩饼?” 一聲冷哼從身側響起答姥,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤啤它,失蹤者是張志新(化名)和其女友劉穎载迄,沒想到半個月后脑沿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捉兴,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡蝎困,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年录语,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片禾乘。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡澎埠,死狀恐怖,靈堂內的尸體忽然破棺而出始藕,到底是詐尸還是另有隱情蒲稳,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布伍派,位于F島的核電站江耀,受9級特大地震影響,放射性物質發(fā)生泄漏诉植。R本人自食惡果不足惜祥国,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望晾腔。 院中可真熱鬧系宫,春花似錦、人聲如沸建车。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽缤至。三九已至潮罪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間领斥,已是汗流浹背嫉到。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留月洛,地道東北人何恶。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像嚼黔,于是被迫代替她去往敵國和親细层。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內容