存储和流式传输 mpeg4

Storing and streaming mpeg4

我的应用程序需要在服务器上存储 mpg4 文件,并能够快速抓取它们并通过 MediaPlayer 流式传输它们。从我的应用程序录制后,我一直在使用 AWS S3 来存储它们,但是当我继续抓取它们以通过 MediaPlayer 流式传输它们时,它有时很快但通常很慢。我只是希望就此的最佳方法提供一些指导。视频需要以相当快的速度回传,但 S3 似乎有点慢而且成本很高。有哪些替代方案或最佳解决方案?

S3 的主要卖点是高可用性存储,而不是访问速度,尤其是当您需要访问许多不同地理位置的内容时。

对于可靠的低延迟视频分发(即缓冲的最小停止),您需要内容分发网络解决方案 (CDN)。简而言之,这会在网络边缘创建内容的缓存副本,以便快速访问。

A​​mazon 的 CDN 解决方案是 Cloudfront,它旨在与存储在 S3 上的内容集成。下面的 link 很好地演示了为某些 S3 内容设置 Cloudfront。请注意它确实有成本,因此您需要检查它是否符合您的预算(其他 CDN 可用 - 它们在概念上都相似):

如果您的需求很小且本地化,并且您可以测试并确认性能正常,那么您可以简单地将视频托管在 EC2/ECB 上,并在 S3 上备份以防出现问题。同样,您可能需要通过亚马逊价格计算器 运行 不同的场景来确定满足您需求的最佳方法。

我从未见过这种 EC2/ECB 方法对于小用户群的性能问题,当然对于与 AWS 可用性区域位于同一一般地理区域的用户来说,但它不一定能很好地扩展,尤其是更分散的用户群。