Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video DirectShow的H.264编码器过滤器_Video_H.264_Directshow_Encoder - Fatal编程技术网

Video DirectShow的H.264编码器过滤器

Video DirectShow的H.264编码器过滤器,video,h.264,directshow,encoder,Video,H.264,Directshow,Encoder,我正在尝试使用DirectShow录制视频,我需要一个H.264编码器过滤器。我已尝试安装: x264vfw 就像这里建议的那样: 但使用视频压缩枚举器: IEnumMoniker*枚举迭代器=nullptr; 如果(DeviceEnumerator->CreateClassEnumerator(CLSID\u VideoCompressorCategory,&EnumIterator, 0)!=S_正常) { 返回空ptr; } 此筛选器仅针对32位应用程序列出。对于x64应用程序,它不会

我正在尝试使用DirectShow录制视频,我需要一个H.264编码器过滤器。我已尝试安装:

x264vfw

就像这里建议的那样:

但使用视频压缩枚举器:

IEnumMoniker*枚举迭代器=nullptr;
如果(DeviceEnumerator->CreateClassEnumerator(CLSID\u VideoCompressorCategory,&EnumIterator,
0)!=S_正常)
{
返回空ptr;
}
此筛选器仅针对32位应用程序列出。对于x64应用程序,它不会出现


如何安装该视频压缩器的x64版本?

对于64位应用程序,您确实需要64位版本的过滤器(也称为
x264vfw64
),您需要在SourceForge上查看以下注意事项:

从40_2491bm_40895开始,64位窗口(x264vfw64)的版本合并到一个安装程序中,其中包含32位窗口(x264vfw)的版本。因此,如果您想使用最新版本的x264vfw,应从以下位置下载:

因此,应该安装32位和64位版本的编码器过滤器

更新。64位版本的不可用似乎是一个问题。该票据解释说,64位子系统没有用于拾取VFW编码器的包装器,并且安装的H.264压缩对DirectShow仍然不可见

我个人认为这种描述并不准确。事实上,当请求DirectShow视频编码器枚举时,有一个层可以为Windows编解码器(如x264vfw)拾取旧视频并通过包装器将其公开,以便DirectShow应用程序可以利用这些旧编解码器

。。。使视频压缩管理器(VCM)编解码器能够加入过滤器图。每个编解码器显示为过滤器的单独实例


64位Windows的64位子系统仍然具有此筛选器(与票证解析中的语句相反)。然而,64位DirectShow中不再提供这种兼容层可能确实有其原因。目前的状态似乎是x264vfw开发人员已经意识到了这个问题,并且没有或计划有一个解决方案

对于64位应用程序,您确实需要64位版本的过滤器(也称为
x264vfw64
),您需要在SourceForge上查看以下注意事项:

从40_2491bm_40895开始,64位窗口(x264vfw64)的版本合并到一个安装程序中,其中包含32位窗口(x264vfw)的版本。因此,如果您想使用最新版本的x264vfw,应从以下位置下载:

因此,应该安装32位和64位版本的编码器过滤器

更新。64位版本的不可用似乎是一个问题。该票据解释说,64位子系统没有用于拾取VFW编码器的包装器,并且安装的H.264压缩对DirectShow仍然不可见

我个人认为这种描述并不准确。事实上,当请求DirectShow视频编码器枚举时,有一个层可以为Windows编解码器(如x264vfw)拾取旧视频并通过包装器将其公开,以便DirectShow应用程序可以利用这些旧编解码器

。。。使视频压缩管理器(VCM)编解码器能够加入过滤器图。每个编解码器显示为过滤器的单独实例


64位Windows的64位子系统仍然具有此筛选器(与票证解析中的语句相反)。然而,64位DirectShow中不再提供这种兼容层可能确实有其原因。目前的状态似乎是x264vfw开发人员已经意识到了这个问题,并且没有或计划有一个解决方案

我已经安装了它,但它没有为x64添加任何视频压缩程序。我试过上面的代码和GraphStudionText x64,没有列出x264视频压缩程序(在x32版本中,我可以看到一个标签为“x264vfw-H.264/MPEG-4 AVC codec”的压缩程序)。我做错了什么?看起来这个版本确实有问题。我也看不到64位编码器已安装/可用(尽管已安装x264vfw64.dll文件)。也许你可以尝试一个更早的版本,可能还可以。好的,我会尝试一个更早的版本。您知道使用H.264/MPEG-4格式压缩视频的任何其他解决方案或任何其他DirectShow过滤器吗?我不知道有免费和/或广泛使用的DirectShow H.264编码器。存在商业过滤器。我自己过去曾几次在x264上开发DirectShow包装器,因为没有现成的解决方案。目前,我会考虑使用硬件辅助的H.264编码(比仅使用软件的x264更好),因为所有三大供应商AMD、Intel和Nvidia在其GPU中都有各自的功能。这仍然需要为DirectShow定制开发的包装。我已经安装了它,但它没有为x64添加任何视频压缩程序。我试过上面的代码和GraphStudionText x64,没有列出x264视频压缩程序(在x32版本中,我可以看到一个标签为“x264vfw-H.264/MPEG-4 AVC codec”的压缩程序)。我做错了什么?看起来这个版本确实有问题。我也看不到64位编码器已安装/可用(尽管已安装x264vfw64.dll文件)。也许你可以尝试一个更早的版本,可能还可以。好的,我会尝试一个更早的版本。您知道使用H.264/MPEG-4格式压缩视频的任何其他解决方案或任何其他DirectShow过滤器吗?我不知道有免费和/或广泛使用的DirectShow H.264编码器。存在商业过滤器。我自己过去曾几次在x264上开发DirectShow包装器,因为没有现成的解决方案。目前,我会考虑使用硬件辅助的H.264编码(比仅使用软件的x264更好),因为所有三大供应商AMD、Intel和Nvidia在其GPU中都有各自的功能。这仍然需要定制开发的包装器