流媒體協議概述

0、preview

在瞭解流媒體協議之前,不得不瞭解基本計算機網絡知識。TCP/IP協議族的上層協議是通過封裝來使用下層協議的,我們的用戶數據通過一層一層的向下進行封裝。在鏈路層還加上了尾部信息。

各層作用:

數據鏈路層:如何控制介質的訪問(wifi,有線等),如何確保介質通常。例:A要給B寄快遞,那麼選擇空運還是陸運,選擇後並且確保能夠路或者航線是通的。

網絡層(IP):負責計算機之間通信,包含了源和目的的地址,包括路由,尋址,流控等。(其作用可以理解爲,在A和B之間通過計算選出一條最通暢,最快的線路,因爲在數據鏈路層選出介質後,比如陸運,那麼A到B仍有很多條路線)。

傳輸層(TCP/UDP):負責點到點的通信,(TCP的話提供可靠傳輸。規定接收端必鬚髮揮確認,如果分組丟失必須重傳)。例子,AB兩地所有行程計劃都安排好了,那麼問題來了怎麼寄能夠保證寄的東西不丟或少丟。

應用層:面向用戶的,以rtsp協議爲例,主要作用是將裸流數據進行封裝成用戶數據(用戶數據不只是指裸流數據,還包括用戶可以直接操作的控制數據如rtcp)。就是我們的快遞了。

在開發過程中,一般只關注應用層和網絡層協議。我們也重點理解這兩層的常用協議。從幾個問題開始學習。

什麼是TCP/UDP?

       我們知道TCP/UDP數據傳輸層協議,那麼傳輸層協議是提供可靠報文傳遞和錯誤恢復。換句話說就是A怎麼來寄這個快遞才能夠滿足B的要求(要求可能是快,可能是準確)。TCP:面向連接的可靠性傳輸協議,面向連接是指在進行傳輸的時候需要先建立連接,也就是我們常說的三次握手四次揮手了,而UDP是無連接滴。可靠性傳輸是指TCP在傳輸過程中會無差錯,不重複,不丟包的。而UDP則不保證這些,只管傳輸成功。但是事物總有好壞,UDP雖然既不面向連接,也沒有可靠性保證,但是UDP具有很高的實時性,所以在流媒體協議中UDP還是很收歡迎的。

什麼是三次握手四次揮手?

三次握手:

 

 

1、常見流媒體協議

幾種流媒體協議詳解分析:

rtsp協議詳解

rtmp協議詳解

在流媒體開發過程中,會碰到幾種常見的流媒體協議,包括http_flv,rtmp,rtsp,hls等。那麼這幾種協議到底是什麼?有什麼區別?應用場景是什麼?這些問題都是本專欄需要學習的。

如圖是一個我們很熟悉的TCP/IP的四層模型,從圖中我們很清楚的可以瞭解到流媒體協議在模型中的位置,因爲在這四層模型中涉及到的協議非常多,很容易就迷失在蠻大的協議裏面,沒有一個清晰的認識。常見的流媒體協議都數據應用層的協議(udp除外,因爲udp是傳輸層的協議,同時也可以直接作爲流媒體協議)。應用層協議均是在傳輸層之上的,所以可以理解爲應用層的所有協議底層均是TCPUDP協議進行傳輸的。

那麼哪些協議底層用的是tcp,哪些又是udp呢?可以從上面的顏色進行區分。其實rtsp,webrtc底層並不直接就是udp,在rtsp,webrtc之下,udp之上還有一層協議就是rtprtcp協議。這倆協議可以簡單的理解爲rtp爲用來存放用戶數據,而rtcp則是用來傳輸控制信息(暫停,播放,回放等)。

N、幾種流媒體協議對比與適應場景

//幾種協議還沒學習完,等基本學習完了,再進行對比

3、

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章