gpt4 book ai didi

swift - 如何在 AppRTC iOS 应用程序中获取帧数据以进行视频修改?

转载 作者:搜寻专家 更新时间:2023-10-31 22:30:57 24 4
gpt4 key购买 nike

我目前正在尝试对 AppRTC app for iOS in Swift 中传入的 WebRTC 视频流进行一些修改。 (这又基于 this Objective-C 版本)。为此,我需要访问存储在 RTCI420Frame 类(这是 libWebRTC 的 Objective-C 实现的基本类)的框架对象中的数据。特别是,我需要一个字节数组:帧的 [UInt8]Size。此数据将用于进一步处理和添加一些过滤器。

问题是,所有对 RTCVideoTrack/RTCEAGLVideoView 的操作都是在预编译的 libWebRTC.a 下完成的,它是从上面链接的官方 WebRTC 存储库编译的,获取起来相当复杂它的自定义构建,所以我更愿意使用示例 iOS 项目中可用的构建;在我的理解中,它应该具有所有可用的功能。

我一直在研究 RTCVideoChatViewController 类,特别是 remoteView/remoteVideoTrack,但没有成功访问帧本身,花了很多时间研究 libWebRTC 源在官方 repo 中,但仍然无法解决访问帧数据以进行自己操作的问题。很乐意提供任何帮助!

最佳答案

在发布问题后,我很幸运地找到了偷偷摸摸的数据!

您必须将以下属性添加到 RTCEAGLVideoView.h 文件中:

@property(atomic, strong) RTCI420Frame* i420Frame;

original implementation filei420Frame 属性,但它没有在该类的 iOS 项目的头文件中公开。添加属性允许您获取 View 的当前帧。

我仍在寻找一种更优雅的方式来直接获取流数据,而无需查看 remoteView 内容,一旦找到就会更新答案。

关于swift - 如何在 AppRTC iOS 应用程序中获取帧数据以进行视频修改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39134537/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com