如何在两个iOS设备之间有效传输实时视频(如facetime,skype,fring,tango)

use*_*118 7 iphone real-time video-streaming

我知道如何从iOS sdk获取帧.[如何使用AV Foundation(http://developer.apple.com/library/ios/#qa/qa1702/_index.html)将相机中的视频帧作为图像捕获] 它是像素,我可以将其传输到JPEG.

我想传输视频的方式是这样的:

一台iOS设备A:

  1. 从调用函数中获取像素或JPEG

-(void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection

  1. 使用现有的技术编码到h.264 - ffmpeg

  2. 使用TS流封装视频

  3. 运行http服务器,等待请求

其他iOS设备B:

  1. http请求到A(使用http而不是rtp/rtsp)

所以我的问题是,我是否需要使用ffmpeg获取h.264流或者我可以从iOS API获取?如果我使用ffmpeg编码为h.264(libx264),该怎么做,是否有任何示例代码或指南?

我已经阅读了帖子 什么是将iphone相机直播到媒体服务器的最佳方式? 这是一个非常好的讨论,但我想知道细节.

Eri*_*ric 0

ffmpeg 的许可证与通过 App Store 分发的 iOS 应用程序不兼容。

如果您想传输实时视频并具有任何类型的可用帧速率,您不会想使用 http 或 TCP。