【问题标题】:iPhone: HTTP live streaming without any server side processingiPhone:没有任何服务器端处理的 HTTP 实时流式传输
【发布时间】:2011-05-04 08:15:44
【问题描述】:
我希望能够(实时)将 iPhone 摄像头中的帧/视频流式传输到互联网。我在一个线程 (streaming video FROM an iPhone) 中看到可以使用 AVCaptureSession 的 beginConfiguration 和 commitConfiguration。但我不知道如何开始设计这个任务。已经有很多关于如何将视频流式传输到 iPhone 的教程,实际上并不是我正在寻找的。p>
你们能给我一些可以进一步帮助我的想法吗?
【问题讨论】:
标签:
iphone
webserver
video-streaming
live
video-encoding
【解决方案1】:
这是一个棘手的问题。你应该能够做到,但这并不容易。
一种不实时(不满足您的需求,但值得一提)的方法是从相机捕获并将其保存到视频文件中。请参阅 AV Foundation Guide 了解如何做到这一点。保存后,您可以使用 HTTP Live Streaming 分段器生成正确的分段。 Apple 有适用于 Mac OSX 的应用程序,但也有一个开源版本,您可以适应 iOS。最重要的是,您还必须运行一个 http 服务器来服务这些细分市场。你可以适应很多 http 服务器。
但要实时进行,首先正如您已经发现的那样,您需要从相机中收集帧。一旦你有了那些你想将它们转换为 h.264 的东西。为此,您需要 ffmpeg。基本上你把图像推到 ffmpeg 的 AVPicture 上,制作一个流。然后,您需要管理该流,以便实时流分段器将其识别为实时流 h.264 设备。我不知道该怎么做,这听起来像是一些严肃的工作。完成此操作后,您需要有一个 http 服务器,为该流提供服务。
实际上可能更容易的是使用基于 RTP/RTSP 的流。 RTP 的开源版本涵盖了该方法,而 ffmpeg 完全支持该方法。不是http直播,但也够用了。