Jor*_*dan 16 iphone video-streaming audio-streaming http-live-streaming
我想从iPhone获得实时视频到另一台设备(桌面浏览器或其他iPhone,例如点对点).
注意:这不是一对多,而是目前只有一对一.音频可以是流的一部分或通过iphone上的电话呼叫.
我能想到的方法有四种......
在iPhone上捕获帧,将帧发送到mediaserver,让mediaserver使用主机webserver发布实时视频.
在iPhone上捕获帧,转换为图像,发送到httpserver,在浏览器中使用javascript/AJAX尽快从服务器重新加载图像.
在iPhone上运行httpServer,在iPhone上捕获1秒持续时间的电影,在iPhone上创建M3U8文件,让另一个用户直接连接到iPhone上的httpServer以进行liveStreaming.
在iPhone上捕获1秒持续时间的电影,在iPhone上创建M3U8文件,发送到httpServer,让其他用户连接到http服务器以进行liveStreaming.这是一个很好的答案,有没有人得到它的工作?
有更好,更有效的选择吗?从iPhone上获取数据的最快方法是什么?是ASIHTTPRequest吗?
感谢大家.
wom*_*t57 14
发送原始帧或单个图像对您来说永远不会很好(因为数据量和帧数).您也无法通过电话合理地提供任何服务(WWAN网络具有各种防火墙).您需要对视频进行编码,然后将其流式传输到服务器,最有可能采用标准流式传输格式(RTSP,RTMP).iPhone上有一个H.264编码器芯片> = 3GS.问题是它不是面向流的.也就是说,它输出最后解析视频所需的元数据.这为您提供了一些选择.
"以块的形式记录和处理(将增加延迟等于块的长度,并在启动和停止会话时在每个块之间减少大约1/4秒的视频)."
我刚刚编写了这样的代码,但很可能通过重叠两个AVAssetWrite来消除这种差距.由于它使用硬件编码器,我强烈推荐这种方法.