首页 > 解决方案 > Asp.Net Core Web App 从磁盘播放和下载视频

问题描述

我在这里有一个场景。我必须构建一个 asp.net 核心 Web 应用程序,从中我必须浏览驱动器和目录(托管位置:windows)并列出可用的视频文件。这部分工作完美。

现在我必须对这些视频文件做两件事:

  1. 需要下载文件(除了大小<2 GB)
  2. 无论格式和大小如何,都需要在页面上播放视频。

寻求您的帮助。提前致谢。

标签: asp.net-mvcwindowsasp.net-coreiis

解决方案


如果你的网站视频,每个视频都很小,假设单页视频大小不超过100M,或者你的网速极快,我觉得你的需求是可行的。

我上面所说的只是单个页面中包含的内容。当视频资源不多时,页面加载速度与带宽有关。

读取某个路径下的文件很简单,但是我觉得网速和IIS的性能是读取和下载的瓶颈。

原因及建议

1. IIS web server只是承载web应用,也可以存储一些小的静态资源,比如网站图片、css和js文件。

IIS 本身在 Windows 上。在用户不多的情况下,接入1G视频即可正常运行。它可以慢慢加载。但是如果有很多用户,比如100人或者1000+人同时访问呢?我觉得web服务器压力很大,所以你的idea只适合小范围的用户,建议视频资源不要太大。

2. 建议您使用第三方媒体服务来存储和阅读视频。例如,使用Azure 媒体服务

原因是如果通过web服务器读取该路径下的视频资源,在视频加载方面肯定是很慢的,尤其是当文件很大,用户访问较多的时候,这种现象会特别明显。

使用 Azure 媒体服务,将提高播放视频的打开速度和下载速度。作为Web服务器,IIS将不再承受这部分媒体服务的压力。


推荐阅读