将iPhone或iPod变成无线网络摄像头

14
我希望能够通过WiFi从iOS设备的摄像头中流式传输视频到接收器,实际上将该设备转变为无线网络摄像头。是否有一种方法来构建一个小型应用程序,在iOS应用程序中捕获视频输入,并通过RTSP流或类似方式发送它?
由于这是一个临时实验,我不关心App Store的指导方针,如有必要,可以越狱。
2个回答

3
如果我正确理解了你的问题,你需要解决以下四个问题:
  1. 获取相机视频流。
  2. 将其转换/编码为正确的格式。
  3. 流式传输数据。
  4. 防止手机锁屏并进入深度睡眠模式。
第一个问题相当简单,苹果公司一如既往地提供了良好的文档和示例 -> API链接。确保你查看最后的示例,因为你将得到一个 CMSampleBufferRef 数据对象。
对于第二和第三部分,你应该查看 CFNetwork 框架,特别是使用 FTP 进行流式传输的 CFFTPStream
如果您只是为自己建立这个,则可以在设置中始终关闭“自动锁定”功能。另一方面,如果您想将此分发给其他用户,则可以使用技巧每10秒钟播放一个静音声音。这基本上是应用商店中所有闹钟的工作原理。这里是教程。 =)
我希望至少能对您有所帮助。 祝您好运并致以最良好的问候!

这几乎就是我最终采用的方法。这不会在应用商店上,因此不需要静音技巧。我偶然发现了你所提到的AVFoundation API。除了你的步骤之外,我还需要在Mac应用程序中接收样本,然后以这样一种方式将它们推入视频流中,以便像iChat这样的应用程序可以将视频作为输入使用。 - Simon Cave
顺便说一下,我的意图是将设备绑在遥控车上,并使用摄像头作为驾驶员的视角,可能通过互联网将其流式传输给远程控制汽车的人。当我有时间尝试时,这应该是一个非常有趣的项目。 - Simon Cave
哇,你正在进行的这个项目真的很酷。不过我不知道我是否愿意坐在对向行驶的汽车里。 ;) 你应该将代码发布在GitHub或类似的平台上。 - ABeanSits

3
我已经完成了同样事情的70%。这是我的做法:
  1. 视频输入中捕获内容。
  2. 将视频分割成文件,以便在HTML直播流中使用。
  3. 在iPhone上启动一个Web服务器并使视频文件可用。
  4. 连接到手机的IP地址就可以获得实时流视频。

上次我尝试调试我的直播流未能工作的代码。如果您想看一下,我会尝试在本周末将我的源代码发布在Github上。


谢谢你的答案,kubi。由于你的解决方案使用了HTTP流传输,导致延迟有点太高了,不适合我的用途,但这确实是一个非常有趣的想法。听起来像是可以在应用商店找到受众的东西。我很想知道你是否成功使其工作。 - Simon Cave
1
你最终解决了这个问题吗?如果是这样,你在GitHub或其他地方有可用的代码吗? - golmschenk
不,我已经转向其他项目,并没有回来处理这个。 - kubi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接