amazon-web-services - 单独使用 AWS S3 或 S3 和 Cloudfront 进行视频下载

标签 amazon-web-services amazon-s3 html5-video amazon-cloudfront aws-sdk

我构建了一个 Ruby on Rails 应用程序,其核心涉及用户视频

有一些具有管理员权限的用户可以上传视频(每个大约 5 分钟,高清)。网站其余用户只能观看视频;他们自己没有上传的能力。我预计每周会上传大约 20 个视频。观看视频的用户不会超过 2 或 3000(全部在北美)。

我有两个 S3 存储桶,我们称它们为 Bucket X 和 Bucket Y。 我内置了 Carrierwave 以将视频上传到 S3 Bucket X,并内置了 AWS Elastic Transcoder 以从 Bucket X 获取视频,将其转码为 Mp4,并将其放入 Bucket Y。

Bucket Y 中生成的视频文件正是我想要的:网络优化、压缩的 MP4 格式。如有必要,我可以直接从 Bucket Y 中的 url 提供视频。

然而,与此同时,我正在使用 AWS Cloudfront CDN 快速将 Assets 和用户上传的个人资料图片交付给每个用户。

对于像我这样的网站,每周上传大约 20 个时长 5 分钟的视频,使用 Cloudfront 有意义吗?

我遇到过类似 this 的文章和 that ,这表明 Cloudfront 适合提供视频服务。我也遇到过其他人,比如this stack overflow answer by Wayne Koorts这表明 Cloudfront 主要只在交付较小的文件方面有优势,而且可能成本很高。

考虑到每周只有大约 20 个视频上传,其余都是 get 请求,我不关心使用 Cloudfront 的价格。 但是,Cloudfront 是否值得在这种情况下使用?如果我们谈论的是 5 分钟长的视频,它真的会加快加载时间吗?

感谢任何帮助。非常感谢您。

最佳答案

这太宽泛了,但正如您所说,最初您的视频将仅提供给北美用户,因此目前还没有理由使用 CloudFront。等到您需要服务于不同的地理位置时,再将其包含在您的架构中。

记住AWS says CloudFront 的主要功能是“通过使用世界各地的边缘位置网络服务请求,以低延迟和高数据传输率分发内容。”

关于amazon-web-services - 单独使用 AWS S3 或 S3 和 Cloudfront 进行视频下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39020272/

相关文章:

python - 如何获取 S3 存储桶中所有不同前缀的列表?

ruby - 如何授予对 S3 存储桶文件的批量权限?

HTML5 视频标签在移动 Safari 上不显示缩略图

ruby-on-rails - rails 5 : WebRTC video conferencing

node.js - AWS SES 安排电子邮件发送 (Node SDK)

apache - 亚马逊网络服务和 ubuntu 10.04 ec2 实例

java - S3 java v1 => v2 : putObject only works when debugging - SdkClientException: Unable to execute HTTP request: Read timed out

amazon-web-services - 相同字符串的不同 MD5 哈希值 (CryptoJS.MD5)

amazon-web-services - 我可以使用两个 S3 存储桶在 Route53 上进行主要和次要故障转移吗?

html - 使用 HTML5 视频嵌入 Google 云端硬盘视频