1

我正在开发一个 h264 directshow 过滤器。

我有一个有效的硬件源,可以正确输出 NAL 单元。我有一个 DirectShow 过滤器,它宣传 h264 并成功连接到默认的 windows 7 解码器 microsoft dtv-dvd 视频解码器。

当我将渲染器连接到解码器时,渲染器没有收到任何数据包,因此我假设解码器无法正确解码我的数据包。

[ h264 源 ] -> [ dtv-dvd 解码器 ] -> [ 增强型视频渲染器 ]

我有什么办法可以检查微软解码器失败的地方吗?

任何其他信息可能会有所帮助

4

1 回答 1

3

你遇到的困难是你没有 dtv-dvd 解码器的代码,使它有点像管道中的黑盒。您的 h264 源可以连接到 dtv-dvd 解码器这一事实意味着您在媒体格式协商方面有了一个良好的开端。为了更好地了解问题所在,我建议您将 dtv-dvd 解码器换成您拥有源代码的解码器,然后使用 GraphEdit 或类似工具之一调试您的管道。我一直在做同样的开发,发现一旦我让 h264 管道与一个解码器过滤器一起正常工作,它通常与其他 h264 解码器一起正常工作。

以下是一些包含源代码的选项:

另外,我发现 dtv-dvd 过滤器有点挑剔。使用以下二进制形式的解码器过滤器之一进行测试可能会有所帮助:

于 2012-08-10T14:27:05.407 回答