我正在開發一個用戶可以上傳和觀看視頻的網站。我從來沒有做過這樣的事情,需要一些指導。我希望視頻能夠存儲在我的服務器上,用戶可以通過我的網站上的視頻播放器進行搜索和觀看。什麼是java庫來實現這一點,以及我將需要的其他技術是什麼。使用java在網站上進行視頻流式傳輸
回答
以下是您可以考慮使用或學習的技術列表。
JSP + Servlet的 =你會實現自己的MVC 實現(雖然我不建議這一點,如果你正在建設 大規模的應用程序,除非你是在它真的很好。考慮 2號)
考慮使用一個MVC框架(如Struts2的,Spring MVC的等)或 像什麼索恩表示,像新澤西州的REST框架(雖然我還沒有 使用REST框架試過)。
數據庫訪問 - 我需要解釋爲什麼嗎?
的ORM庫 - 使用ORM可以加快發展(這可能是 主觀雖然),它使數據存取更爲抽象和 便攜,ORM實現類知道怎麼寫 供應商特定的SQL。
文件上傳庫 -如果您打算爲Struts2的使用其depencies一旦你 框架是Apache共享庫(只是 查看他們的文檔)。
你說,用戶會上傳自己的視頻,你將它們存儲在您的服務器 ,你將在他們的網頁瀏覽器,你需要做的文件convertions這些影片,爲什麼呢?
在HTML5中,因爲不是所有的瀏覽器都支持所有的視頻格式,所以如果你打算使用html5播放器,你需要考慮將視頻轉換爲另一種格式。你可以檢查出不同的文件格式,不同的瀏覽器支持here
對於文件轉換檢查這個Here
現在的客戶端視頻,你可以使用它有閃光燈回退,在MediaElement.js以防萬一用戶視頻不支持HTML5。
與其開始您需要掌握的技術列表的項目,我會建議從您想要的外觀大綱開始 - 用戶將如何與網站交互?它將具有哪些功能以及如何讓用戶看到這些功能? 接下來我會考慮數據。它將如何存儲?視頻文件將如何成爲名稱並與用戶相關聯?我們需要存儲哪些視頻屬性?例如,每個視頻文件都可以有一個關聯用戶(發佈者),一些屬性,如日期,文件大小,分辨率,幀率。我們是否也會存儲評論或評分?關鍵詞?說明? 也許你會想要一個數據庫來存儲這些數據,但我只是將視頻文件作爲常規文件存儲在目錄中。
現在到選擇一套工具來完成這件事......
- 的Java servlet或類似新澤西州的REST框架。 (如果使用Jersey框架可能不需要這個)
- 數據庫訪問
- HTML 5視頻播放或Flash視頻或JavaFX的2
隨着HTML5(基於瀏覽器的視頻播放,而無需使用an Apache commons library
搜索功能也可以在Java中完成。你在這裏需要一些數據庫技能,做好搜索並不是微不足道的。但是,在您爲應用程序提供關鍵字並向您提供列出此關鍵字的所有視頻的基本搜索應該很簡單。
- 1. 從網站流式傳輸視頻?
- 2. 在Android上使用Lighttpd進行視頻流式傳輸
- 3. 如何在我的網站上流式傳輸視頻?
- 4. 在android中使用webview進行視頻流式傳輸
- 5. 您可以使用HTML 5在網站上24/7流式傳輸視頻嗎?
- 6. gstreamer appsrc通過網絡進行視頻流式傳輸
- 7. 是否在本地網絡上使用TCP或UDP進行視頻流傳輸?
- 8. 使用C#進行視頻流式傳輸的最佳實踐
- 9. 使用vlcj通過http進行實況視頻流式傳輸
- 10. 使用WebRTC進行視頻流式傳輸和廣播
- 11. 使用WebView進行Rtmp視頻流式傳輸
- 12. 使用Python進行視頻流式傳輸
- 13. 在iPhone上流式傳輸視頻
- 14. 在Safari上使用一幀視頻服務器進行流式傳輸
- 15. 網站上的流式視頻
- 16. 如何使用Java EE流式傳輸現場音頻視頻?
- 17. 使用Flash流式傳輸視頻
- 18. 在我的網站上流式傳輸音頻
- 19. 流式傳輸FLV視頻
- 20. 用Cassandra進行Java Spark流式傳輸
- 21. 如何在網頁上流式傳輸視頻?
- 22. 在Android中進行視頻流式傳輸
- 23. 流式傳輸視頻並在其上繪製多邊形Java
- 24. 無法在WebView上從視頻流式傳輸視頻
- 25. 將流式傳輸到網站上
- 26. 如何使用Appengine Blobstore上傳和流式傳輸視頻
- 27. 使用不同的音頻和視頻源進行流式傳輸
- 28. 在Windows上使用FFMPEG從圖像流式傳輸視頻
- 29. 使用AVPlayer在ios中進行音頻流式傳輸
- 30. 使用vlc與rtsp流式傳輸網絡攝像頭視頻
爲什麼你想用Java來做到這一點? – aly
那麼,我在服務器端使用java,所以我假設我將需要它來實現這些功能[如果我錯了,我不知道糾正我]。 –
使用網絡攝像頭創建的視頻? Flash可以很好地與Java後端(如Red5或Wowza)結合使用。 –