想知道是否有人能够使用签名URL通过AWS Cloudfront流式传输HLS视频。
我的经验是,这是不可能的。AWS文档不清楚。AWS论坛沉默无声。
我似乎可以获取第一个文件(.m3u8),然后它停止了。使用JW播放器,报错无法获取媒体文件。
如果答案是肯定的,请指引我正确的方向。
谢谢。
想知道是否有人能够使用签名URL通过AWS Cloudfront流式传输HLS视频。
我的经验是,这是不可能的。AWS文档不清楚。AWS论坛沉默无声。
我似乎可以获取第一个文件(.m3u8),然后它停止了。使用JW播放器,报错无法获取媒体文件。
如果答案是肯定的,请指引我正确的方向。
谢谢。
使用未签名的URL场景肯定有效。我已经成功地使用FFmpeg将视频流分割到S3上并从CF中提供服务。毕竟,它都是HTTP。
如果您希望限制对HLS内容的访问,则您的播放列表文件也需要包含签名URL。通常当播放列表被请求时,您会根据要用于验证用户的凭据计算这些URL。因此,您需要一个服务器端的实现来为您生成会话唯一的m3u8,以便签名URL方案具有意义。
根据您的需求,另一个选择是研究DRM。JW Player 支持单个/旋转密钥片段解密,这可能是一种更复杂的解决方案。然后,您需要考虑如何安全地分发解密密钥给客户端。
我希望这个回答可以在一定程度上解决您的疑虑。如果没有,请随时留言。
根据CloudFront对其流媒体的描述:
预录制媒体的流式传输:您可以通过Amazon CloudFront使用Adobe的实时消息传递协议(RTMP)流式传输来传递您的点播媒体。您将媒体文件的原始副本存储在Amazon S3中,并使用Amazon CloudFront以低延迟传递您的媒体内容。 Amazon CloudFront与Amazon S3集成,因此您可以通过进行简单的API调用或在AWS管理控制台中点击几下来配置媒体流式传输。当使用Amazon CloudFront时,您还可以从高吞吐量传递媒体中受益,因此您可以向观众以全高清质量提供内容。
简短的回答是基本上不行。从CloudFront进行流媒体传输需要使用RTMP。
链接:http://aws.amazon.com/cloudfront/
话虽如此,AWS的弹性转码器可以生成HLS文件集和播放列表,而这些可以从CloudFront提供服务。因此,答案变成“如果您能够完成/找到解决方法,则可以”。
这里有一个链接,告诉你如何操作:http://aws.amazon.com/elastictranscoder/faqs/#Can_I_get_segmented_output_for_HTTP_Live_Streaming_(HLS)