我正在使用 DirectShowLib 和 SampleGrabber 来捕获 AVI 文件的视频帧。我通过使用图形生成器和几个过滤器来实现这一点。一切正常,我能够初始化图形和过滤器。
然后我添加了代码来获取一些视频信息,如尺寸、帧速率等。为此,我使用了 IMediaDet。但是当我尝试初始化它时:
Type t = Type.GetTypeFromCLSID(new Guid("65BD0710-24D2-4ff7-9324-ED2E5D3ABAFA"));
IMediaDet mediaDet = (IMediaDet)Activator.CreateInstance(t);
Activator.CreateInstance(t)
抛出异常:
由于以下错误,检索具有 CLSID {65BD0710-24D2-4FF7-9324-ED2E5D3ABAFA} 的组件的 COM 类工厂失败:80040154。
我不认为这是构建的问题,因为过滤器和图形构建器正在初始化。任何人都有任何想法,或者是否有任何其他 API 可以用来收集 AVI 文件信息,如尺寸、帧速率、视频长度?