我有一台旧的 Athlon 800Mhz PC,配有 Matrox G450 显卡,用于观看 DVD 和视频,大多数情况下运行良好,但每隔两秒钟视频播放就会停止一小会儿。这是一个很小但明显且令人讨厌的故障。
CPU 使用率似乎不是问题,后台没有任何重大 IO 发生,也没有明显的后台进程可能导致此问题。使用“nice”或更大的缓存 ( mplayer -cache ...
) 开始播放不会带来任何改进。
该机器运行的是Ubuntu 9.04,在Windows98下不会出现该问题并且视频流畅。
这个问题可能是什么原因造成的?我该如何进一步调试?我目前的猜测是它与硬件/irq 相关的问题,但这几乎只是盲目的猜测。
编辑:问题似乎已经消失,遗憾的是我仍然不知道是什么解决了它或者是什么导致了它。
答案1
您正在使用哪种输出驱动程序?
mplayer -vo xv
可能会解决你的问题。
答案2
男孩,有一个很多上的表盘mplayer
。
那台机器应该足够快了。珀尔帖的建议很好,就像评论中说的那样,在已知的快速媒体上尝试文件(也许您没有充分利用 Linux 中的媒体驱动器)。您还可以检查实时时钟中断率(阅读文档,但它涉及读取和/或操作文件/proc
)、预处理级别(-vf pp -autoq
和类似级别)和音频同步限制(-autosync 20
或其他)。
请记住,mplayer 将在多个地方查找配置选项:
- 全局配置文件在
/etc/mplayer
或/usr/local/etc/mplayer
或/opt/etc/mplayer
或... - 用户特定的配置文件通常位于
~/.mplayer
。您还可以在此处获得电影特定的配置文件。 - 命令行参数可能会受到为 mplayer 定义的任何 shell 别名的影响。
答案3
下次发生这种情况时,请检查 DVD 设备处于哪种 IO 模式。您可以使用 hdparm 来检查。它可能应该是 udma2,任何小于 pio4 的值都可能导致此冻结。
答案4
我以前经常在 Athlon-900 / G450 上播放 DVD。这听起来就像 DVD 读取器处于非 DMA 模式的症状。(是的,很难诊断!)
正如您所注意到的,那里有足够的 CPU 来播放 DVD — 正是 PIO 模式下的设备延迟让您无法使用。可能是一次不相关的升级将配置更改为使用 DMA 模式,因为(如果 DMA 有效)在 PIO 上运行 DVD 没有任何好处。