直到几天前,一切都运行正常。我上次使用 VLC 可能是一两周前。我第一次注意到这种行为是在尝试播放我之前在 VLC 中播放过的 mp4 视频时,没有遇到任何问题。然后我收到消息:
No suitable decoder module:
VLC does not support the audio or video format "h264". Unfortunately
there is no way for you to fix this.
然后我成功地用 SMPlayer、UMPlayer、gxine、Xine 和 GNOME MPlayer 播放了它。但是无法在默认的 Ubuntu Application Movie Player、Banshee Media Player、Dragon Player 和 VLC Media Player 中播放它。除了 VLC 之外,在所有无法运行的播放器上,我都看到一个弹出窗口,标题为:
Install extra multimedia plugins?
Python (v2.7) requires to install plugins to play media files of the
following type: H264 decoder
Gstreamer ffmpeg video plugin (i386)
Gstreamer plugins for mms, wavpack, quicktime, musepack (i386)
此外,这些播放器都无法播放任何 Flash 视频格式 flv ... 没有任何消息或弹出窗口。对于 h264,我仍然可以播放声音,但不能播放视频。
问题是我已经在架构 amd64 中安装了这些软件包。我不明白为什么我必须为 i386 安装插件?
然而所有这些播放器的共同点是(可能)它们都使用 Python。我确信 VLC 也使用 Python。
由于这些视频播放器运行良好,因此我没有安装任何与 Python 相关的东西。只有系统更新。
所以我不知道我还能做什么,为什么我的 Python 2.7 突然不再适用于 VLC 和其他媒体播放器?
有人对这种闻所未闻的情况有什么见解吗?
答案1
我发现了这个问题。在任何 Debian 或 Ubuntu 发行版中都有一个libopenjpeg2
软件包。安装的版本是(适用于所有 Ubuntu 发行版)1.3+dfsg-4.6
。这个软件包的开发者是http://www.openjpeg.org
。他们的 Google Code 网站位于http://code.google.com/p/openjpeg
。它附带其他软件包,例如libopenjpeg-dev
和openjpeg-tools
。
我看到发行版附带的版本是 2009 年 5 月的第一个版本。然后我决定自己编译并构建最新的 2.0.0 版本(2012 年 11 月)。它运行良好。我将我的新包命名为libopenjpeg2.0
。这很好。一切都运行正常。然后我决定摆脱最旧的版本 1.3,之后我立即发现一些应用程序无法启动,例如、、DeVeDe
和其他...一些从命令行启动的应用程序报告缺少库。VLC Media Player
Banshee Media Player
Movie Player
DeVeDe
libopenjpeg.so.2
重新安装libopenjpeg v1.3
解决了这个问题。通过这个过程我了解到,OpenJPEG 1.3、1.5 和 2.0 版本不是相同内容的增量版本。基本上你需要将它们全部安装在不同的包名中。
在 Debian Unstable 中,我看到了版本 1.5 内置包libopenjpeg5
,并且有提示说 2.0.0 版本将包含在包中libopenjpeg6
。
可能会找到 1.5 版本的软件包这里。