【问题标题】:How to build and run Vivek's Virtual Camera on Windows 10?如何在 Windows 10 上构建和运行 Vivek 的虚拟摄像头?
【发布时间】:2021-01-13 08:19:42
【问题描述】:

https://github.com/roman380/tmhare.mvps.org-vcam

我看了Vivek's Virtual Camera。我不明白如何编译和运行这个项目。
在项目中,我看到两个目录

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 注册它。
如何构建和运行这个项目来测试虚拟相机?

【问题讨论】:

  • 在 Visual Studio 中打开 dsp 文件(假设它仍然能够转换这么旧的项目)

标签: c++ windows-10 visual-studio-2019 directshow device-driver


【解决方案1】:

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 位应用程序,例如:

您应该在注册项目后看到一个新的相机选项(从特权提升的命令提示符!)

要让项目使用 64 位应用程序,您需要先构建项目,然后再对其进行 regsvr32。 Virtual Driver Cam not recognized by browser 问题阐明了为什么 32 和 64 构建分别工作并针对不同的应用程序。

【讨论】:

  • 感谢您的详尽回答。
猜你喜欢
  • 1970-01-01
  • 2016-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-01
  • 2017-01-09
  • 2023-03-18
相关资源
最近更新 更多