如何使用GraphEdt输出流生成可自定义命名的虚拟音视频采集设备
你的需求无法通过原生GraphEdit直接实现,搭配支持自定义设备名的DirectShow虚拟音视频捕获滤镜即可完成,具体操作如下:
前置准备
先安装两类符合DirectShow规范的虚拟捕获组件:
- 虚拟视频捕获滤镜:支持接收外部输入流、自定义设备显示名,对外模拟为标准摄像头捕获设备
- 虚拟音频捕获滤镜:支持接收外部输入流、自定义设备显示名,对外模拟为标准麦克风捕获设备
操作步骤
- 打开你已经构建好的视频文件渲染Filter Graph,删除其中原本的默认音频渲染、默认视频渲染节点
- 在GraphEdit空白处右键,选择
Insert Filter,找到已安装的虚拟视频捕获滤镜插入,右键该滤镜打开属性面板,设置你需要的设备显示名,例如GraphEdt Video from Video File 1 - 同理插入虚拟音频捕获滤镜,设置对应音频设备显示名,例如
GraphEdt Audio from Video File 1 - 将原有文件源解封装后的视频输出Pin,连接到虚拟视频捕获滤镜的输入Pin;将音频输出Pin连接到虚拟音频捕获滤镜的输入Pin
- 如果需要循环播放视频模拟持续的参会者流,可在文件源后添加循环控制滤镜,或直接替换为支持循环读取的文件源组件
- 点击运行Filter Graph即可生效,此时浏览器、会议软件的音视频输入设备列表中会出现你自定义名称的虚拟设备,选中后即可获取该Graph输出的音视频流
- 若需要模拟多个参会者,只需复制多份Filter Graph,修改每份中虚拟音视频滤镜的设备名,同时运行多个GraphEdit实例即可
注意事项
- 所选的虚拟捕获组件必须为DirectShow架构,才能被GraphEdit识别加载
- 确认所用的虚拟滤镜支持同时运行多实例、生成多个独立的设备条目,避免多开时出现名称冲突或设备占用问题
- Windows 10/11系统下需要提前给浏览器开放麦克风、摄像头访问权限,否则虚拟设备不会出现在设备选择列表中

内容的提问来源于stack exchange,提问作者Robert Oschler
相关产品推荐
相关产品推荐

