如何在 RealityKit 中录制视频?

2024-05-27

我在 Xcode 中有一个 RealityKit 项目,我想记录ARView。我考虑过ReplayKit,但那是为了屏幕录制,我只想录制ARView与它的相机饲料。我考虑过 AFathi 的开源项目 ARVideoKit,但它不支持 RealityKit...有关不同渲染路径的内容。我找到了一篇Medium文章,描述了如何在ARKit应用程序中实现录音功能,但问题是它需要以下方法:func renderer(_ renderer: SCNSceneRenderer)这在 RealityKit 中不可用,因为它是专门的 SceneKit 方法。


我的回答假设您熟悉使用录制视频和音频AVAssetWriter.

有一个捕获的帧作为 ARKit 的一部分提供session(_:didUpdate:)方法。这ARFrame返回的对象有一个CVPixelBuffer named capturedFrame。像处理常规视频录制会话一样处理帧,只不过不是在captureOutput(_:didOutput:from:)方法,而是在这里捕获。您可能还需要一个captureOutput(_:didOutput:from:)如果您也打算从麦克风录制音频,请使用音频方法。

就我而言,我将捕获的帧转换为MTLTexture并使用 Metal 处理我的视频帧,然后将它们传递给AVAssetWriter。我想在录制之前在相机框架上画画。不幸的是,这样做非常复杂,恐怕不是一个快速而简短的复制+粘贴答案。希望您能指出capturedFrameARKit 返回的对象是一个很好的起点。

有关如何使用录制视频的示例AVAssetWriter: https://programmersought.com/article/80131041234/;jsessionid=38CBA6743FB3C440DE9D2B25A6854B28 https://programmersought.com/article/80131041234/;jsessionid=38CBA6743FB3C440DE9D2B25A6854B28

如果您想在将 3D 模型编码为视频之前将其绘制到捕获源中,您还需要精通 Metal:https://developer.apple.com/documentation/metalkit/ https://developer.apple.com/documentation/metalkit/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 RealityKit 中录制视频? 的相关文章

随机推荐

  • 底页横向问题

    在横向模式下显示底部工作表对话框时 我遇到了错误的行为 该问题出现在24 版本的设计库中 根据下图 底页仅在横向模式下无法正确显示 我正在使用 BottomSheetDialog 类 并且正在遵循本教程 http www skholingu
  • 以编程方式移动 UWP ListView 中的项目而不刷新

    下面的问题让我忙了好一阵子 看起来很基础 但就是不行 归结起来是这样的 将 ListView 绑定到代码隐藏中的某个合适的集合 ObservableCollection ReactiveList 等 我每 x 秒一次移动一个物品 每次移动时
  • IntelliJ Idea,如何从控制台删除java文件目录?

    当您运行文件时 它会打开控制台窗口 并且一直在顶部显示该文件所在的目录 这非常令人恼火 因为现在 为了将其他行与目录混合分开 我必须在启动任何 System out println 命令之前使用 n C Program FILEs 我想摆脱
  • MongoDB:更新数组中的文档

    我有一个包含此架构文档的集合 id something recipients id 1 name Andrey isread false id 2 name John isread false 现在 我想使用以下命令更新 John id 2
  • 带有 @Scheduled Spring 注释的方法的切入点

    我想要一个带有注释的方法的 AspectJ 切入点 Scheduled 尝试了不同的方法但没有任何效果 1 Pointcut execution org springframework scheduling annotation Sched
  • jQuery 改变 colorbox 的内容

    我已经尝试过类似标题的问题 但它们不起作用 例如 如何将 AJAX 内容加载到当前 Colorbox 窗口中 https stackoverflow com questions 5273311 how to load ajax conten
  • 没有这样的属性:类的variantConfiguration:

    升级 gradle 4 0 0 应用程序构建失败后 出现错误消息 没有这样的属性 类的variantConfiguration com android build gradle internal variant ApplicationVar
  • 将数据从 javascript 发送到 mysql 数据库

    我有这个小点击计数器 我想将每次点击都包含在 mysql 表中 有人可以帮忙吗 var count1 0 function countClicks1 count1 count1 1 document getElementById p1 in
  • 使用自定义 gem 在 Dreamhost/Passenger 上部署 Sinatra 应用程序

    我有一个 Sinatra 应用程序 正在尝试在 Dreamhost 上运行 该应用程序利用 pony 发送电子邮件 为了让应用程序从一开始就启动并运行 在添加小马之前 我必须gem unpack rack and gem unpack si
  • R strsplit 问题(容易解决吗?)

    这应该是一件很容易做到的事情 我在这里读到的类似示例有点复杂 而且这些技术对我来说并不真正有效 我有一个名为 id string 的变量 gt typeof id string 1 character and gt id string 1
  • jquery菜单栏浮动顶部

    我试图使菜单栏不断浮动在浏览器的顶部 因此当他们向下滚动页面时 菜单栏仍位于顶部 我该怎么做呢 Regards CSS 标签position fixed 即使滚动 也会使其保持在屏幕上的同一位置 使用它 然后将其定位为top right b
  • .NET 4.0 构建服务器引用程序集警告 MSB3644 [重复]

    这个问题在这里已经有答案了 我的构建服务器上出现了一堆错误 C WINDOWS Microsoft NET Framework v4 0 30319 Microsoft Common targets 847 9 警告MSB3644 找不到框
  • Pandas read_sql 读取时更改大量 ID

    我将 Oracle 数据库转移到 SQL Server 一切似乎都很顺利 各种 ID 列都是很大的数字 因此我不得不使用 Decimal 因为它们对于 BigInt 来说太大了 我现在尝试使用 pandas read sql 使用 pyod
  • Jquery toggle() 函数无法与hoverwords() 滑动字母扩展一起使用

    我有 2 个 div 每 3 秒切换一次 现在 对于 div 中的文本 我使用一个名为 滑动字母 的扩展 正如您在此处提供的演示中看到的那样 http tympanus net Development SlidingLetters http
  • Excel动态数组运行重复项计数

    我一直在重新设计一些旧的电子表格工具 以便使用 Excel 的较新工具来过滤和格式化动态数据输出动态数组公式 https support microsoft com en us office dynamic array formulas a
  • 异步回调到BackgroundWorker

    我想使用 NET FTP 库 http netftp codeplex com http netftp codeplex com 该库提供 BeginOpenRead string AsyncCallback object 使用异步编程模型
  • 让 argparse 收集但不响应标志

    我有一个脚本 它接受一些参数 使用其中一些参数来选择要运行的脚本 并将其余参数传递给该脚本 所以它看起来像这样 parser ArgumentParser parser add argument script choices a b par
  • Qt 5 和 QProcess 使用信号/槽 read 重定向标准输出

    这个问题困扰着我 因为它应该有效 但遗憾的是它没有 我试图实现的是读取某个进程的标准输出并让另一个进程处理它 即打印出来 产生输出的过程如下所示 include
  • 如何使用 Airtable API 使用偏移量获取超过 100 行?

    我对 Airtable API 非常陌生 由于某种原因 以这种方式连接 API 不起作用 at airtable Airtable Base Key Airtable Key 但我是这样工作的 get url https api airta
  • 如何在 RealityKit 中录制视频?

    我在 Xcode 中有一个 RealityKit 项目 我想记录ARView 我考虑过ReplayKit 但那是为了屏幕录制 我只想录制ARView与它的相机饲料 我考虑过 AFathi 的开源项目 ARVideoKit 但它不支持 Rea