c++ - 使用基于 DirectShow 的虚拟相机和 Electron 框架来渲染 <div> 元素的内容

标签 c++ com electron directshow virtual-webcam

我正在尝试使用 Electron 构建桌面应用程序可以输出特定内容的框架<div>元素到 DirectShow基于虚拟相机。
在著名的 Viveks virtual camera 的帮助下和 Sample Push Source Filter我能够创建在虚拟相机中渲染桌面的虚拟相机。
现在我想用这个带有 Electron 应用程序的虚拟相机来输出 <div> 的内容.我无法弄清楚应该采取什么方法来实现这一目标?我想我必须开发 DirectShow Capture Filter 它将与我不确定的虚拟相机交互。
应该采用什么渲染方法 <div>内容到虚拟相机?

最佳答案

https://docs.microsoft.com/en-us/windows/win32/directshow/step-2--declare-cvideorenderer-and-derived-classes
看来您需要获取 Electron 窗口的窗口句柄 HWND 并写入该窗口中的 RECT,类似于使用 DirectX 交换链执行此操作的方式。我不确定是否有专门渲染到窗口内元素的方法,但您可以公开一些 C++ 组件可以读取以确定视口(viewport)的变量。

关于c++ - 使用基于 DirectShow 的虚拟相机和 Electron 框架来渲染 <div> 元素的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65949549/

相关文章:

c++ - 通过指针更改私有(private)数据成员是不可能的吗?

javascript - Electron:桌面捕获器未定义

c++ - Bjarne Stroustrup Book - std_lib_facilities.h - 不起作用(未知类型名称)

c++ - 如何确定现有类是否可以进行单元测试?

c++ - 使用 Win32 API 获取 Windows 屏幕保护程序超时

go - 调用 WMI 类的方法

c# - 获取现场书签

vb.net - 如何在没有 IDispatch 的情况下创建 VB.NET COM 可见接口(interface)?

menu - Electron - 在不同的窗口中更改菜单栏

node.js - 运行 Electron 时出错