如何为网站存储视频
本文关键字:存储 视频 网站 | 更新日期: 2023-09-27 18:15:35
我正在开发一个ASP。网的网站。在网站用户需要创建一个帐户,然后他们可以上传他们的工作视频。观众可以自由观看。我使用html5 <video>
标签来显示视频。我使用sql server数据库。现在,当用户上传视频时,将视频存储在哪里?我应该把所有的视频放在同一个文件夹里吗?如果是,那么可以有多个相同名称的视频。如何处理呢?
一个解决方案是在名称中嵌入一个id,无论如何。
你可以像这样加前缀
如何制作三明治
或者你可以用一个向导代替整个东西,并将所有信息存储在数据库中。
如果你按照指南,我个人会把所有的视频存储在同一个文件夹中,以方便,使检索尽可能简单。这样做的一个问题是SEO,搜索引擎喜欢文件名,他们不喜欢文件名中的id。
要获得文件名,你可以创建文件夹并将其命名为id,然后将视频放在那里,或者你可以创建一个控制器,从id中提供文件。到目前为止,最简单的方法是以id作为名称的文件夹,然后将视频放在那里,您也可以适当地将不同格式的相同视频存储在那里。
/videos/343/How to make a sandwich.mp4,/videos/343/How to make a sandwich.webm
/视频/344/video.mp4/视频/344/video.webm
这是如果你有足够的存储空间,想要使用自己的服务器,否则你可以节省大量的服务器成本(存储和流量)通过使用一个服务来托管你的视频,例如YouTube或Vimeo
您可能希望用与它们相关的某种ID标记视频,特别是如果它们可能具有相同的名称。基本上,您将在一个表中存储一条记录,其中包含用于上传的信息(上传者、上传日期、视频类型等)。您还需要在存储视频的文件服务器上存储实际文件的路径,然后使用该路径查看它们。
上传视频在每个用户的文件夹或分配一个随机唯一的名称给视频(如Guid),然后添加一行到数据库表明视频文件的实际名称和文件夹
看看文件名编码的答案:https://stackoverflow.com/a/1638761/844044
在SQL中,您保留原始文件名(或您想要显示的名称)和您生成的base64文件名之间的链接。
在你生成的base64文件名上可能会有冲突(这应该是随机生成的),但这是微不足道的。
也是:https://www.youtube.com/watch?v=gocwRvLhDf8,在youtube文件名