我正在考虑更新目前使用DirectShow进行视频捕获的程序.虽然DirectShow似乎运行良好,但我想知道是否有更强大或最新的SDK或API,我应该研究.一些有用的功能将是:
>在捕获期间提供一致的帧速率(NTSC帧之间为33ms).
>使用DirectShow兼容的捕获设备.
>不需要在客户的PC上安装额外的许可证.
>允许同时预览和硬件编码视频.
>能够集成到C / MFC应用程序中.
我已经研究过LeadTools Multimedia Capture SDK和VisioForge Capture SDK以及Microsoft Media Foundation,但在我将时间或金钱投入其中一种替代方案之前,我只是想知道其他人成功使用了什么.我不在乎这是商业产品还是开源产品.
编辑:虽然我很欣赏尝试解决我的特定问题,但这个问题应该是关于DirectShow的替代方案.所以,我删除了所有对我特定问题的引用.解决这个问题需要等待另一个问题.
最佳答案 相当多的捕获板都带有自己的定时器.
您可以尝试查询IReferenceClock的源过滤器并使用自己的计时器,该计时器通常比PC的计时器更准确.
如果你使用ISampleGrabber,那么回调函数从Sample Grabber的输入引脚上调用Receive开始被称为微秒,它们在源代码中只有几行.
您的帧源定时似乎不准确(不是IMediaSample中设置的时序,而是帧的交付时间).
什么是生成帧的源过滤器?