Laravel 媒体存储最佳实践

Laravel Media Storage Best Practice

抱歉,如果重复,但我在网上找不到太多。我正在开发用于流媒体和教育的网站平台。该网站需要处理大文件(主要是视频)和缩略图。该网站托管在 Azure 上。

将媒体文件存储在 Azure Blob 存储上或网络应用程序内的 public 文件夹中会更好吗?

我都试过了,当我将它们存储在 azure blob 存储中时,视频需要半分钟才能加载 + 你无法搜索视频。

目前你的大视频资源还没有处理,直接让Html播放,所以在加载过程中,你感觉很慢,感觉是在下载,但是不是。这就是网络传输的加载。可以通过F12->Network查看,或者使用Fiddler查看。

我有两个建议。

一种是使用 Azure 媒体服务

使用新的Services,这样在同一个region或者resourcegroup下,加载速度应该会有明显的提升。因为 AMS 处理了所有上传的视频。

优点(对比你现有的方法和下面第二种方法):

  1. 适配各种码流播放
  2. 无需自己处理视频。

缺点:需要使用新的Services,可能需要学习(只需要了解视频上传流程,使用官方播放器,嵌入Html代码到你的php page,所以学习周期会很短,半天。),新服务会额外收费。

另一种是在后台编码处理视频。

引入两个概念:blockchunk

大文件()可以根据需要处理。你也可以 .

与文件存放位置无关。对于大文件,加载速度慢,差别不大。

相关文章或帖子

1. How to stream large .mp4 files?