是什么让Phonon / DirectShow错过标准编解码器?

时间:2012-09-25 14:09:57

标签: qt directshow phonon

我们正在开发一个基于Qt的应用程序,其中包括使用Phonon进行视频播放。我们使用带有MJPEG压缩的.avi文件(因为我们需要快速搜索特定的帧)。

在开发机器上(运行Windows 7)一切正常 - Phonon使用DirectShow后端,DirectShow使用来自quartz.dll的标准MJPEG编解码器加载和播放我们的视频文件。

但是Windows 7上的一些测试人员报告说视频播放中断了,我在其中一台机器上快速浏览并看到没什么特别的,但是:

  • InstalledCodecs 实用程序报告MJPEG编解码器存在且已启用
  • Windows Media Player 可以正常播放文件(但我收集的是使用不同的后端,而不是DirectShow)。
  • Media Player Classic 配置为使用 DirectShow ,标准MJPEG插件会抱怨没有可用的编解码器。
  • 我们的软件确实打破了,显然是出于同样的原因,无论它是什么。

phonon后端安装在plugins目录中,该目录被添加到我在日志中列出的搜索路径中,因此应该加载它。我在开发机器上重命名了QtSDK,以确保只有安装的qt插件可供应用程序使用,并且它继续在那里工作。

我很感激任何有关下一步的建议。

我最终想知道的是:

  • 可能是什么问题
  • 安装程序或应用程序本身如何检测问题
  • 如何自动解决问题 - 或者通过指导用户
  • 解决问题

1 个答案:

答案 0 :(得分:0)

我最近遇到了类似的问题,但它采用了各种视频文件格式,不一定只是MPEG压缩。

我找到的解决方案是安装套装编解码器包。这对于少数计算机上的设置做得很好。如果要部署到很多用户,您可能希望找到所需的确切编解码器,并确保声子能够找到它们。

K-Lite Codec Pack Download