9

想知道是否有人能够通过带有签名 URL 的 AWS Cloudfront 流式传输 HLS 视频。

到目前为止,我的经验是,这是不可能的。AWS 文档不清楚。AWS 论坛保持沉默。

我似乎能够获得第一个文件( .m3u8 )然后它停止。使用 JW 播放器,抱怨无法获取媒体文件。

如果答案是肯定的,请指出我正确的方向。

谢谢。

4

4 回答 4

13

带有未签名URL的场景肯定会起作用。我已经成功地将带有 ffmpeg 的视频流分段到 S3 并从 CF 提供。毕竟都是HTTP。

如果您希望限制对 HLS 内容的访问,您的播放列表文件还需要包含签名 URL。您通常会在请求播放列表时根据您希望对用户进行身份验证的任何凭据来计算这些。因此,您需要一个为您生成会话唯一 m3u8 的服务器端实现,以使签名 URL 方案有意义。

根据您的需要,另一种选择是研究 DRM。JW Player支持单个/旋转密钥片段解密,这可能是一个更复杂的解决方案。然后,您将不得不将解密密钥安全地分发给您的客户。

我希望这在一定程度上解决了您的担忧。如果没有,请随时发表评论。

于 2013-07-17T15:52:23.417 回答
2

在以下情况下使用签名 URL:

  • 您想使用 RTMP 分发。RTMP 分发不支持签名 cookie。
  • 您希望限制对单个文件的访问,例如,应用程序的安装下载。
  • 您的用户正在使用不支持 cookie 的客户端(例如,自定义 HTTP 客户端)。

在以下情况下使用签名 cookie:

  • 您希望提供对多个受限文件的访问权限,例如,HLS 格式的视频的所有文件或网站订阅者区域中的所有文件。

  • 您不想更改当前的 URL。

更多信息: http: //docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-choosing-signed-urls-cookies.html

于 2016-08-11T07:16:01.147 回答
1

根据这篇文章,cloudfront 确实支持 HLS。我目前正在尝试使用带有 html5 视频的 flowplayer 在我的网站上实现这一点。一旦运行,我将更新此答案。Amazon Web Services 网站也有关于HLS 支持的说法,尽管它看起来不像 rtmp 方法那么整洁。

于 2013-10-31T08:15:04.320 回答
-2

根据 CloudFront 对其流式传输的描述:

预先录制的媒体流式传输:您可以通过 Amazon CloudFront 使用 Adob​​e 的实时消息传递协议 (RTMP) 流式传输您的点播媒体。您将媒体文件的原始副本存储在 Amazon S3 中,并使用 Amazon CloudFront 以低延迟交付媒体内容。Amazon CloudFront 与 Amazon S3 集成,因此您可以通过简单的 API 调用或在 AWS 管理控制台中单击几下来配置媒体流。使用 Amazon CloudFront 时,您还可以从媒体的高吞吐量交付中受益,因此您可以向观众交付全高清质量的内容。

简短的回答几乎是。从 CloudFront 流式传输的是 RTMP。

链接:http ://aws.amazon.com/cloudfront/

也就是说,AWS 的 Elastic Transcoder 可以制作 HLS 文件集和播放列表,并且可以从 CloudFront 提供这些内容。那么答案就变成了“是的,如果你能完成这项工作/弄清楚的话。”

这是他们常见问题解答的链接,告诉您如何操作:http://aws.amazon.com/elastictranscoder/faqs/#Can_I_get_segmented_output_for_HTTP_Live_Streaming_(HLS)

于 2013-06-26T17:57:37.790 回答