mplayer aalib 缺失(“-vo aa”不起作用)

mplayer aalib 缺失(“-vo aa”不起作用)

我刚刚发现我无法使用 aalib 在 mplayer 中渲染视频输出。对于那些不知道的人来说,aalib 是以 ASCII 格式渲染视频

在升级到 14.04 之前,它运行完美(我不记得设置过任何东西,它已经“开箱即用”了)。

它的作用如下:

$ mplayer -vo aa *
MPlayer2 2.0-701-gd4c5b7f-2ubuntu2 (C) 2000-2012 MPlayer Team
Cannot open file '/home/crysman/.mplayer/input.conf': No such file or directory
Failed to open /home/crysman/.mplayer/input.conf.
Cannot open file '/etc/mplayer/input.conf': No such file or directory
Failed to open /etc/mplayer/input.conf.

Playing TPB.AFK.2013.480p.h264-SimonKlose.mp4.
Detected file format: QuickTime / MOV (libavformat)
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (mp3), -aid 0, -alang eng
Clip info:
 major_brand: mp42
 minor_version: 0
 compatible_brands: mp42isomavc1
 creation_time: 2013-02-08 13:49:43
 encoder: HandBrake 0.9.8 2012071700
Load subtitles in .
SUB: Added subtitle file (1): ./TPB.AFK.2013.480p.h264-SimonKlose.srt
Error opening/initializing the selected video_out (-vo) device.
Selected audio codec: MPEG 1.0/2.0/2.5 layers I, II, III [mpg123]
AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16000->192000)
AO: [pulse] 48000Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A:   8.1 (08.0) of 4927.1 ( 1:22:07.1)  0.4% 

Exiting... (Quit)

它对其他视频也有同样的效果:

... 打开/初始化所选的 video_out (-vo) 设备时出错。...

... 视频:没有视频...

以下是一些 mplayer 调试:

$ mplayer -vo help
MPlayer2 2.0-701-gd4c5b7f-2ubuntu2 (C) 2000-2012 MPlayer Team
Available video output drivers:
    vdpau   VDPAU with X11
    xv  X11/Xv
    gl3 OpenGL 3.x
    gl  OpenGL
    x11 X11 ( XImage/Shm )
    sdl SDL YUV/RGB/BGR renderer (SDL v1.1.7+ only!)
    caca    libcaca
    v4l2    V4L2 MPEG Video Decoder Output
    null    Null video output
    directfb    Direct Framebuffer Device
    yuv4mpeg    yuv4mpeg output for mjpegtools
    png PNG file
    jpeg    JPEG file
    gif89a  animated GIF output
    tga Targa output
    pnm PPM/PGM/PGMYUV file
    md5sum  md5sum of each frame
    gl_nosw OpenGL no software rendering

一些系统信息:

$ uname -a && lsb_release -a && cat /etc/os-release 
Linux crysman-U36SD 3.13.0-29-generic #53-Ubuntu SMP Wed Jun 4 21:00:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04 LTS
Release:    14.04
Codename:   trusty
NAME="Ubuntu"
VERSION="14.04, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

请问我该如何让它再次工作?:(

或许是因为我放弃了受限制的多元宇宙?我对此表示怀疑,只是提供信息……

谢谢!!McZ

答案1

好的,看起来问题出在mplayer2不包含aalibaa1)支持的包中。

我已经尝试过mplayer(旧的,不是mplayer2)包并且它有效!

这是我刚刚做的让它发挥作用

$ sudo apt-get purge smplayer
$ sudo apt-get purge mplayer2 
$ sudo apt-get autoremove 
$ sudo apt-get install mplayer smplayer

这样我就获得了 mplayer 1.x,特别是 1.1-4.8:

$ mplayer --version
Unknown option on the command line: --version
Error parsing option on the command line: --version
MPlayer 1.1-4.8 (C) 2000-2012 MPlayer Team

(与@Sneetsher 报告的版本相同 - 谢谢!)

现在它几乎又和以前一样工作了。我猜问题出现在升级到 14.04 之后,也许是因为,如果我没记错的话,我没有mplayer明确安装,而是作为依赖项“发货”的smplayer(?)——这是我目前的假设。

和以前差不多“表示它可以运行,但奇怪的是它一直在闪烁。在遇到所有这些麻烦之前,图片是明亮干净的。但是,我找到了这个解决方法: http://andrusiv.com/blog/2010/01/08/mplayer-is-superman-of-mediaplayers.html

您必须使用该-really-quiet参数。

您可能还想调整像素纵横比以利用整个屏幕,-monitorpixelaspect X其中X是可以使用的数字 - 尝试0.7或类似的数字。

所以我最后典型的用法是使用 mplayer从 X 以 ASCII 格式渲染视频如下:

xterm -geometry 269x102 -fn 5x7 -e "mplayer -noautosub -really-quiet -monitorpixelaspect 0.9 -vo aa:driver=curses:contrast=35 *"

