2013-01-22 73 views
0

爲了開發一個像youtube這樣的視頻內容繁重的網站,從視頻轉換/壓縮插件的角度來看,哪種語言/框架可能是性能和支持的更好選擇。值得考慮的一些觀點可能是。視頻內容重型網站

  • CPU VS I/O時間
  • 支持壓縮/轉換插件(現有MODS /寶石/庫)
  • 易於學習不是很重要,雖然投入的歡迎

我知道這個問題聽起來有點主觀,但我的目的是要了解具有開發類似網站的經驗的人所涉及的技術問題。

回答

0

對於這樣的網站,我想將需要選擇幾個工具來完成這項工作。 對於網頁,你可以使用任何框架,所以軌道將是好的,以處理視頻,你需要像ffmpeg或transconding轉換視頻。 對於流式傳輸,如果您可以使用HTML5,請檢查this question,否則您需要一名具有閃回效果的播放器。

請記住,在存儲和CPU方面的重要部分是視頻壓縮/轉換。

3

不幸的是,沒有一個或兩個APIs/Libraries/Frameworks可以編織在一起來製作視頻服務網站。

不變的是這將需要在堆棧的各個層面大量參與:

服務器後端將需要以下亟待解決的問題:

  • 視頻編碼
    • FFMPEG或MPlayer的經驗用於將任意數量的視頻格式編碼爲FLV或支持HTML5格式的更新版h264
    • 在後臺進程中對視頻進行轉碼的可靠機制;最初在一臺服務器上,但最終還是在多臺服務器爲您服務擴展
    • 視頻縮放
  • 帶寬管理,以流連接剛夠使視頻滑下用戶
  • 存儲視頻文件和文件分片和命名機制
  • API服務器 - 類似於Rails,Django或NodeJS Express,用作Web客戶端和視頻編碼/服務服務之間的JSON服務層。

前端會要求下面要解決的問題:

  • 跨多個操作系統(在Windows,OSX,Linux的,平板電腦,移動)和平臺播放視頻可靠(IE,Chrome瀏覽器/ Safari瀏覽器,Firefox,Opera),支持舊版瀏覽器
  • DRM - 您的視頻是免費還是商業版?如果是後者,這是另一個需要解決的問題

我強烈建議您在後端安裝事件驅動系統,因爲開發支持併發的代碼要容易得多。 NodeJS將是一個不錯的選擇。 NodeJS的node-fluent-ffmpeg模塊是一個很好的起點。

至於你的前端,我會推薦框架,如Backbone.js或AngularJS來開發你的網絡應用程序。

幾年前,當我嘗試類似的東西時,這是一個有趣且充滿挑戰的旅程。祝你旅途愉快。

+0

感謝您的輸入。 – yetanotherse