我的应用程序需要在服务器上存储mpg4文件,并能够快速抓取它们并通过MediaPlayer流式传输它们。我从我的应用程序录制后一直使用AWS S3来存储它们但是当我继续抓住它们通过MediaPlayer流式传输时,它有时很快但通常很慢。我只是希望能就这方面的最佳方法提供一些指导。视频需要快速回传,但S3似乎有点慢,而且成本很高。有哪些替代方案或最佳解决方案?
答案 0 :(得分:1)
S3的关键卖点是高可用性存储,而不是访问速度,特别是如果您需要访问许多不同地理位置的内容。
对于可靠的低延迟视频分发(即缓冲的最小停止),您需要内容分发网络解决方案(CDN)。简单来说,这会在网络边缘创建内容的缓存副本,以便快速访问。
亚马逊的CDN解决方案是Cloudfront,它旨在与存储在S3上的内容集成。下面的链接提供了为某些S3内容设置Cloudfront的良好演练。请注意,它确实有成本,因此您需要检查它是否符合您的预算(其他CDN可用 - 它们在概念上都相似):
如果您需要的是小型且本地化的,并且您可以测试并确认性能正常,您可以直接在EC2 / ECB上托管视频,并在出现问题时在S3上备份。同样,您可能需要通过亚马逊价格计算器运行不同的方案,以确定满足您需求的最佳方法。
我从未见过针对小型用户群的此EC2 / ECB方法的性能问题,当然对于与AWS可用区域在同一通用地理区域的用户,但它不一定能很好地扩展,尤其是对于更分散的用户基