天天看點

流式存儲音頻/視訊

流式存儲音頻/視訊

1.1.下載下傳檔案的傳統方法:

傳統的浏覽器從伺服器下載下傳音頻/視訊檔案:

① 使用者從客戶機(client machine)的浏覽器上用 HTTP 協定向伺服器請求下載下傳某個音頻/視訊檔案。

② 伺服器如有此檔案就發送給浏覽器。在響應封包中就裝有使用者所要的音頻/視訊檔案。整個下載下傳過程可能會花費很長的時間。

③ 當浏覽器完全收下這個檔案後,就可以傳送給自己機器上的媒體播放器進行解壓縮,然後播放。

1.2.具有元檔案的網際網路伺服器

元檔案就是一種非常小的檔案,它描述或指明其他檔案的一些重要資訊。

流式存儲音頻/視訊

① 浏覽器使用者使用 HTTP 的 GET 封包接入到網際網路伺服器。這個超鍊指向一個元檔案。這個元檔案有實際的音頻/視訊檔案的統一資源定位符 URL。

② 網際網路伺服器把該元檔案裝入 HTTP 響應封包的主體,發回給浏覽器。

③ 客戶機浏覽器調用相關的媒體播放器,把提取出的元檔案傳送給媒體播放器。

④ 媒體播放器使用元檔案中的 URL ,向網際網路伺服器發送 HTTP 請求封包,要求下載下傳音頻/視訊檔案。

⑤ 網際網路伺服器發送 HTTP 響應封包,把該音頻/視訊檔案發送給媒體播放器。媒體播放器邊下載下傳邊解壓縮邊播放。

1.3.媒體伺服器

  • 媒體伺服器也稱為流式伺服器(streaming server) ,它支援流式音頻和視訊的傳送。
  • 媒體播放器與媒體伺服器的關系是客戶與伺服器的關系。
  • 媒體播放器不是向網際網路伺服器而是向媒體伺服器請求音頻/視訊檔案。
  • 媒體伺服器和媒體播放器之間采用另外的協定進行互動。
**使用媒體伺服器 **
流式存儲音頻/視訊

① ~③ 前三個步驟仍然和上一節的一樣,差別就是後面兩個步驟。

④ 媒體播放器使用元檔案中的 URL 接入到媒體伺服器,請求下載下傳浏覽器所請求的音頻/視訊檔案。下載下傳可以借助于使用 UDP 的任何協定,例如使用實時運輸協定 RTP。

⑤ 媒體伺服器給出響應,把該音頻/視訊檔案發送給媒體播放器。媒體播放器在遲延了若幹秒後,以流的形式邊下載下傳邊解壓縮邊播放。

流媒體伺服器應用二:現場直播

除了上述所講的使用者借助流媒體伺服器播放音頻視訊之外,還可以使用流媒體伺服器實作會議或球賽的現場直播。

  • 如圖,通過錄影機拍攝得到實況數字視訊,攝像頭的一端連接配接計算機,在計算機上安裝編碼器軟體,編碼器軟體能将攝像頭采集到的視訊進行編碼,得到各種分辨率和格式的視訊檔案。
  • 編碼完成後計算機把視訊檔案發送到流媒體伺服器上,然後,最終使用者就可以通過通路流媒體伺服器來觀看現場直播。
  • 使用者觀看的現場直播會因網絡帶寬不同而存在不同的時延。
  • 可以看到,編碼器軟體隻給流媒體伺服器發送一份視訊檔案,而流媒體伺服器作為釋出點則根據使用者數量發送多份視訊檔案,是以流媒體伺服器的帶寬成為了限制多少使用者同時線上看直播的瓶頸。
  • 另外,擁有編碼器軟體的計算機可以給多個流媒體伺服器提供視訊流,實作流媒體伺服器的負載分攤,為更多使用者提供視訊直播服務。

1.4.現實案例

公司的上司在城市A給城市B和C的分公司員工開會,如圖所示:

流式存儲音頻/視訊
  • 城市A、B和C三個區域網路通過Internet連接配接在一起,公司上司通過錄影機和計算機的編碼軟體錄制視訊。
  • 如果把流媒體伺服器設定在城市A,那麼城市B和C的員工想要觀看上司講話就需要連接配接到城市A的流媒體伺服器上,并且有多少個員工觀看,城市A的流媒體伺服器就需要發送多少份視訊檔案。
  • 假設城市B有50名員工,城市C有60名員工,那麼城市A的流媒體伺服器就要通過Internet分别給城市B和C發送50和60份視訊檔案,這樣網絡的帶寬明顯不夠,直接影響直播效果。解決辦法如下圖所示:
流式存儲音頻/視訊
  • 分别在城市B和C各部署一個流媒體伺服器,那麼城市A負責編碼視訊檔案的計算機隻需要通過Internet給城市B和C各發送一份視訊檔案即可。
  • 城市B和C的員工再通過通路本城市的流媒體伺服器即可觀看直播,這樣便解決了帶寬問題。

通過以上例子可以知道:如果流媒體伺服器作為現場直播的視訊音頻流的話,可以當作是一個視訊音頻的分發點。

多抽出1分鐘來學習,讓你的生命更加精彩!

繼續閱讀