我希望创建一个 .Net MVC3 内部网应用程序,作为用户在浏览器中上传、搜索和播放视频的存储库。
申请应提供以下内容:
- 允许用户上传 .avi 视频以及一些元数据(标题、描述、标签等)的表单
- 视频应该可以直接在浏览器中播放
- 搜索机制
- 每个视频都应该有一个相关的缩略图(视频中的一个随机帧)以显示在搜索结果等中。
注意事项:
- 原始视频均为avi格式(视频文件大小在200-500MB之间)。
- 所有用户都将拥有支持 HTML5 视频播放的浏览器(无需向后兼容)
- 作为一个用户群有限的内网网站,我们可以强制人们使用chrome来起诉这个应用程序
- 如果可能,视频文件应存储在网络共享驱动器上(而不是网络服务器本身)
我可以处理其中的标准 Web 应用程序部分(表单、数据库、搜索机制、视频播放等)。我需要一些指导的地方是处理、转换和存储视频的最佳方式,以便每个视频都可以直接在浏览器中播放。此外,该应用程序有一天可能会在移动设备(平板电脑、手机等)上使用,因此每个视频的低分辨率版本也应该可用,如果不太困难,视频也应该能够从网络服务器而不是下载然后播放。
问题:
- 是否有领先的 C# 库在服务器端进行视频编码(在视频上传后)?转换一个 500MB 的文件会有多慢?
- 存储如此大文件的最佳方法是什么?正如我所提到的,将它们存储在网络共享上是理想的,但这对视频播放有何影响?
- 流式传输视频的最佳方式是什么?.Net 中是否有标准方法可以做到这一点?
- 我在这里咬太多了吗?有没有我可以购买并安装在本地硬件上的打包解决方案(我们有钱)来完成所有这些工作?