MPlayer:你的系统太慢,无法播放!

Val*_*ant 6 video mplayer

我刚刚尝试在我的 Ubuntu 12.04 工作站上使用我的 Sony DSLR 播放以 60 FPS 录制的 1080p AVCHD 视频文件,令我惊讶的是 MPlayer 无法流畅地播放视频。我将文件复制到本地硬盘驱动器。

视频播放速度比应有的慢,并且 AV 不同步继续稳定增长(每 10 秒播放大约 1 秒的不同步)。8 个 CPU 线程之一的速度高达 100%。

我想知道这是否会出现在我的硬件上。有点难以置信,考虑到我的 T60 笔记本电脑播放视频很好,所以我怀疑软件问题。

工作站规格:

  • CPU:英特尔四核 i7-920 @2.67GHz
  • GPU:英伟达 GeForce 9600 GSO 512
  • 内存:8Gb
  • Compiz 如果运行顺利,尽管我已在此测试中将其关闭(视频播放没有改进)
  • 该系统通常是闪电般的快速和响应。
  • 以 30 FPS 的速度播放带有 h264 1080p 流的 MP4 效果很好。
  
root@boss:~# glxinfo | 直接grep
直接渲染:是

root@boss:~# glxinfo | 供应商
服务器 glx 供应商字符串:NVIDIA Corporation
客户端 glx 供应商字符串:NVIDIA Corporation
OpenGL 供应商字符串:NVIDIA Corporation


播放器输出:

valprj@boss:~$ mplayer 00006.MTS 
MPlayer svn r34540 (Ubuntu),使用 gcc-4.6 (C) 2000-2012 MPlayer Team 构建
mplayer:无法连接到套接字
mplayer: 没有那个文件或目录
无法打开 LIRC 支持。您将无法使用遥控器。

播放 00006.MTS。
libavformat 版本 53.21.1(外部)
不匹配的标头版本 53.19.0
检测到 TS 文件格式。
VIDEO H264(pid=4113) AUDIO A52(pid=4352) SUB Teletext(pid=4608) PROGRAM N. 1
FPS 好像是:59.940060
在 ./ 中加载字幕
================================================== ========================
打开视频解码器:[ffmpeg] FFmpeg 的 libavcodec 编解码器系列
libavcodec 版本 53.35.0(外部)
不匹配的标头版本 53.32.2
所选视频编解码器:[ffh264] vfm: ffmpeg (FFmpeg H.264)
================================================== ========================
================================================== ========================
打开音频解码器:[ffmpeg] FFmpeg/libavcodec 音频解码器
音频:48000 Hz,2 ch,s16le,256.0 kbit/16.67%(比率:32000->192000)
所选音频编解码器:[ffac3] afm: ffmpeg (FFmpeg AC-3)
================================================== ========================
AO:[alsa] 48000Hz 2ch s16le(每个样本 2 个字节)
开始播放...
不支持的 PixelFormat 61
不支持的 PixelFormat 53
不支持的像素格式 81
Movie-Aspect 是 1.78:1 - 预缩放以校正电影方面。
画外音:[vdpau] 1920x1080 => 1920x1080 平面 YV12 
A: 6.6 V: 6.1 AV: 0.496 ct: -0.017 453/453 96% 10% 0.6% 221 0 


           ****************************************************
           **** 您的系统太慢,无法播放!****
           ****************************************************

可能的原因、问题、解决方法:
- 最常见:损坏/有问题的 _audio_ 驱动程序
  - 尝试 -ao sdl 或使用 ALSA 的 OSS 模拟。
  - 尝试不同的 -autosync 值,30 是一个好的开始。
- 慢速视频输出
  - 尝试不同的 -vo 驱动程序(列表中的 -vo 帮助)或尝试 -framedrop!
- 缓慢的 CPU
  - 不要尝试在慢速 CPU 上播放大型 DVD/DivX!尝试一些 lavdopts,
    例如 -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=all。
- 损坏的文件
  - 尝试 -nobps -ni -forceidx -mc 0 的各种组合。
- 慢速媒体(NFS/SMB 挂载、DVD、VCD 等)
  - 尝试 -cache 8192。
- 您是否使用 -cache 播放非交错 AVI 文件?
  - 试试 -nocache。
阅读 DOCS/HTML/en/video.html 以获得调整/加速技巧。
如果这些都对您没有帮助,请阅读 DOCS/HTML/en/bugreports.html。

A: 7.8 V: 7.2 AV: 0.602 ct: -0.017 520/520 97% 10% 0.6% 286 0 
[h264 @ 0x7fe0a0468380]隐藏 136 DC、136 AC、136 MV 错误
A: 17.1 V: 15.6 AV: 1.495 ct: -0.017 1022/1022 97% 9% 0.6% 779 0 

退出...(退出)


我尝试过的事情

  • 一起玩-vc ffh264vdpau有点帮助。desync 比率变为每 34 秒播放 1 秒 desync,视频速度几乎正确。CPU 使用率显着下降(最高 CPU 线程为 20%)。但我仍然得到:

    您的系统太慢,无法播放!

    来自 MPlayer 的消息。

  • 播放-lavdopts skiploopfilter=all使视频正常播放。CPU 徘徊在 93% 左右,AV 同步徘徊在 0.263s 左右


所以我的问题是 - 你认为 mplayer 在我的硬件上播放视频时遇到这么多麻烦是合理的,还是你认为这里存在软件问题?也许是 nvidia 驱动程序?

任何想法,将不胜感激!

小智 9

我不确定您是否仍然需要帮助,但我会为未来的用户发帖...我相信您遇到的问题是 mplayer 的默认配置仅使用一个处理器核心...尝试通过“-lavdopts 线程=n”选项(其中“n”是要使用的线程数)。

mplayer -lavdopts threads=4 00006.MTS
Run Code Online (Sandbox Code Playgroud)