編碼、網絡協議

一、編碼
最原始的音頻數據就是PCM,是通過對模擬信號進行採樣得到的數字信號;最原始的視頻數據就是顏色數據,我們就理解爲一幀一幀圖片吧。

原始音視頻數據是很大的,不適合傳輸、存儲,所以必須對其進行壓縮,這個過程稱爲編碼。

音頻壓縮一般就是降低採樣率、減少聲道等方式,常用的編碼格式有AAC和MP3。

視頻壓縮也是降低採樣率、減少重複圖片。當每秒大於23幀時,人眼就區分不出來了,所以可以降低採樣率。很多畫面連續幾秒都是沒怎麼動的,圖像變化很小,可以用一張圖片加上變化量來代替。常用的編碼格式有H264和MPEG4。

注意,上面所說的“編碼格式”只是一種標準,主要是爲了保證各個廠商的編解碼器能通用,這個標準的具體實現就是編解碼器。

二、封裝
一個電影文件肯定是包含了視頻和聲音的(甚至還有字幕),所以一般來說,還要按照一定標準把視頻壓縮數據和音頻壓縮數據組合在一個文件中,這個過程就是封裝。爲了保證解封裝時知道按照什麼“規則”來解,所以也誕生了很多“封裝標準”,即封裝格式。

常用的有AVI、MP4、FLV、MKV、RMVB,評價一個封裝格式主要有三個方面:支持的視頻編碼、支持的音頻編碼、是否支持流媒體播放。比如AVI對音視頻編碼支持很好,但是不支持流媒體,MKV這三個方面都支持,RMVB支持的編碼格式比較少。。。等等。




客戶端程序想發送“我餓了”信息給服務端,除了“我餓了”內容,還需要很多輔助信息,比如,請求時間、請求類型、請求地址等。添加了輔助信息後,“我餓了”就和這些輔助信息混在一起了,服務端無法區分真正的有效內容。所以,需要規定一個統一的格式(也就是協議),客戶端按照這個格式組裝數據,服務端按照這個格式解析數據,雙方遵守這個規定。這就是http協議,它規定了數據如何包裝,發送方和接收方都需要根據這個規定(協議)來進行包裝和解包裝應用數據,所以稱之爲應用層協議。

一個設備把數據傳輸到另一個設備,發送方會把數據分割成一個個數據包傳輸,並在每個數據包中加入各種輔助信息,接收方把一個個數據包拼接還原。爲了保證傳輸可靠、不會丟失數據,需要進行“三次握手”來確認數據能準確到達。這就是tcp協議,它規定了數據如何傳輸,發送方和接收方都需要根據這個規定(協議)來發送和接收二進制數據包,所以稱爲傳輸層協議。

所有聯網設備,都用一串xx:xx:xx:xx數字來表示設備的地址,這個地址是ipv4地址,每個ipv4地址對應一個物理地址(mac地址)。由於人類記不住一串數字,所以用字母代替,每個“http://xxx”都對應着一個ipv4地址,DNS可以把字符串解析成ipv4地址,這樣,傳輸設備就知道把數據發送到哪裏了。這些規定(協議)就是ip協議,用來規範接入網絡的所有設備的地址,所以稱爲網絡層協議。

URI = Universal Resource Identifier 資源唯一標識
URL = Universal Resource Locator 資源唯一位置
既然uri的意思是“唯一標識”,那麼只要是能夠唯一表示這個文件,就屬於uri。比如身份證號、詳細住址、學校+學號等,都能唯一標識某個人,所以身份證、詳細住址等這些都屬於uri。

url就好理解了,表示了這個文件的唯一地址,通過這個地址,可以唯一找到這個文件。

uri和urn都能唯一標識某個文件,他們都屬於uri。而url除了能唯一表示某個文件,還能通過url找到這個文件,所以比較流行。




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