I've just figured out that I'm unable to use aalib to render video output in mplayer. For those who do not know, aalib is the library for rendering videos in ASCII.

Before upgrading to 14.04 it worked perfectly (I don't remember setting-up something, it had been working "out of the box").

Here is what it does:

$ 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)

It does the same with any other video as well:

... Error opening/initializing the selected video_out (-vo) device. ...

and

... Video: no video ...

Here is a little bit of mplayer debug:

$ 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

Some system info:

$ 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/"

How do I make it work again, please? :(

May it be because I abandoned restricted and multiverse? I doubt it, just feeding info...

Thanks!! McZ

up vote 2 down vote accepted

OK, it seems the problem is in the mplayer2 package which does not contain aa (libaa1) support.

I've tried mplayer (the old one, not mplayer2) package and it works!

Here is what I've just done to make it work:

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

This way I've achieved to have mplayer 1.x, in particular 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

(which is the same version as @Sneetsher reported - thank you!)

Now it's working almost the same as before again. I suppose the problem occurred after upgrading to 14.04 somehow, maybe because, if I am not wrong, I had not mplayer installed explicitly, but rather just "shipped-in" as dependency of smplayer (?) - this is my hypothesis so far.

"almost the same as before" means it runs, but it's strangely blinking all the time. Before having all this trouble the picture was bright and clean. However, I've came to this workaround: http://andrusiv.com/blog/2010/01/08/mplayer-is-superman-of-mediaplayers.html

You have to use the -really-quiet parameter.

You might also want to adjust the pixel aspect ratio to make use of the whole screen with -monitorpixelaspect X parameter where X is a number to play with - try 0.7 or similar.

So my final typical usage of mplayer to render video in ASCII from X is as follows:

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

BTW, to list the fonts available in your system, you might want to run xlsfonts

If you would like to play videos like this in text mode only (single user mode with console only, no X), you would probably appreciate set some smaller console font first, something like this might help:

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

Typical usage of mplayer to render video in ASCII from text-only console (no X) is as follows:

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; }

You may combine it into one script:

$ 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;

I've created a launchpad bug regarding to mplayer2 not supporting aa here: https://bugs.launchpad.net/ubuntu/+source/mplayer2/+bug/1338000

Happy ASCIIing! ;)
McZ

Try installing its lib:

sudo apt-get install libaa1

Well, it seems that you don't have same version available from Ubuntu repository, Is it from a PPA or from upstream project site?

This is a note from its man:

NOTE: See -vo help for a list of compiled-in video output drivers.

The version you installed is not built with libaa support, Here is mine from Ubuntu 14.04 repository:

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

Version I have: MPlayer 1.1-4.8 (C) 2000-2012 MPlayer Team
Version you have: MPlayer2 2.0-701-gd4c5b7f-2ubuntu2 (C) 2000-2012 MPlayer Team

  • 1
    I forgot to say that I have it installed, I had checked that too before posting here. Have a look: $ sudo apt-get install libaa1 [sudo] password for crysman: Reading package lists... Done Building dependency tree Reading state information... Done libaa1 is already the newest version. ... Is it possible to somehow reconfigure mplayer to force it include libaa? – crysman Jul 4 '14 at 20:02
  • @crysman, I've updated the answer. – user.dz Jul 4 '14 at 20:49

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.