我有一个项目,该项目将libmpv与opengl小部件一起使用(按照libmpv附带的示例),以及一个用于显示信息,图形和动画(例如滚动行情自动收录器)的QtWebEngine小部件。
我发现Qt中的视频播放选项中,mpv是最流畅,最可靠的。它将完美流畅地播放高达1080p的任何视频。
但是,在播放视频时,QtWebEngine中的任何动画都不流畅且抖动。当网页中有某些内容移动时,视频的平滑度也会略微降低。
我正在测试的系统没有资源短缺的问题(CPU使用率约为45%)。也没有任何视频解码,因为它正在播放原始视频(但是,在播放编码的视频时,无论是否启用硬件加速,效果都是相同的。)
我认为mpv小部件在处理帧时会中断MainWindow线程,并使它每隔几毫秒冻结一次。
据我所知,虽然没有办法将mpv线程与MainWindow线程分开。
我不知道是否有可能使mpv和webengine顺利协作。我觉得必须有某种方法可以在一个窗口中一次运行两个小部件,而又不要让它们彼此混淆。
我正在使用Ubuntu 18.04,QT 5.11和git中的最新mpv进行测试。
有人对尝试什么有任何建议或指示吗?我意识到这在很大程度上是一个广泛的问题,但是我对图形的了解有限。如果有人在概念上有建议(我不需要别人给我编写修复程序),我可以进行自我调查。
谢谢。