Michaelpassion 寫:
是這樣,我想要實現基於hadoop的視頻點播系統,利用分佈式系統實現用戶在隨進進行進度拖放時,快速找到該時間節點的視頻所在的具體位置。可以實現減少緩衝時間的需求。目前只是搭建了hadoop偽分佈系統,對網上的一些基礎教程進行了練習,我是否應該將視頻先進過分割再上傳到hadoop節點,但是怎麼實現視頻點播呢?我的意思是用瀏覽器訪問嗎?用戶拖放的進度該怎麼和namenode做交互?抱歉,水平很低,還請多多指教
1. 這個情境水平不會很低啊,還蠻有挑戰性的。
2. 這一類問題「Realtime Video Transcoding」在一些論文還蠻常見的,只是現實生活中,多半還是靠 CDN 還有事先轉碼過的影片片段來解決。(也就是先將影片切割成幾個片段,先完成影片轉碼,然後根據快轉的位置去找到合適的影片片段,進行快轉、緩衝跟串流播放)
3. Hadoop 無法處理 Realtime 問題,因為涉及排程(Scheduling)。所以如果對即時的需求很高,可能要靠 HBase Co-processor 的方式來觸發 Transcoding (影片轉碼)。(只是這樣做,時間差還是很大的。要快就一定得借助前處理。)
4. 影片進度拖放進度,得看是 Flash Player 還是 HTML5 Video Player,兩者很可能必須透過 AJAX 註冊事件,透過 PHP or JSP 去呼叫背後的 Java 程式。
5. 如果純粹只想用 Hadoop 的 HDFS 檔案系統,那也只有用到 WebHDFS 了。
- Jazz