我们在 AWS 上托管视频S3在HLS 格式(大量.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 年,以防万一......并且我们手动管理失效。