gpt4 book ai didi

c++ - 编解码器更改导致 IMediaSeeking setPosition 失败

转载 作者:行者123 更新时间:2023-11-28 07:52:59 33 4
gpt4 key购买 nike

我很高兴改进我的 C++ 程序,我通过 directshow 阅读视频。现在我也试着写视频,效果也很好。
然后是寻找合适的编解码器(考虑了 vob/ogg)...
但是,今天突然间视频显示的很慢。
现在我卸载了之前安装的任何其他编解码器,视频根本无法播放。
原因好像是CComQIPtr< IMediaSeeking, &IID_IMediaSeeking > pSeeking( pGraph );hr = pSeeking->SetPositions( &Startzeit, AM_SEEKING_AbsolutePositioning,NULL, AM_SEEKING_NoPositioning );给出错误,当时不支持 SetPosition ... 任何时候都可以。
还有hr=pSeeking->GetDuration(&duration)返回 0 和相应的 AM_MEDIA_TYPE mt;我用来获取 framepersecond 的格式类型为空。 (pbFormat 为 Null)。

我是不是无意中安装/卸载了一些重要的东西?
你听说过类似的问题吗?
正如我所说,几天前相同的视频和源代码运行良好(我评论说现在已经更改)。
我想给你更多的源代码,但它有点长,但如果你认为它有帮助,我当然会添加它。

此致,
朱利安

这是源代码:http://pastebin.com/jMdWejH9
这当然只是整个代码的一部分,但我认为这是主要部分,因为这里插入了所有过滤器。
请记住,这实际上在几天前有效!^^
第一部分是变量说明(据我所知所有重要变量,第二部分是调用的函数)

最佳答案

如果您在 DirectShow 中渲染文件,框架会使用系统中安装的编解码器/过滤器。如果您删除某些编解码器,它会需要另一个编解码器或中断,因为它无法呈现。要了解框架使用的过滤器,您可以尝试在 GraphEdit 或 GraphStudioNext 中呈现文件。 . (只需将文件放在这些程序之一上,然后查看过滤图)。我们使用编解码器包获得了最好的结果 ffdshow-tryoutsHaali Media Splitter对于我们的 player .

关于c++ - 编解码器更改导致 IMediaSeeking setPosition 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13346530/

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