mplayer aalib faltando (“-vo aa” não funcionando)

4

Acabei de descobrir que não consigo usar o aalib para renderizar a saída de vídeo no mplayer. Para aqueles que não sabem, o aalib é a biblioteca para renderizar vídeos em ASCII .

Antes de atualizar para o 14.04 funcionou perfeitamente (não me lembro de configurar algo, ele estava funcionando "fora da caixa").

Aqui está o que faz:

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

Ele faz o mesmo com qualquer outro vídeo:

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

e

... Video: no video ...

Aqui está um pouco de depuração do 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

Algumas informações do sistema:

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

Como faço isso funcionar novamente, por favor? : (

Pode ser porque eu abandonei restrito e multiverso ? Eu duvido, apenas alimentando informações ...

Obrigado !! McZ

    
por crysman 04.07.2014 / 01:00

2 respostas

2

OK, parece que o problema está no pacote mplayer2 que não contém o suporte aa ( libaa1 ).

Já experimentei o mplayer (o pacote antigo, não o mplayer2 ) e funciona!

Aqui está o que acabei de fazer para que funcione :

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

Desta forma eu consegui ter o mplayer 1.x, em 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

(que é a mesma versão que @Sneetsher reportou - obrigado!)

Agora está funcionando quase como antes. Eu suponho que o problema ocorreu após a atualização para 14.04 de alguma forma, talvez porque, se eu não estiver errado, eu não tinha mplayer instalado explicitamente, mas apenas "enviado" como dependência de smplayer (?) - este é o meu hipótese até agora.

" quase o mesmo que antes " significa que ele é executado, mas está piscando estranhamente o tempo todo. Antes de ter todos esses problemas, a imagem estava clara e limpa. No entanto, cheguei a essa solução alternativa: link

Você precisa usar o parâmetro -really-quiet .

Você também pode querer ajustar a taxa de proporção de pixel para fazer uso de toda a tela com o parâmetro -monitorpixelaspect X , onde X é um número para reproduzir - tente 0,7 ou algo semelhante.

Assim, meu uso final típico do mplayer para renderizar vídeo em ASCII de X é o seguinte:

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

BTW, para listar as fontes disponíveis em seu sistema, talvez você queira executar xlsfonts

Se você gostaria de reproduzir vídeos como este apenas no modo de texto (modo de usuário único com apenas console, sem X), provavelmente você apreciaria definir algumas fontes de console menores primeiro, algo assim poderia ajudar:

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

O uso típico do mplayer para renderizar vídeo em ASCII a partir do console somente de texto (no X) é o seguinte:

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

Você pode combiná-lo em um 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;

Eu criei um bug no launchpad em relação ao mplayer2 não suportando aa aqui: link

Feliz ASCIIing! ;)) McZ

    
por crysman 05.07.2014 / 04:51
1

Tente instalar o lib:

sudo apt-get install libaa1

Bem, parece que você não tem a mesma versão disponível no repositório do Ubuntu, é de um PPA ou do site do projeto upstream?

Esta é uma nota do seu man :

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

A versão que você instalou não é construída com suporte a libaa, Aqui está o meu do repositório 14.04 do Ubuntu:

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

Versão que tenho: MPlayer 1.1-4.8 (C) 2000-2012 MPlayer Team
Versão que você tem: MPlayer2 2.0-701-gd4c5b7f-2ubuntu2 (C) 2000-2012 MPlayer Team

    
por user.dz 04.07.2014 / 10:20