我正在努力将原始图像编码为 Windows 上的 avi 文件,可能使用 directshow 过滤器。使用的编解码器类型将由用户选择。我已经使用 Windows 视频(VFW)做了类似的事情
这很漂亮,因为它提供了简单的 api 来压缩数据并将其写入文件。这次我想使用 directshow 框架来提供 directshow 支持。
然而,在检查 MSDN 时,我发现不同的编解码器有不同类型的过滤器,因此没有单一的接口。http://msdn.microsoft.com/en-us/library/windows/desktop/dd375464(v=vs.85).aspx每次切换编解码器时是否需要在不同的过滤器之间切换?
另外,DMO 与 Directshow 有何不同,根据 MSDN,它们也可用于编码。http://msdn.microsoft.com/en-us/library/windows/desktop/ff819088(v=vs.85).aspx
那么我应该使用哪个来支持最大数量的编解码器?
请分享您的想法。
不同的编解码器可用于不同的接口,因为在 API 开发过程中出现了多个 API。
- 有适用于 Windows VCM 视频编码器的 Video
- 有视频编码 DMO
- 有视频编码 MFT(有些可能是双 DMO/MFT 对象)
- there are video encoding DirectShow filters
- 直播AVI 压缩器过滤器包装 VFW/VCM 编码器并使它们可用于 DirectShow
- 直播DMO 包装过滤器为 DirectShow 提供合适的 DMO
因此,数学计算表明,在 DirectShow 中,大多数编码器都是开箱即用的。
其他因素,如编解码器的特异性和适用性、编码/容器限制,以及事实上,像样的编码器通常不是免费提供的 - 当您设计一个可以与各种视频编码器一起使用的应用程序时,这一切都严重限制了该方法的使用和价值用户选择,通过标准的众所周知的接口/API。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)