什么技术是最好的生活streamiPhone摄像机数据到电脑?

我想将video从iPhone相机传输到在Mac上运行的应用程序。 认为像video聊天,但只有一种方式,从设备到接收器应用程序(而不是video聊天)。

我迄今为止的基本了解:

  1. 你可以使用AVFoundation来获取“实时”摄像机数据而不保存到文件,但它是未压缩的数据,因此我必须自己处理压缩。
  2. 没有内置的AVCaptureOutput支持发送到networking位置,我不得不自己工作了一下。

我是对的上述还是我已经偏离?

Apple Tech Q&A 1702提供了一些有关将各个帧保存为图像的信息 – 这是最好的方法吗? 只需节省30fps,然后像ffmpeg压缩'EM?

关于直播到iPhone的讨论有很多讨论,但发送现场video的人的信息要less得多。 我希望有一些广泛的笔触让我指出正确的方向。

这很大程度上取决于您的目标分辨率以及您所瞄准的帧频性能。

从抽象的angular度来看,我可能会有一个捕获线程直接从AVCaptureOutput填充缓冲区,并且通信线程每隔x毫秒发送一个缓冲区(如果需要填充的话)并将其重新调整到先前指定的主机。

完成初始数据传输之后,我将以最低分辨率达到15fps的速度工作,直到缓冲区溢出,然后通信线程才能传输,这将需要平衡图像分辨率,缓冲区大小(可能取决于GSM,很快为CDMA帧大小),最后是可以传输该缓冲区的最大速率。

您可以使用AVCaptureVideoDataOutputsampleBufferDelegate来捕获原始压缩帧,然后您只需要通过networking进行stream式处理。 AVFoundation提供了一个API将帧编码为本地video文件,但不提供任何stream式传输到networking。 你最好的办法是find一个在networking上传输原始帧的库。 我会从ffmpeg开始; 我相信libavformat支持RTSP,请看ffserver代码。

请注意,您应该configurationAVCaptureVideoDataOutput来为您提供压缩帧,这样可以避免在不使用硬件编码的情况下压缩原始video帧。