从Amazon S3流式传输MP3

Rob*_*son 30 streaming mp3 amazon-s3

有没有办法通过嵌入在网站上的Flash小部件或其他方法流式传输存储在Amazon S3上的MP3?

Kon*_*kus 36

是的.首先,您需要在S3帐户中创建一个桶,该桶全部为小写,全局唯一且与DNS兼容; 例如,我创建了一个名为'media.torusknot.com'的存储桶.

然后为了使一切看起来不错,您需要创建一个DNS CNAME条目,以将您站点的子域映射到该S3存储桶.这样您就可以通过" http://media.example.com/somefile.mp3 " 访问上传​​到该S3存储桶的文件.您只需要在文件和存储桶上设置ACL,以确保允许公共访问.

最后,如果您想通过Flash播放器将视频文件从S3流式传输到另一个域,您还必须告诉Flash,可以从其他域中提取内容.在存储桶中创建一个名为"crossdomain.xml"的文件,其中包含以下内容:

<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
</cross>
Run Code Online (Sandbox Code Playgroud)

这允许从任何地方访问媒体 - 如果您愿意,可以更具体,但这是最简单的方法.

相关资源:

  • 但请记住,媒体不是真正流式传输(如Red5或Flash Media Server),而是逐步下载 - 因此媒体文件最终会成为浏览器缓存中容易识别的文件.根据许可证,这可能是第三方拥有版权的内容的问题 (9认同)

小智 28

要更新此问题的答案,如果您想要实际STREAM到客户端,您可以在S3存储桶之上使用Amazon Cloudfront(如Rudolf所述).在Cloudfront中创建指向S3存储桶的"流式分发".

这将通过RTMP流式传输(适用于Web和Android设备).您可以使用JW Player或类似播放器播放流式文件.

Cloudfront Streaming使用Adobe Flash Media Server 3.5.

还可以使用签名的网址播放安全内容.

  • 谢谢,这是我拼命寻找的信息!你的男人! (3认同)
  • 这应该是绿色的! (2认同)
  • 如今,您不再需要使用 RTMP 来获取流媒体,S3 原生 HTTP 流媒体非常好,并且能够以比 RTMP 更简单的方式进行流媒体播放。如果您只是在寻找音频流,只需将文件放在 S3 中就足够了。如果您正在寻找视频,您应该考虑使用 HLS 或 MPEG-DASH(同样,文件仅在 S3 中)。如果您有很多客户,可以将其与 CloudFront Web 分配相结合以获得更好的性能。除了简单之外,这不需要专有库。 (2认同)