如何为x64位DirectShow应用安装x264vfw H.264编码器滤镜?
解决x264vfw在64位DirectShow应用中无法枚举的问题
我之前也踩过一模一样的坑!x264vfw默认安装时往往只注册32位版本,导致64位应用的DirectShow枚举器根本找不到它。下面是几个亲测有效的解决办法:
方法1:重新安装并指定64位注册
- 找到最新版的x264vfw安装包,确保包含64位组件(多数现代版本都同时支持32/64位)
- 右键点击安装程序,选择以管理员身份运行(权限不够会直接导致注册失败)
- 在安装界面中,找到注册相关的选项,务必勾选「Register 64-bit filter」(不同版本措辞可能略有差异,比如“注册64位滤镜”)
- 完成安装后重启你的64位应用,再执行枚举代码应该就能看到x264vfw了
方法2:手动注册64位滤镜(适用于安装包无对应选项的情况)
- 找到x264vfw安装目录下的64位DLL文件,通常命名为
x264vfw64.dll - 打开64位命令提示符:找到
C:\Windows\System32\cmd.exe,右键选择「以管理员身份运行」(注意不要打开SysWOW64下的cmd,那是32位环境) - 执行注册命令:
regsvr32 "C:\你的安装路径\x264vfw64.dll" - 若弹出「DllRegisterServer 中的某个操作成功完成」的提示,说明注册成功
方法3:验证滤镜是否真的注册成功
- 可以用64位版本的GraphEdit工具来检查:打开GraphEdit后右键选择「Insert Filters」,在「Video Compressors」分类下查看是否有x264vfw
- 如果GraphEdit能看到,但你的代码枚举不到,那可能需要检查代码中
CLSID_VideoCompressorCategory的正确性,或者确认应用确实是64位编译的
额外注意事项
- 绝对不要用32位的
regsvr32(位于C:\Windows\SysWOW64\regsvr32.exe)去注册64位DLL,反之亦然,会直接导致注册失败 - 老旧版本的x264vfw可能没有64位版本,建议下载最新的稳定版
内容的提问来源于stack exchange,提问作者Rox88x
相关产品推荐
相关产品推荐

