我已经被这个问题困住了一个多月了。我只需要在人们使用 AR 应用程序时录制视频源。
有几种选择:
1. 在 Unity 中为每一帧截图。
我试过 taking a screenshot每一帧。这太慢了。 fps只有5。
然后我尝试了 saving the texture到一个数组,然后将它们编码为图像。这会占用大量内存,并且会导致手机出现明显的掉帧。 fps在10左右。
如果有人对此方法有好主意,请告诉我。
2. 使用原生插件录制视频。
我还没有找到任何解决方案。恐怕这可能会与 ARCore 发生冲突。
我知道有一个 Android solution但理想情况下我想使用 Unity。任何帮助表示赞赏,谢谢!
3.从ARCore计算机视觉示例提供的纹理阅读器api中保存纹理。
目录中有一个计算机视觉示例。我可以使用它的 api 直接从 GPU 获取纹理。
但是,fps仍然很低。对于边缘检测器示例,fps 大约为 15。我成功地将这些帧保存到另一个线程的本地目录中。但是fps仍然 Not Acceptable 。底线是 30fps 的 720p。
PS:我只需要保存帧。我可以处理将它们编码成视频。
缴费灵:只是记录相机的饲料 和 一起记录摄像机信号和增强对象 都没事。任何一个实现都是伟大的。
最佳答案
您可以使用(非常棒)NatCorder unity asset 轻松实现视频录制和共享。 ( asset store link ) 和相关的 NatShare API .我自己也做了同样的事情 ARCore experiment/"game .”
编辑:您可能必须实现 this解决方法以获得平滑的帧率。
关于unity3d - 如何使用 Unity 使用 ARCore 录制视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49952116/