流式存儲音頻/視頻


流式存儲音頻/視頻

1.1.下載文件的傳統方法:

image-20200210123749269

傳統的瀏覽器從服務器下載音頻/視頻文件:

① 用戶從客戶機(client machine)的瀏覽器上用 HTTP 協議向服務器請求下載某個音頻/視頻文件。

② 服務器如有此文件就發送給瀏覽器。在響應報文中就裝有用戶所要的音頻/視頻文件。整個下載過程可能會花費很長的時間

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

1.2.具有元文件的萬維網服務器

元文件就是一種非常小的文件,它描述或指明其他文件的一些重要信息。

image-20200210124032066

① 瀏覽器用戶使用 HTTP 的 GET 報文接入到萬維網服務器。這個超鏈指向一個元文件。這個元文件有實際的音頻/視頻文件的統一資源定位符 URL。

② 萬維網服務器把該元文件裝入 HTTP 響應報文的主體,發回給瀏覽器。

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

④ 媒體播放器使用元文件中的 URL ,向萬維網服務器發送 HTTP 請求報文,要求下載音頻/視頻文件。

⑤ 萬維網服務器發送 HTTP 響應報文,把該音頻/視頻文件發送給媒體播放器。媒體播放器邊下載邊解壓縮邊播放。

1.3.媒體服務器

  • 媒體服務器也稱為流式服務器(streaming server) ,它支持流式音頻和視頻的傳送。
  • 媒體播放器與媒體服務器的關系是客戶與服務器的關系。
  • 媒體播放器不是向萬維網服務器而是向媒體服務器請求音頻/視頻文件。
  • 媒體服務器和媒體播放器之間采用另外的協議進行交互。

**使用媒體服務器 **

image-20200210124305412

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

④ 媒體播放器使用元文件中的 URL 接入到媒體服務器,請求下載瀏覽器所請求的音頻/視頻文件。下載可以借助於使用 UDP 的任何協議,例如使用實時運輸協議 RTP。

⑤ 媒體服務器給出響應,把該音頻/視頻文件發送給媒體播放器。媒體播放器在遲延了若干秒后,以流的形式邊下載邊解壓縮邊播放。

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

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

image-20200210134252178

  • 如圖,通過攝像機拍攝得到實況數字視頻,攝像頭的一端連接計算機,在計算機上安裝編碼器軟件,編碼器軟件能將攝像頭采集到的視頻進行編碼,得到各種分辨率和格式的視頻文件。

  • 編碼完成后計算機把視頻文件發送到流媒體服務器上,然后,最終用戶就可以通過訪問流媒體服務器來觀看現場直播。

  • 用戶觀看的現場直播會因網絡帶寬不同而存在不同的時延。

  • 可以看到,編碼器軟件只給流媒體服務器發送一份視頻文件,而流媒體服務器作為發布點則根據用戶數量發送多份視頻文件,所以流媒體服務器的帶寬成為了限制多少用戶同時在線看直播的瓶頸。

  • 另外,擁有編碼器軟件的計算機可以給多個流媒體服務器提供視頻流,實現流媒體服務器的負載分攤,為更多用戶提供視頻直播服務。

1.4.現實案例

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

image-20200210150543138

  • 城市A、B和C三個局域網通過Internet連接在一起,公司領導通過攝像機和計算機的編碼軟件錄制視頻。
  • 如果把流媒體服務器設置在城市A,那么城市B和C的員工想要觀看領導講話就需要連接到城市A的流媒體服務器上,並且有多少個員工觀看,城市A的流媒體服務器就需要發送多少份視頻文件。
  • 假設城市B有50名員工,城市C有60名員工,那么城市A的流媒體服務器就要通過Internet分別給城市B和C發送50和60份視頻文件,這樣網絡的帶寬明顯不夠,直接影響直播效果。解決辦法如下圖所示:

image-20200210150003787

  • 分別在城市B和C各部署一個流媒體服務器,那么城市A負責編碼視頻文件的計算機只需要通過Internet給城市B和C各發送一份視頻文件即可。
  • 城市B和C的員工再通過訪問本城市的流媒體服務器即可觀看直播,這樣便解決了帶寬問題。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM