【问题标题】:Streaming live camera video from iOS (iPhone/iPad) to remote PC / server将实时摄像机视频从 iOS (iPhone/iPad) 流式传输到远程 PC/服务器
【发布时间】:2014-04-11 09:06:32
【问题描述】:

我一直在 stackoverflow 和网络上寻找解决我的视频流问题的方法。我需要以一种方式将从相机捕获的实时视频(不需要高质量)从 iOS 设备流式传输到远程 PC,即 iOS 设备将向服务器/PC 发送视频流,而不是相反.

在一些谷歌搜索和文档浏览之后出现的是可以使用两个主要的主要标准/协议:

  • Apple 的 HTTP 实时流 (HLS)
  • Adobe 的 RTMP

再次,我的要求是 iPhone/iPad 将流式传输视频。从 Apple 网站上显示的内容来看,我了解到 HLS 将从服务器端的编码角度和 iOS 端的解码角度使用。从 RTMP 开始,大多数允许 iOS 流式传输的库都具有商业许可证和封闭代码,或者要求您通过其 P2P 基础设施(例如 angl.tvtokbox.com/opentok/quick-start)。截至 HLS,iOS 端似乎不存在编码库。

所以我的问题是:

  • 您是否知道任何最好是开放且免费的 SDK/库,我可以集成以从我的应用程序中流式传输捕获的视频?
  • 如果不是,您是否认为开发自定义库是一项冒险的穿越丛林的尝试?我的猜测是通过 AVFoundation 并捕获相机帧,逐帧压缩它们并通过 HTTP 发送它们。这听起来疯狂的性能和带宽明智吗?请注意,在这种情况下,我需要 HLS 或 RTMP 编码器。

提前非常感谢各位亲爱的朋友们。

迈赫迪。

【问题讨论】:

  • 它可能比你需要的要多很多,但webrtc 可以做到这一点(它实际上是用于没有任何插件的跨平台视频通话)。设置所有内容需要一些时间,但如果您想稍后扩展您的功能,这可能是一个不错的解决方案。

标签: ios objective-c video-streaming avfoundation rtmp


【解决方案1】:

我开发了这样一个库,你可以在github.com/jgh-/VideoCore找到它

我正在更新这个答案,因为我创建了一个简化的 iOS API,它可以让您轻松设置相机/麦克风 RTMP 会话。您可以在https://github.com/jgh-/VideoCore/blob/master/api/iOS/VCSimpleSession.h 找到它。

此外,VideoCore 现在可在 CocoaPods 中使用。

【讨论】:

  • 嗨。谢谢你的图书馆。有趣的工作。有没有计划将其封装在 Cocoa Touch/Objective-C 库中?
  • @MediTheJedi 我已经向 VideoCore 添加了一个示例 iOS 项目,以演示使用摄像头和麦克风将流传输到 RTMP 服务器。在github.com/jamesghurley/VideoCore/tree/master/sample 找到它
  • 我在 VideoCore 库中遇到错误,即在所有文件都包含在项目中时找不到文件。我也检查了路径。请帮助
  • 您好 Jamesghurley,我已经浏览了您的 VideoCore 示例 iOS 项目。你能给我一些关于我们必须为 HTTP 蒸汽而不是 RTMP 做什么的意见吗?哪种方法更好,比如打开一个 websocked 并发送我们在编码或传输 MPEG-2 流之后得到的东西,我们如何从编码的 cmsamplebuffers 构建一个 MPEG-2 流?
  • 谁能分享一些在 Swift 中进行实时视频流的示例代码?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-02
  • 1970-01-01
  • 1970-01-01
  • 2014-04-28
  • 2011-01-14
  • 2011-12-26
相关资源
最近更新 更多