流媒體是啥意思 流媒體是啥( 二 )


經過音頻視頻編碼之后 , 需要進行封裝 , 封裝就是數據容器化和格式化 。容器是音視頻流數據格式化的形象比喻 , 就像選用盒子和格子裝東西一樣 。我們需要將比特數據用盒子裝起來 。
音頻數據經過容器化計算后變為MP3 , AAC , HE-AAC , Opus , FLAC , Vorbis (Ogg) , Speex , AMR等格式的數據分發出去 。
視頻數據經過容器化后變為 MP4、3GP、AVI、MKV、WMV、MPG、VOB、FLV、MOV等格式的數據 , 然后分發出去 。
數據傳輸模式和數據傳輸協議流媒體數據傳輸方式多種多樣 。從傳輸形式上可以分為順序流式傳輸和實時流式傳輸 。順序流式傳輸方式是介于本地下載完再播放方式和實時流式播放方式的中間方式 , 也就是用戶邊下載邊播放 , 這種方式也被稱之為“偽流媒體數據傳輸” 。這種數據傳輸方式常應用于視頻網站的點播 。
實時流式傳輸方式是真正意義上的流媒體數據傳輸方式 , 用戶可以一邊接收數據包一邊播放 , 數據實時傳送 。實時流媒體數據傳輸必須保證數據包的傳輸速度大于文件的播放速度 , 如果傳輸的速度小于文件的播放速度 , 視頻就會出現卡頓 。
通常情況下流媒體數據需要借助 *** 服務器來實現中轉分發 。數據從服務器分發到接收數據方的過程稱為播放 , 流媒體數據的播放方式有三種主要情形 。
之一種情形是數據單播 , 也就是在客戶端與數據服務器之間建立單獨的數據通道 , 從一臺服務器分發的每個數據包只能傳送給一個客戶機 。這種形式的弊端是極其消耗資源 。第二種情形是數據組播 , 這種方式允許路由器一次將數據包復制到多個通道上 。采用組播方式 , 數據服務器只需要發送一個信息包 , 即可連接多個用戶 , 所有發出請求的客戶端共享同一信息包 。這樣可以減少 *** 上傳輸的信息包總量 。第三種方式是數據點播與廣播 。數據點播連接是客戶端與服務器之間的主動的連接 。在數據點播中 , 用戶通常通過選擇內容來初始化客戶端連接 。每個用戶可以開始、停止、后退、快進或暫停播放數據流 。點播能夠提供對流的更大控制 , 但這種方式由于為每個客戶建立了單獨的連接 , 帶寬很容易被消耗完 。廣播是一種用戶不能控制流數據只能被動接收流數據的方式 , 用戶不能快進、后退、暫停 。相比較數據單播、數據點播和數據廣播 , 數據組播是最有市場競爭力的數據播放方式 。數據組播不會復制多個數據包傳輸到 *** 上 , 也不會將數據包傳送給給沒有請求服務器的客戶 , 保證了 *** 上流數據應用占用最小帶寬的 ***。

流媒體是啥意思  流媒體是啥

文章插圖
RTMP數據流的傳輸過程
流媒體數據傳輸的實現需要合適的 *** 傳輸協議 。由于使用TCP需要較多的開銷 , 因此不適合傳輸實時流數據 。在流媒體傳輸的方案中 , 一般采用HTTP/TCP來傳輸控制信息 , 采用RTP/UDP/RTMP等協議來傳輸實時數據 ?,F在大部分流數據網站都采用RTMP(Real Time Messaging Protocol)實時消息傳送協議 , 該協議是Adobe公司為Flash播放器和服務器之間音視頻流數據傳輸開發的***協議 。
服務器數據流的分發和數據流的放送
流媒體是啥意思  流媒體是啥

文章插圖
流數據的分發與放送
流媒體數據服務器的作用是負責流的發布和數據轉播 。流媒體服務器有多種選擇 , Nginx服務器是常用的選擇 , 它是一款優秀的免費Web數據服務器 。
【流媒體是啥意思流媒體是啥】播放端的推流 , 采集器采集流數據 , 經過編碼壓縮和格式轉化 , 然后通過傳輸協議傳輸到服務器 , 服務器經過計算將收到的流進行分發 , 接收者只要有支持流傳輸協議的播放器即可播放 , 這是流媒體數據的整個生命周期 。

推薦閱讀