首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有EVR的MFT提供的帧数较少

带有EVR的MFT提供的帧数较少
EN

Stack Overflow用户
提问于 2015-12-11 00:25:18
回答 2查看 244关注 0票数 1

我有如下所示的拓扑结构,它适用于所有视频序列的帧:

源->视频解码器MFT ->自定义视频编辑MFT->视频编码器MFT->自定义Sink MFT

但是如果我在“自定义视频编辑MFT”之后插入一个Tee节点来连接到增强型视频渲染器(EVR),那么应用程序并不能运行于视频序列的所有帧。

我试着用mftrace找出原因,但没有多大帮助。如果自定义MFT花费太长时间,是否有任何节点跳过帧的可能性?如果有一些提示来调试这个问题,或者任意猜测的话,我很感激。

FYI,这个问题只在我尝试UHD (3840x2160)分辨率视频时观察到。它适用于HD (1920x1080)分辨率。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-12 17:25:05

最后,通过关闭MF_SESSION_QUALITY_MANAGER来解决这个问题,如下所示,它避免了可能的帧丢失:

代码语言:javascript
复制
   CComPtr<IMFAttributes> attrib;
    MFCreateAttributes(&attrib, 1);
    attrib->SetGUID(MF_SESSION_QUALITY_MANAGER, GUID_NULL);
    hr = MFCreateMediaSession(attrib, &_mediaSession);
票数 2
EN

Stack Overflow用户

发布于 2015-12-23 19:49:52

您是否尝试在tee节点上设置MF_TOPONODE_PRIMARYOUTPUT。

您的输出编码器应该是主要输出,而渲染器输出应该是第二个。

另外,使用MF_TOPONODE_RATELESS作为您的接收器,因为在默认情况下,它不是。

不要使用MF_TOPONODE_DISCARDABLE,因为你不想使用。

如果您的问题仍然存在,我可以创建一个tee节点转换来检查发生了什么。但就目前而言,还不确定tee节点是否是问题所在。也许是媒体会议..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34214238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档