我正在开发一个用户可以上传和观看视频的网站。我以前从未做过这样的事情,需要一些指导。我希望将视频存储在我的服务器上,用户可以通过我网站上的视频播放器搜索和观看它们。实现这一点的 java 库是什么,我需要的其他技术是什么。
3 回答
以下是您可以考虑使用或研究的技术列表。
JSP + Servlet = 您将实现自己的 MVC 实现(但如果您正在构建大型应用程序,除非您真的很擅长它,否则我不建议这样做。考虑第 2 点)
考虑使用 MVC 框架(如 Struts2、Spring MVC 等)或像 Thorn 所说的那样,像 Jersey 那样的 REST 框架(虽然我没有尝试过使用 REST 框架)。
数据库访问- 我需要解释原因吗?
ORM 库- 使用 ORM 可以加快开发速度(尽管这可能是主观的),它使数据访问更加抽象和可移植,ORM 实现类知道如何编写特定于供应商的 SQL。
文件上传库 -如果您打算将其用作 Struts2,您的框架曾经依赖于 Apache Commons 库(只需查看他们的文档)。
您说过用户会上传他们的视频,您会将它们存储在您的服务器中,您将在他们的网络浏览器中播放这些视频,您需要进行文件转换,为什么?
在 HTML5 中,由于并非所有浏览器都支持所有视频格式,因此如果您要使用 html5 播放器,则需要考虑将视频转换为另一种格式。您可以在此处查看不同浏览器支持的不同文件格式
对于文件转换检查这里
现在对于客户端视频,您可以使用MediaElement.js,它有一个 flash 回退,以防万一用户视频不支持 HTML5。
我建议不要从您需要掌握的技术列表开始这个项目,而是从您希望它看起来像的轮廓开始 - 用户将如何与站点交互?它有什么功能,您希望如何向用户展示它?接下来我会考虑数据。它将如何存储?视频文件将如何命名并与用户关联?我们需要存储视频的哪些属性?例如,每个视频文件都可以有一个关联的用户(发布者)、一些属性,如日期、文件大小、分辨率、帧速率。我们还会存储评论或评分吗?关键词?说明?可能您需要一个数据库来存储这些数据,但我只是将视频文件作为常规文件存储在目录中。
现在选择一组工具来完成这项工作......
- Java Servlet 或类似 Jersey 的 REST 框架。
- 使用Apache 公共库上传文件(如果使用 Jersey 框架,可能不需要这样做)
- 数据库访问
- HTML 5 视频播放或 Flash 视频或 JavaFX 2
尚不支持所有浏览器使用 HTML5(基于浏览器的视频播放,无需插件)。
搜索功能也可以在 Java 中完成。您需要一些数据库技能,并且做好搜索绝非易事。但是,您为应用程序提供关键字并为您提供列出该关键字的所有视频的基本搜索应该很简单。