swift - 如何在 appRTC iOS 中本地录制和保存 RTCVideoTrack?

标签 swift avfoundation webrtc avcapturesession apprtc

我正在使用重播工具包来录制屏幕,我想要实现的是在使用 webRTC SDK 进行通话时使用音频录制或捕获屏幕。我使用了来自 github 的 appRTC。

我想我可以通过 AVCaptureSession 来实现!因为我想排除 replayKit 暂无相关代码提供。

最佳答案

这很有挑战性,但可以做到。我无法就此提供详细的答案,因为它是我们的应用程序和我们正在构建的内容的核心,而且它有很多代码,但希望它有助于了解它是可以完成的。

给你一些建议:

  1. 看看http://cocoadocs.org/docsets/GoogleWebRTC/1.1.20266/Classes/RTCCameraVideoCapturer.html这将允许您访问 WebRTC 正在使用的 AVCaptureSession,您可以成功地将您的 AVAssetWriter 连接到此。
  2. 查看 RTCVideoRenderer 协议(protocol)引用。 http://cocoadocs.org/docsets/Quickblox-WebRTC/2.2/Protocols/RTCVideoRenderer.html它将使您能够在 WebRTC 渲染它们时获取帧并在将它们发送回 WebRTC 之前处理它们。您需要将收到的 RTCI420Frame 转换为 CVPixelBufferRef(这是 YUV420 到 RGB 的转换)。

关于swift - 如何在 appRTC iOS 中本地录制和保存 RTCVideoTrack?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40299957/

相关文章:

javascript - 无法运行监听 443 的 Node js 应用程序

webrtc - Trickle ICE - 选择候选人

javascript - Safari 的 RTCDataChannel 实现完全损坏了吗?

swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

swift - 使用 Realm swift 从过滤器查询中获取关联的对象值

ios - 如何将子类 View Controller 的 View 放入父类(super class)基 View Controller 的内容 View 中?

ios - 为什么我可以从相机胶卷的视频中获得 GL_LUMINANCE 而不是 GL_LUMINANCE_ALPHA?

ios - 带有类型为 "cannot invoke initializer for type ' 的参数列表的 'UITextField' Int' 是什么意思?

ios - AVAudioEngine 播放多声道音频

iOS 屏幕捕获和性能