gpt4 book ai didi

c++ - 获取 MP4 流长度

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:36:27 26 4
gpt4 key购买 nike

我正在开发一个应用程序,我们使用 IMediaDet 获取流长度。现在我们开始使用 MP4 容器。问题是,当我对 MP4 文件尝试 IMediaDet::put_fileName() 时,我得到 HRESULT = -2147024770 (ERROR_MOD_NOT_FOUND)。使用商业 mp4 分离器,我看到视频流使用 mpg2 编码。

我的问题:如何获取 MP4 容器内流的流长度?有没有办法让 IMediaDet 接受这些文件?有没有办法指出 IMediaDet 应该使用什么解复用器?

如有任何帮助,我们将不胜感激。

谢谢。

最佳答案

不幸的是,DirectShow does not contain an MP4 parser, even in Windows 7 .在 Win7 中,媒体基础中增加了 MP4 功能。

所以你有几个选择。您可以购买或构建一个实现 MP4 解复用器和 associate it with the "mp4" file extension 的 directshow 过滤器,这应该允许 IMediaDet 正确地解复用文件。或者您可以使用 Media Foundation,它应该能够返回此信息。或者您可以完全为 MP4 文件使用单独的库,like MP4v2 . (请注意,如果您想直接使用 DirectShow 而不是 MP4v2,您也可以使用 MP4v2 实现 MP4 多路分解过滤器)

关于c++ - 获取 MP4 流长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3458881/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com