是什么让Phonon/DirectShow缺少标准编解码器? [英] What could make Phonon/DirectShow miss a standard codec?
问题描述
我们正在开发基于Qt的应用程序,其中包括使用Phonon进行视频播放的功能.我们使用具有MJPEG压缩功能的.avi文件(因为我们需要快速搜索特定的帧).
We're developing a Qt-based application that includes video playback using Phonon. We use .avi files with MJPEG compression (as we need fast seeking to particular frames).
在开发计算机(运行Windows 7)上,所有功能均正常运行-Phonon使用DirectShow后端,DirectShow使用quartz.dll
中的标准MJPEG编解码器加载和播放我们的视频文件.
On the development machine (running Windows 7) all works well - Phonon uses DirectShow backend, DirectShow loads and plays our video files using standard MJPEG codec from quartz.dll
.
但是Windows 7上的一些测试人员报告了视频播放中断,我很快对其中一台机器进行了测试,发现那里没有什么特别之处,但是:
But some of the testers on Windows 7 reported broken video playback, I had a quick on one of the machines and see nothing special there, but:
- InstalledCodecs 实用工具报告存在并启用了MJPEG编解码器
- Windows Media Player 可以很好地播放文件(但我认为它使用不同的后端,而不是DirectShow).
- Media Player Classic 配置为使用 DirectShow ,并且标准MJPEG插件抱怨没有可用的编解码器.
- 显然,出于同样的原因,我们的软件确实崩溃了,无论它是什么.
- InstalledCodecs utility reports MJPEG codec present and enabled
- Windows Media Player plays the files fine (but I gather it uses a different backend, not the DirectShow).
- Media Player Classic configured to use DirectShow and the standard MJPEG plugin complains that there is no codec available.
- Our software indeed breaks, apparently for the same reason, whatever it is.
声子后端安装在插件目录中,该目录已添加到我在日志中列出的搜索路径中,因此应加载它.我在开发机器上重命名了QtSDK,以确保只有已安装的qt插件可用于该应用程序,并且该应用程序在该应用程序中可以继续工作.
The phonon backend is installed in the plugins directory which is added to the search paths which I see listed in the logs, so it should be loaded. I renamed QtSDK on the development machine to make sure only installed qt plugins are available to the application and it continues to work there.
对于接下来要去哪里看的任何建议,我将不胜感激.
I would appreciate any advice as to where to look at next.
我最终想知道的是:
- 可能是什么问题
- 安装程序或应用本身如何检测到问题
- 如何自动或通过指导用户解决问题
推荐答案
我最近遇到了类似的问题,但是它涉及多种视频文件格式,而不仅仅是MPEG压缩.
I ran into a similar issue recently, but it was with a variety of video file formats, not necessarily just the MPEG compression.
我发现的解决方案是安装一个整体编解码器包.对于在少数计算机上进行设置,这做得很好.如果要部署到许多用户,则可能需要找到所需的确切编解码器,并确保phonon可以找到它们.
The solution I found was to install a coverall codec pack. This did a good job for the setup on a handful of computers. If you are deploying to a lot of users, you will probably want to find the exact codecs you need and make sure phonon can find them.
这篇关于是什么让Phonon/DirectShow缺少标准编解码器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!