2012-06-17 185 views
0

我想設置一個支持Http協議的視頻點播服務器。它就像Youtube,它承載了很多視頻,最終用戶可以通過瀏覽器(通過使用Flash或Html 5)播放它們。支持Http的視頻服務器

兩個簡單的問題,

  • 對於大的視頻文件,我把它們放在磁盤或內存? YouTube或其他大型視頻網站是如何做到的?不知道如果把所有的視頻內存太貴,並把視頻放在磁盤上太慢?
  • 是否有任何開源視頻託管服務器爲我的目的?如果支持蒸汽,那會很好。

由於事先 喬治

回答

1

如果你只是想有一個HTML頁面鏈接到您的視頻文件 - 沒有什麼問題,但大多數瀏覽器會下載之前,你的系統,甚至認爲打它的整個文件。

如果你想流式傳輸文件(比如YouTube和其他文件),那麼你實際上並沒有爲視頻本身使用HTTP。 HTTP用於獲取關於流的信息,因此您的播放器可以直接播放和播放,而無需首先下載整個文件。

流媒體視頻使用RTSP(或其他流媒體協議)作爲音頻和視頻數據。

最接近的HTTP協議可以獲得「流媒體」視頻是使用Server-Push的單個圖像幀與每個幀標記爲替換以前的幀。並非所有的瀏覽器都可以直接處理,但可能需要ActiveX控件或Java Applet。原先的QuickTime在流媒體協議在服務器上實現之前做到了這一點。

回覆:YouTube如何處理大型視頻文件

我懷疑他們是在磁盤上,直至需要它們。只在需要時才移入內存。不再需要時從內存中刷新。

回覆:有一個開源的視頻服務器,我的目的

YES!退房http://www.videolan.org/

-Jesse

+0

感謝傑西,VideoLAN的是媒體播放器或視頻服務器?我的問題是要求視頻服務器。 :-) – George2

+0

@ George2 - http://www.videolan.org同時提供服務器和客戶端。 –

1

另一種方法是使用HTTP直播 - HLS - 網絡服務器就是一個標準的httpd服務器 - 視頻/音頻進行預處理,在服務器端爲一組比特率的播放列表。 邏輯在客戶端根據帶寬適當的播放列表檢索媒體爲一系列6秒文件。

所以: - 使用的文件不是記憶 - 有開源HLS segmentators(ffmpeg)來