通过AWS cloudfront进行HTTP直播

eye*_*ect 8 streaming http live amazon-web-services amazon-cloudfront

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

到目前为止我的经验是,这是不可能的.AWS文档不明确.AWS论坛是沉默的.

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

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

谢谢.

小智 12

使用未签名的 URL 的方案肯定会起作用.我已成功将带有ffmpeg的视频流分段到S3并从CF提供服务.毕竟这都是HTTP.

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

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

我希望这有点解决你的问题.如果没有,请随时发表评论.


小智 -2

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

\n\n
\n

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

\n
\n\n

简短的回答是否定。来自 CloudFront 的流式传输采用 RTMP。

\n\n

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

\n\n

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

\n\n

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

\n