Unity:从设备摄像头录制视频

Posted

技术标签:

【中文标题】Unity:从设备摄像头录制视频【英文标题】:Unity: Record video from device camera 【发布时间】:2018-01-23 14:10:57 【问题描述】:

我想要一个插件或一个库或一种从设备摄像头统一(Windows 独立)录制视频(肯定有声音)的方法。

目前,我可以使用此相机截取屏幕截图。有人说我可以多截屏,然后转换成一个视频文件。

我在 Asset store 上找到了一个名为 Camera Shoot的插件

我想要类似的东西,但适用于 windows。

编辑 1:

现在我正在使用一个从统一相机(统一内的虚拟相机)捕获视频的库。我正在我的应用程序中未显示的画布上预览我的相机源,我使用此库来录制此视频。

这可能解决了我的问题,但发现另一个问题是我需要录制麦克风声音才能将此音频添加到录制的视频中。

所以现在我正在从库中录制视频(没有声音),并使用另一个代码从麦克风录制声音,完成录制后,我将这两个文件合并在一起以获得我想要的文件。

又出现了一个新问题。合并过程(混合和压缩)需要很长时间(超过记录时间的 10%),这会导致很多问题。

所以我需要另一种解决方案,并且更喜欢像上面那样的插件。

编辑 2:

我在编辑器和构建中都尝试了 Unity VideoCapture Example。在统一编辑器中,应用程序运行没有错误,但它没有进入这个函数“VideoCapture.CreateAsync()”,因为他们说它不适用于编辑器。

当我尝试构建到 Windows 独立构建时,它给了我这个错误:“Assets/Scripts/Controllers/Other/VideoCaptureExample.cs(4,26): error CS0234: The type or namespace name 'WebCam' does not存在于命名空间“UnityEngine.XR.WSA”中。您是否缺少程序集引用?"

【问题讨论】:

【参考方案1】:

在这个问题上搜索和研究了大约 2 个月后,我找到了Capture Manager SDK。

它适用于 windows,但作者有 2 个演示,用于统一录制剧本而不是摄像头。我问他是否可以从相机捕捉视频,他做了一个统一的例子来做我想做的事。

我已经测试了统一演示,它按预期工作。

【讨论】:

链接已损坏 :( 好的。我找到了一个工作链接来下载它。当我选择此屏幕截图 (imgur.com/a/FM1rU4Z) 中显示的选项并单击开始按钮时,我预计笔记本电脑的网络摄像头会打开,但什么也没发生。 链接已更新。 @vipin8169 你可以联系这个图书馆的主人,他有很好的回应。我正在为自定义设备制作一个 Windows 应用程序,他帮助我在上面运行库。 我联系了他。我的需求有点不同,所以他说我可能需要修改他的 C++ 代码以满足我的需求。我想我会跳过这个:( @vipin8169 如果您没有找到其他解决方案,我建议您向他提出修改

以上是关于Unity:从设备摄像头录制视频的主要内容,如果未能解决你的问题,请参考以下文章

使用AVFoundation 自定义相机和录制视频

如何在iOS中一次录制前后摄像头的视频

切换相机后音频/视频不同步

Echo Spot使用内置摄像头录制视频 - 自定义技能

新录制视频的 MediaFile.getFormatData() 包含错误信息

从 URL 播放视频并同时通过摄像头录制视频 - Objective C