首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >uvesafb帧缓冲区下的mplayer会在播放视频前显示黑屏

uvesafb帧缓冲区下的mplayer会在播放视频前显示黑屏
EN

Stack Overflow用户
提问于 2012-10-17 14:05:52
回答 1查看 1.8K关注 0票数 0

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

grub引导设置为:

代码语言:javascript
复制
/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播放视频时,屏幕会变黑一段时间,似乎是在播放视频之前重置或重新初始化屏幕。命令是这样的:

代码语言:javascript
复制
mplayer -vo fbdev /opt/1.avi

输出结果是

代码语言:javascript
复制
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引导设置:

代码语言:javascript
复制
/boot/vmlinuz-2.6.32 root=UUID=7ece6c10-7255-4f21-8cd8-edb096233969 ro quiet console=tty2 vga=0x317

未出现问题。我比较了两个mplayer的输出,但输出是相同的。有什么办法解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-17 15:36:20

在第一种情况下(argument=nomodeset video= uvesafb : Mode _option=1920x1080-16),您禁用了KMS(内核模式设置),而使用uvesafb。如果KMS被禁用,当你在虚拟终端和X11/framebuffer之间切换时,屏幕会变黑一段时间。在第二种情况下,您只需设置分辨率,KMS即可工作。因此,您可以在终端和帧缓冲区之间切换,而不会出现任何问题。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12928113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档