首页 文章

将iphone相机直播到媒体服务器的最佳方式是什么?

提问于
浏览
9

根据这个What Techniques Are Best To Live Stream iPhone Video Camera Data To a Computer?可以从iphone相机获取压缩数据,但正如我在AVFoundation参考中读到的那样,你只能得到未压缩的数据 .

所以问题是:

1)如何从iPhone的相机获取压缩帧和音频?

2)用ffmpeg的API编码未压缩的帧对于实时流是否足够快?

任何帮助将非常感激 .

谢谢 .

2 回答

  • 8

    你很可能已经知道....

    1)如何从iPhone的相机获取压缩帧和音频?

    你不能做这个 . AVFoundation API已经从各个角度防止了这种情况 . 我甚至尝试过命名管道和其他一些偷偷摸摸的unix foo . 没有这样的运气 . 你别无选择,只能把它写到文件中 . 在您的链接帖子中,用户建议设置回调以提供编码的帧 . 据我所知,这对H.264流是不可能的 . 捕获代表将提供以特定像素格式编码的图像 . 正是Movie Writers和AVAssetWriter进行编码 .

    2)用ffmpeg的API编码未压缩的帧对于实时流是否足够快?

    是的 . 但是,您必须使用libx264才能进入GPL领域 . 这与app商店并不完全兼容 .

    出于效率原因,我建议使用AVFoundation和AVAssetWriter .

  • 4

    我同意史蒂夫的观点 . 我想尝试使用Apple的API,你将不得不做一些严重讨厌的黑客行为 . 默认情况下,AVAssetWriter会在将其缓冲区溢出到文件之前花费一秒钟 . 我还没有找到一种方法来改变设置 . 这种方式似乎是通过使用多个AVAssetWriters来强制小文件写入和文件关闭 . 但是那会带来很多开销 . 它不漂亮 .

    绝对向Apple提交新的功能请求(如果您是iOS开发人员) . 我们做的越多,他们就越有可能添加某种可以写入缓冲区和/或流的编写器 .

    我对史蒂夫在x264 GPL问题上所说的一个补充是,我认为你可以获得比GPL更好的商业许可,但当然要花钱 . 但这意味着您仍然可以使用它并获得相当不错的结果,而不必打开自己的应用程序源 . 不如使用硬件编解码器的增强型Apple API好,但也不错 .

相关问题