Amazon Cloudfront 可以流式传输到 iOS 设备吗
我正在构建 CDN。我希望能够流式传输到 iPhone 和 iPad。使用 Amazon Cloudfront 可以实现这一点吗?
让我澄清一下。是否有任何地方有任何文档或有人这样做的示例?
I am building a CDN. I want to be able to stream to an iPhone and iPad. Is this possible using Amazon Cloudfront?
Let me clarify. Is there any documentation anywhere or an example anywhere of someone doing this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您确保媒体的元数据位于文件的开头,则渐进式下载将起作用。谷歌“ffmpeg qtfastart”以最简单的方式完成此任务(根据我的经验)。如果不这样做,播放器(在 iOS 中)必须先下载完整的文件,然后才能获取播放所需的元数据。如果您没有在制作工作流程中执行此步骤,那么您的渐进式下载不会起到“渐进式下载”的作用,它实际上是在下载整个文件(如前所述......以便它可以获取元数据),然后播放。这可以通过您的平台支持的任何视频/音频文件来完成。
注意:我不确定这如何影响高速擦洗的任何尝试。似乎需要将文件下载到应用程序尝试擦除的位置。
另一种选择可能是创建 iOS 流式传输所需的格式(使用分段器/转码器),并通过常规 Cloudfront 发行版上的 http 提供这些文件。从理论上讲,这应该可行。
更清楚地说 - Cloudfront 使用旧版本的 Flash Media Server(v 3.5),支持通过各种 RTMP 协议进行流式传输。这些可以通过创建流媒体发行版(这就是我们为网络和 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 )。
Progressive download works if you ensure that the media's metadata is at the beginning of the file. Google "ffmpeg qtfastart" to accomplish this in the easiest manner (in my experience). If this is not done, the player (in iOS) must download the complete file before it gets to the metadata that it needs to read in order to play. If you are not doing this step in your production workflow, then your progressive download is not functioning as "progressive download", it is actually downloading the entire file (as stated before...so it can get to the metadata) and then playing. This can be done with any video/audio file supported by your platform.
NOTE: I am not sure how this affects any attempts at high-speed scrubbing. It seems the file would need to be downloaded to the point that the app is trying to scrub to.
Another alternative may be to create the format needed for iOS streaming (using a segmenter/transcoder), and serving up those files through http on your regular Cloudfront distribution. Theoretically that should work.
To be more clear - Cloudfront uses and older version of Flash Media Server(v 3.5) that supports streaming through various RTMP protocols. These can be enabled by creating a Streaming Distribution (that is how we do streaming for web and Android) and using something like JW Player on the front end.
http://help.adobe.com/en_US/FlashMediaServer/3.5_TechOverview/WS5b3ccc516d4fbf351e63e3d119ed944a1a-7ffa.html
http://www.adobe.com/devnet/logged_in/ktowes_fms35.html
IOS streaming is done using HTTP Live Streaming which is different. https://developer.apple.com/streaming/
Your options would be to do as I mentioned above, or use EC2 and stand up your own FMS 4.5 instance ( http://aws.typepad.com/aws/2012/03/live-streaming-cloudfront-fms-4-5.html ).
为此苦苦挣扎..
终于通过音频流媒体工作了..喜欢这个...
http://www.cocoawithlove.com/2009/06/revisiting-old-post-streaming-and.html
很棒的方式......
Have struggled a lot over this..
Finally got it working through Audio Streamer.. Love this ...
http://www.cocoawithlove.com/2009/06/revisiting-old-post-streaming-and.html
Awesome way ....
您只想使用渐进式下载,这意味着将文件上传到 S3,创建发行版,然后开始!这非常简单。
You simply want to use Progressive Download, which means upload the file to S3, create a distribution, and go! It's super simple.