这只是我的猜测。如果有肯定的答案,我尽量不发表。但是,现在仍然没有答案。所以我写这个只是为了分享我的看法。但是,我很抱歉,这不是积极的。
如果您只想从iOS设备传输视频,很容易。只需发送视频文件本身。所以我假设你想要的是直播视频流。广播我目前正在录制的内容。
几个星期前我曾考虑过这个问题,但是我无法成功。问题不在于媒体分割。 MPEG2 TS仅仅是一个容器,分割只是分割视频,它可以很容易地实现(?),具有精确的规格。
真正的问题是视频编码。 iOS不提供来自相机输入的压缩直播流。 (也许呢?)压缩流只能存储到磁盘。应该有一种内部获取压缩视频流的方法。因为没有它,FaceTime是不可能的。但它不提供给第三方。
可以连续存储短视频并上传到服务器。但是启动/完成视频会话需要很长时间。所以我放弃了这种方法。
的另一种方式,iOS的提供无压缩视频流,这样你就可以通过压缩原始视频流自己做到这一点。与ffmpeg
或这样的事情。不过,Apple的视频编码利用硬件功能来提高性能(这可以在较小的尺寸下提高视频质量)并节省能源。 ffmpeg
只能在软件中完成所有的事情。当然,您可以自己制作硬件加速编码器,也可以从某个供应商处购买。
市面上有一些直播视频流功能的应用程序。我没有用过它们。但也许是其中之一。
- 转印原始帧。 (无压缩或快速但弱压缩)
- 基于ffmpeg编码器。
- 独立的硬件加速编码器实现。
第一个需要太高的带宽,并且也消耗重能量。
第二个肯定慢,消耗重能量。但它可能就够了。
第三个需要太高的开发成本的小规模应用程序。但如果你有足够的预算,这是最好的。我不知道市场上存在针对iOS的预先实施的库。
我希望苹果公司发布这种压缩视频流。用Apple的硬件加速编码器进行压缩。但是,除非苹果决定放弃保护设备之间的高质量实时视频流功能,否则这种情况不会发生,因为它们的杀手功能... FaceTime。
然而,Apple有可能在某个时候发布这个API。而且我不确定是否搜索了所有的API。我可能无法检查重要的东西。
更新
我发现类AVAssetWriter
可视频数据写入到与压缩文件。这可能是制作这种应用的关键。
那里有一个后回答你的问题与AVAssetWriter: http://stackoverflow.com/questions/3741323/how-do-i-export-uiimage-array-as-a-movie/3742212#3742212 – Sam 2013-10-18 09:14:42