4

我开始研究HTTP实时流式传输协议,感觉非常有趣。浏览Apple提供的完整文档。使用iPhone作为mediastreamsegmenter的输入 - HTTP实时流式传输

我试过机器视觉点播和直播节目,以及使用VLC播放器下面的开发者论坛的一个提到的步骤的流媒体服务器,我能够成功地流呢。

现在我想让我的iPhone成为流媒体的来源,并且希望使用其他iPhone来查看该内容。

如上所述,mediastreamsegmenter是通过UDP网络连接或从sdtin接收MPEG-2传输流的工具。

有人可以把一些光如何开始使用我的iPhone作为流媒体服务器,并且能够将内容流传输。据我所知,我认为必须有一个客户端(iPhone)应用程序将内容发送到服务器,然后将服务器转换成MPEG-2传输流并将其发送到媒体流分类器。我希望剩下的部分与我为VLC播放器进行流式传输相同。

如果有人能帮我解决这个问题,那该多好。

+0

那里有一个后回答你的问题与AVAssetWriter: http://stackoverflow.com/questions/3741323/how-do-i-export-uiimage-array-as-a-movie/3742212#3742212 – Sam 2013-10-18 09:14:42

回答

2

这只是我的猜测。如果有肯定的答案,我尽量不发表。但是,现在仍然没有答案。所以我写这个只是为了分享我的看法。但是,我很抱歉,这不是积极的。

如果您只想从iOS设备传输视频,很容易。只需发送视频文件本身。所以我假设你想要的是直播视频流。广播我目前正在录制的内容。

几个星期前我曾考虑过这个问题,但是我无法成功。问题不在于媒体分割。 MPEG2 TS仅仅是一个容器,分割只是分割视频,它可以很容易地实现(?),具有精确的规格。

真正的问题是视频编码。 iOS不提供来自相机输入的压缩直播流。 (也许呢?)压缩流只能存储到磁盘。应该有一种内部获取压缩视频流的方法。因为没有它,FaceTime是不可能的。但它不提供给第三方。

可以连续存储短视频并上传到服务器。但是启动/完成视频会话需要很长时间。所以我放弃了这种方法。

的另一种方式,iOS的提供无压缩视频流,这样你就可以通过压缩原始视频流自己做到这一点。与ffmpeg或这样的事情。不过,Apple的视频编码利用硬件功能来提高性能(这可以在较小的尺寸下提高视频质量)并节省能源。 ffmpeg只能在软件中完成所有的事情。当然,您可以自己制作硬件加速编码器,也可以从某个供应商处购买。

市面上有一些直播视频流功能的应用程序。我没有用过它们。但也许是其中之一。

  • 转印原始帧。 (无压缩或快速但弱压缩)
  • 基于ffmpeg编码器。
  • 独立的硬件加速编码器实现。

第一个需要太高的带宽,并且也消耗重能量。

第二个肯定慢,消耗重能量。但它可能就够了。

第三个需要太高的开发成本的小规模应用程序。但如果你有足够的预算,这是最好的。我不知道市场上存在针对iOS的预先实施的库。

我希望苹果公司发布这种压缩视频流。用Apple的硬件加速编码器进行压缩。但是,除非苹果决定放弃保护设备之间的高质量实时视频流功能,否则这种情况不会发生,因为它们的杀手功能... FaceTime。

然而,Apple有可能在某个时候发布这个API。而且我不确定是否搜索了所有的API。我可能无法检查重要的东西。


更新

我发现类AVAssetWriter可视频数据写入到与压缩文件。这可能是制作这种应用的关键。