c++ - 如何在 Windows 10 上构建和运行 Vivek 的虚拟摄像头?
问题描述
https://github.com/roman380/tmhare.mvps.org-vcam
我看了Vivek 的虚拟相机。我不明白如何编译和运行这个项目。
在项目中,我看到两个目录
alok@LAPTOP-DG8ME7Q5:/mnt/c/Users/alokm/tmp/vcam/vcam$ tree .
.
├── Bin
│ ├── VCam.ax
│ └── VCamD.ax
└── Filters
├── Dll.cpp
├── Filters.cpp
├── Filters.def
├── Filters.dsp
└── Filters.h
2 directories, 7 files
通过查看源代码dll
并.def
归档,我想我需要将此项目编译为.dll
并使用regsvr32.exe
.
如何构建和运行这个项目来测试虚拟相机?
解决方案
Filters
文件夹包含项目的源代码。.DSP 是旧 Visual Studio 的项目文件(还是 Visual C++ 6.0?)。如果当前 Visual Studio 无法转换项目文件,您应该仍然能够创建新的 DLL 项目文件并添加源代码文件。
您需要 DirectShow BaseClasses 来构建代码。BaseClasses 不再是 Windows 10 SDK 的一部分,因此您必须拥有 Windows 10 SDK,并且您还需要:
请注意,BaseClasses 比 VCam 示例本身更新鲜,Visual Studio 解决方案文件已经是 .SLN,并且已知对于当前的 Visual Studio 是可构建和可接受的(通过转换)。
您还可以在相邻文件夹中找到其他过滤器项目。
Bin
文件夹包含项目的预构建 Win32 二进制文件。不要与 .AX 扩展名混淆 - 这些文件是常规的 .DLL 文件,您可以直接针对 regsvr32 使用它们。如果您将代码构建到 .DLL 文件中,您将获得与使用 .AX 相同的效果。
要查看实际运行的项目,您需要一个通过 DirectShow 与相机配合使用的 32 位应用程序,例如:
- Windows 10 SDK图表编辑
- AMCap 示例(在提到的示例中,也记录在 MSDN 上)
- GraphStudioNext
regsvr32 构建项目后,您应该会看到一个新的相机选项(来自特权提升的命令提示符!)
要让项目与 64 位应用程序一起工作,您需要先构建项目,然后再对其进行 regsvr32。浏览器无法识别的虚拟驱动程序凸轮问题阐明了为什么 32 和 64 版本分别工作并针对不同的应用程序。
推荐阅读
- apache-flink - NAT 上的 Flink 任务管理器
- python - 从结果中删除数字;Python3
- java - onLocationResult 没有被调用
- android - 如何获取特定地址的经度和纬度而不是当前地址
- java - 为什么使用 TCP 使用一个不能总是精确的基本计时器,而 Java 中的计时器总是精确的?
- spring-boot - 如何使用 EmbeddedKafkaRule/EmbeddedKafka 设置 Spring Kafka 测试以修复 TopicExistsException 间歇性错误?
- svelte - Sapper 默认模板的汇总配置
- scaling - 为什么我们只在缩放问题的训练数据中使用 fit() 方法?
- python - 如何在同一图上正确绘制个别年份的月度数据
- performance - 带递归的while循环的时间复杂度