0

我正在尝试使用mplayer在帧缓冲区下播放视频,并且我正在uvesafb用作帧缓冲区驱动程序。板子是威盛 EPIA-N800

grub 引导设置为:

/boot/vmlinuz-2.6.32 root=UUID=7ece6c10-7255-4f21-8cd8-edb096233969 ro quiet console=tty2 nomodeset video=uvesafb:mode_option=1920x1080-16,mtrr=3,scroll=ywrap

但是当我用 播放视频时mplayer,屏幕会变黑一段时间,好像在播放视频之前重置或重新初始化屏幕。命令是这样的:

mplayer -vo fbdev /opt/1.avi

输出是

root@ytmp:/opt/ytmp# mplayer -vo fbdev /opt/1.avi   
MPlayer 1.0rc3-4.4.4 (C) 2000-2009 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing /opt/1.avi.
AVI file format detected.
[aviheader] Video stream found, -vid 0
[aviheader] Audio stream found, -aid 1
VIDEO:  []  720x576  24bpp  25.000 fps  5459.1 kbps (666.4 kbyte/s)
Clip info:
 Software: MEncoder 1.0rc3-4.4.4
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 720 x 576 (preferred colorspace: Mpeg PES)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
VDecoder init failed :(
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Unsupported PixelFormat -1
Selected video codec: [ffmpeg2] vfm: ffmpeg (FFmpeg MPEG-2)
==========================================================================
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 48000 Hz, 2 ch, s16le, 224.0 kbit/14.58% (ratio: 28000->192000)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
VDec: vo config request - 720 x 576 (preferred colorspace: Planar YV12)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
[swscaler @ 0xb5f167a0]using unscaled yuv420p -> rgb565 special converter
VO: [fbdev] 720x576 => 768x576 BGR 16-bit 
A:  75.0 V:  75.0 A-V:  0.000 ct:  0.024 1875/1875 19%  1%  0.7% 0 0 

MPlayer interrupted by signal 2 in module: sleep_timer
A:  75.0 V:  75.0 A-V:  0.000 ct:  0.024 1876/1876 19%  1%  0.7% 0 0 
Exiting... (Quit)

如果我像这样更改 grub 引导设置:

/boot/vmlinuz-2.6.32 root=UUID=7ece6c10-7255-4f21-8cd8-edb096233969 ro quiet console=tty2 vga=0x317

问题没有出现。我确实比较了两个 mplayer 输出,但输出是相同的。有没有办法解决这个问题?

4

1 回答 1

5

In the first case (argument=nomodeset video=uvesafb:mode_option=1920x1080-16), you disabled KMS(Kernel Mode Settings), and use uvesafb instead. If KMS is disabled, when you switch between virtual terminal and X11/framebuffer, the screen will turn black for a while. In the second case you just set the resolution and KMS works. So you can switch between terminal and framebuffer without any problems.

于 2012-10-17T07:36:19.957 回答