顺便说一句,要列出系统中可用的字体,你可能需要运行xlsfonts

如果您只想在文本模式下播放这样的视频(仅有控制台的单用户模式,没有X),您可能会希望先设置一些较小的控制台字体,如下所示可能会有所帮助:

setfont /usr/share/consolefonts/Uni1-VGA8.psf.gz

mplayer 的典型用法从纯文本控制台以 ASCII 格式渲染视频(无X)如下:

defaultfont="/usr/share/consolefonts/Uni2-Fixed16.psf.gz"
font="/usr/share/consolefonts/Uni1-VGA8.psf.gz"
test -e "$font" && setfont "$font" || { echo "ERROR: font \"$font\" could not be set :(" >&2; exit 1; }
mplayer -noautosub -really-quiet -monitorpixelaspect 1 -vo aa:driver=curses:contrast=35 *
test -e "$defaultfont" && setfont "$defaultfont" || { echo "ERROR: supposed default font \"$defaultfont\" could not be set, sorry :(" >&2; exit 1; }

您可以将其合并为一个脚本:

$ cat ~/bin/asciiplay.sh
#!/bin/bash
#play all readable files in current directory with mplayer and render them in ASCII
#crysman (copyleft)2014

#list fonts in X:
#xlsfonts

#list fonts in text-only (TTY) mode:
#ll /usr/share/consolefonts

# we detect text-only mode
textonly=`tty | grep tty | wc -l`

if [ $textonly -ge 1 ]; then
  #Xubuntu 14.04 TTY console default font:
  defaultfont="/usr/share/consolefonts/Uni2-Fixed16.psf.gz"
  #let's set a more appropiate font:
  font="/usr/share/consolefonts/Uni1-VGA8.psf.gz"
  test -e "$font" && setfont "$font" || { echo "ERROR: font \"$font\" could not be set :(" >&2; exit 1; }
  #play it all
  mplayer -noautosub -really-quiet -monitorpixelaspect 1 -vo aa:driver=curses:contrast=35 *
  #revert to default console font:
  test -e "$defaultfont" && setfont "$defaultfont" || { echo "ERROR: supposed default font \"$defaultfont\" could not be set, sorry :(" >&2; exit 1; }
else
  #likely usable fonts:
  #font=-misc-fixed-medium-r-normal--6-60-75-75-c-40-iso8859-1
  #font=-misc-fixed-medium-r-normal--7-50-100-100-c-50-iso8859-1
  font=5x7
  #font=micro
  #geometry optimized for font 5x7 on 1366x768 resolution:
  xterm -geometry 269x102 -fn $font -e "mplayer -noautosub -really-quiet -monitorpixelaspect 0.9 -vo aa:driver=curses:contrast=35 *"
fi;

我在这里创建了一个与 mplayer2 不支持 aa 有关的启动板错误: https://bugs.launchpad.net/ubuntu/+source/mplayer2/+bug/1338000

快乐 ASCII!;)
McZ

答案2

尝试安装它的库:

sudo apt-get install libaa1

嗯,看来你没有从 Ubuntu 存储库获得相同的版本,它是来自 PPA 还是来自上游项目站点?

这是来自它的一条注释man

注意:请参阅 -vo help 以获取编译后的视频输出驱动程序列表。

您安装的版本不支持 libaa,这是我的 Ubuntu 14.04 存储库:

mplayer -vo help

MPlayer 1.1-4.8 (C) 2000-2012 MPlayer Team
Available video output drivers:
    vdpau   VDPAU with X11
    xv  X11/Xv
    gl_nosw OpenGL no software rendering
    x11 X11 ( XImage/Shm )
    xover   General X11 driver for overlay capable video output drivers
    sdl SDL YUV/RGB/BGR renderer (SDL v1.1.7+ only!)
    gl  OpenGL
    gl2 X11 (OpenGL) - multiple textures version
    dga DGA ( Direct Graphic Access V2.0 )
    fbdev   Framebuffer Device
    fbdev2  Framebuffer Device
    svga    SVGAlib
    matrixview  MatrixView (OpenGL)
    aa  AAlib
    caca    libcaca
    v4l2    V4L2 MPEG Video Decoder Output
    directfb    Direct Framebuffer Device
    dfbmga  DirectFB / Matrox G200/G400/G450/G550
    xvidix  X11 (VIDIX)
    cvidix  console VIDIX
    null    Null video output
    xvmc    XVideo Motion Compensation
    mpegpes MPEG-PES to DVB card
    yuv4mpeg    yuv4mpeg output for mjpegtools
    png PNG file
    jpeg    JPEG file
    gif89a  animated GIF output
    tga Targa output
    pnm PPM/PGM/PGMYUV file
    md5sum  md5sum of each frame

我拥有的版本: MPlayer 1.1-4.8 (C) 2000-2012 MPlayer Team
您拥有的版本: MPlayer2 2.0-701-gd4c5b7f-2ubuntu2 (C) 2000-2012 MPlayer Team

相关内容