Amazon Cloudfront 可以流式传输到 iOS 设备吗

Posted

技术标签:

【中文标题】Amazon Cloudfront 可以流式传输到 iOS 设备吗【英文标题】:Can Amazon Cloudfront Stream to an iOS Device 【发布时间】:2011-11-19 03:48:34 【问题描述】:

我正在构建一个 CDN。我希望能够流式传输到 iPhone 和 iPad。这可以使用 Amazon Cloudfront 吗?

让我澄清一下。是否有任何文档或任何人这样做的示例?

【问题讨论】:

是的。 Amazon Cloudfront 可以实现很多事情。 也许我的问题不清楚。我想知道使用了哪些协议,或者是否有文档说明有人这样做。 您以错误的方式处理此问题。你想使用什么协议?您要解决什么业务问题? 是的,我现在意识到了。我想从 Amazon Cloudfront 流式传输到 iPad。 Amazon Cloudfront 支持 RTMP 流,但 ios 平台不支持。如何从 Amazon Cloudfront 流式传输到 iOS 设备? 这是唯一的选择吗?如果我理解正确,HTTP 只是下载视频,可能会选择下载后面的部分。如果用户的带宽很慢怎么办? 【参考方案1】:

如果您确保媒体的元数据位于文件的开头,则渐进式下载有效。谷歌“ffmpeg qtfastart”以最简单的方式完成此任务(根据我的经验)。如果不这样做,播放器(在 iOS 中)必须先下载完整的文件,然后才能获得它需要读取的元数据才能播放。如果您没有在制作工作流程中执行此步骤,那么您的渐进式下载不会起到“渐进式下载”的作用,它实际上是在下载整个文件(如前所述......所以它可以获取元数据)然后播放.这可以通过您的平台支持的任何视频/音频文件来完成。

注意:我不确定这会如何影响任何高速擦洗尝试。似乎需要将文件下载到应用程序尝试擦除的位置。

另一种选择可能是创建 iOS 流式传输所需的格式(使用分段器/转码器),并通过 http 在您的常规 Cloudfront 发行版上提供这些文件。理论上应该可以。

更清楚一点 - Cloudfront 使用支持通过各种 RTMP 协议进行流式传输的旧版 Flash Media Server(v 3.5)。这些可以通过创建一个 Streaming Distribution 来启用(这就是我们为 web 和 android 进行流式传输的方式)并在前端使用 JW Player 之类的东西。http://help.adobe.com/en_US/FlashMediaServer/3.5_TechOverview/WS5b3ccc516d4fbf351e63e3d119ed944a1a-7ffa.html http://www.adobe.com/devnet/logged_in/ktowes_fms35.html

IOS 流是使用不同的 HTTP Live Streaming 完成的。 https://developer.apple.com/streaming/

您的选择是按照我上面提到的去做,或者使用 EC2 并建立您自己的 FMS 4.5 实例 (http://aws.typepad.com/aws/2012/03/live-streaming-cloudfront-fms-4-5.html)。

【讨论】:

【参考方案2】:

为此苦苦挣扎..

终于通过 Audio Streamer 让它工作了。喜欢这个...

http://www.cocoawithlove.com/2009/06/revisiting-old-post-streaming-and.html

很棒的方式....

【讨论】:

【参考方案3】:

您只是想使用渐进式下载,这意味着将文件上传到 S3,创建分发,然后开始!超级简单。

【讨论】:

以上是关于Amazon Cloudfront 可以流式传输到 iOS 设备吗的主要内容,如果未能解决你的问题,请参考以下文章

可以使用带有 HTML5 播放器的 Amazon S3/CloudFront 流式传输视频吗?

带有 SoundManager2 的 Amazon Cloudfront RTMP 字符串

Amazon CloudFront - 使用签名 URL 保护视频

开始使用 Python 进行安全 AWS CloudFront 流式传输

通过 CloudFront 进行私有 HTTP 实时流式传输

Amazon DynamoDB 是不是支持查询结果的流式传输