从iPhone到另一个设备(浏览器或iPhone)的实时音频/视频流式传输
我希望从iPhone获得实时视频到其他设备(桌面浏览器或其他iPhone,例如点对点) 。从iPhone到另一个设备(浏览器或iPhone)的实时音频/视频流式传输
注意:这不是一对多的,目前只是一对一。音频可以是流媒体的一部分,也可以通过iphone上的电话呼叫。
有四种方法我能想到的...在iPhone上
捕获帧,发送 帧媒体服务器,具有 媒体服务器使用托管网络服务器发布实时视频 。在iPhone上
捕获帧,转换成 图像,发送到的HttpServer,有 的JavaScript/AJAX在浏览器从服务器尽可能快地 可能重装 图像。
在iPhone上运行的HttpServer,捕捉 iPhone持续1秒的电影,在iPhone上创建M3U8文件,有其他 用户直接在iPhone连接到的HttpServer为 即时串流。
用于捕捉 iPhone持续1秒的电影,在iPhone上创建M3U8文件, 发送到的HttpServer,有其他 用户连接到的HttpServer 的即时串流。 This is a good answer,有人得到它的工作?
是否有更好,更高效的选择? 什么是从iPhone获取数据的最快方式?它是ASIHTTPRequest吗?
谢谢大家。
发送原始帧或单张图片对于您来说永远无法正常工作(因为数据量和帧数)。您也不能合理地为电话提供任何服务(WWAN网络具有各种防火墙)。您需要对视频进行编码,并将其流式传输到服务器,很可能是通过标准流式格式(RTSP,RTMP)。 iPhone> = 3GS上有一个H.264编码器芯片。问题是它不是面向流的。也就是说,它输出最后解析视频所需的元数据。这给你留下了几个选择。
- 获取原始数据并使用FFmpeg在手机上进行编码(将使用大量的CPU和电池)。
- 为H.264/AAC输出编写您自己的解析器(非常困难)
- 以块形式记录和处理(会增加等于块的长度的延迟,并在每个块之间放下大约1/4秒的视频大块,当你开始和停止会议)。
我们有类似的需求;更具体地说,我们希望在iOS设备和Web UI之间实现流媒体视频&音频。目标是在使用这些平台的参与者之间进行高质量的视频讨论。我们做了关于如何实现这一一些研究:
我们决定使用OpenTok和管理,以很快实现一个iPad和使用OpenTok getting started guide网站之间的证明了概念式的视频聊天。还有一个PhoneGap plugin for OpenTok,这对我们来说很方便,因为我们不是在使用本机iOS。
Liblinphone也似乎是一个潜在的解决方案,但我们没有进一步调查。
iDoubs也出现了,但是我们再一次觉得OpenTok是我们需要的最有希望的一个,因此没有更详细地查看iDoubs。
“以块的形式记录和处理(将增加延迟等于块的长度和下降每个块之间的1/4左右秒的视频,你启动和停止会话)。”
我刚刚写了这样的代码,但很有可能通过重叠两个AVAssetWriters来消除这样的差距。由于它使用硬件编码器,我强烈推荐这种方法。
你能分享一些代码吗? – Anastasia 2013-02-11 09:24:12
你是否实现了this.please帮助我 – Ramz 2012-08-07 06:16:56