通过 AWS CloudFront 提供视频时缓冲

通过 AWS CloudFront 提供视频时缓冲

我们在 AWS 上托管视频S3HLS 格式(大量.ts 文件,+播放列表.m3u8)。

我们已配置 AWS CloudFront 的所有边缘位置来提供这些文件。

我们有 2 个应用程序,iOS 和 Android,带有播放 CloudFront URL 的视频播放器。Android 应用程序使用 Google 的 Exoplayer,iOS 应用程序使用 AVPlayer。它们都存在相同的问题。

视频在同一地区顺利播放作为源 S3 存储桶。我们一开始遇到了一些问题,但我们通过修复比特率编码解决了这些问题。

然而来自偏远国家抱怨缓冲:首次加载视频平均需要 1 分钟,然后每分钟平均缓冲 12 秒。

因此我们决定添加AWS CloudFront这样文件就会缓存在 Edge 位置,从而加快视频加载速度。

但客户一直在抱怨,我们也知道对于第一个用户来说仍然需要一段时间才能加载。

因此我们设置了 2非 AWS其他地区的服务器会自动下载视频,目的是缓存它们在这两个地区,一旦发布就会立即生效。

但这似乎也没什么帮助。

我想知道AWS CloudFront 是否对通过直接下载进行视频流传输有效,或者我们遗漏了什么。

如何让 CloudFront 摆脱视频缓冲?或者,如果 CloudFront 不是解决方案(为什么?),我们应该关注什么?

附注:我们将 TTL 设置为 10 年,以防万一......并且我们手动管理失效。

相关内容