[Media] 影音傳輸-傳輸方式與通訊協定
以下內容完全為整理自 30 天之即時網路影音開發攻略(小白本) by 我是小馬克 @ iThome 的筆記,無原創內容。
影音資料的傳輸
方法一:將檔案直接透過網路丟給對方

- 透過 AirDrop 直接把檔案丟到別人的電腦
- 先上傳到雲端空間,產生連結後給他人下載
- 缺點:全部下載完才能開始聽或看影片
方法二:以串流的方式傳送給對方

- 將資料切成一段一段傳出去,使用者可以一邊下載一邊觀看
- 不會花費使用者的儲存空間,串流的檔案會儲存在使用者的緩衝記憶體中,播完後即捨棄
- 傳統的影音檔由表頭和表身組成,通常需要在所有資料都傳輸完成後,才可以根據表頭知道這個影音的編碼為何,解碼完後才可以開始觀看。
- 串流的影音則需要先透過伺服器轉成「流容器」,流容器的一個檔案中包含多塊的表頭和表身,每次傳輸的資料都同時包含了表頭和表身,因此可以一邊傳送檔案一邊觀看影音。

方法三:即時影音傳輸(直播、視訊通話)
基本的原理和串流傳輸相同,但同時需要使用「推流傳輸協議」,例如 RTMP(Real Time Messaging Protocol —即時訊息協定),影音錄製這端會一小段一小段的上傳,使用者也是一小段一小段的取得。
