Compilar un Mplayer optimizado para el PS3

Revisando en los foros de ps2dev.org (la misma gente que hacia software maravilloso para el PS2) encontré que han programado un driver de ví­deo para el PS3 en linux usando el procesador CELL BE y una librerí­a llamada spu-medialib para acceder al driver. Gracias a esto, se ha creado un parche que modifica el Mplayer para que corra mejor en el ps3 y permita obtener mejor reproducción de í­deo (recuerden que Sony bloquea el acceso a la tarjeta de video desde linux), con este mplayer se pueden obtener resoluciones de hasta 1080p, se puede ejecutar en consola sin entorno gráfico cargado (así­ obtienes casi toda la RAM y CPU para la reproducción de la pelí­cula), reproducción a pantalla completa, entre otros.

A continuación les muestro los pasos para Yellow Dog 6, que es la distro que uso y que no se instala siguiendo los pasos oficiales mostrados en http://forums.ps2dev.org/viewtopic.php?t=9187:

  • Tienes que tener el PS3 con Yellow Dog y configurado con internet (inalambrico o ethernet), ademas tener instalado los compiladores GCC, el CELL SDK (librerí­as libspe, todos los paquetes para los SPE y PPU).
  • Iniciar como root y crear los siguientes enlaces simbólicos para que la librerí­a spu-medialib consiga las dependencias y el compilador:
    #ln /usr/bin/spu-gcc /usr/bin/spu-elf-gcc
    #ln /usr/bin/ppu-embedspu /usr/bin/embedspu

    /li>

  • Crear el archivo /usr/lib/pkgconfig/libspe2.pc con el siguiente contenido:
    prefix=/usr
    exec_prefix=/usr
    libdir=/usr/lib
    includedir=/usr/include
    Name: libspe2
    Description: A wrapper library to adapt the JSRE SPU usage model to SPUFS
    Version: 2.2.80
    Requires:
    Conflicts:
    Libs: -L${libdir} -lspe2 -lrt -lpthread
    Cflags: -I${includedir}
  • Instalar los rpm autoconf y m4 de fedora 8. (los de yellow dog no sirven)
  • Instalar libps3b mediante la guí­a:
    http://forums.ps2dev.org/viewtopic.php?p=59150
  • Instalar spu-medialib usando el tutorial:
    http://wiki.ps2dev.org/ps3:spu-medialib:install
  • A este paso ya tenemos instalado el driver y la librerí­a del PS3, ahora descargaremos mplayer con subversion (recuerda moverte a un directorio para trabajar en el):
    #svn co svn://svn.mplayerhq.hu/mplayer/trunk mplayer
  • Descargar el parche:
    #svn co svn://svn.ps2dev.org/ps3ware/trunk/mplayer-vo mplayer-vo
  • Aplicar el parche:
    #cd mplayer
    #patch -p0 < ../mplayer-vo/latest.patch
  • Si el parche falla (porque no se ha actualizado el parche con respecto al svn de mplayer) habrá que editarlo manualmente, si tienes conocimientos de parches puedes leerlos y ver que le hace falta, si te falla en el archivo libvo/video_out.c como a mí­, entonces abre el archivo libvo/video_out.c dentro de las fuentes de mplayer y busca las lí­neas que se parezcan a:
    extern vo_functions_t video_out_dxr2;
    extern vo_functions_t video_out_dxr3;
    extern vo_functions_t video_out_ivtv;
  • Y cambiarlo a:
    extern vo_functions_t video_out_dxr2;
    #ifdef HAVE_PS3
    extern vo_functions_t video_out_ps3;
    #endif
    extern vo_functions_t video_out_dxr3;
    extern vo_functions_t video_out_ivtv;
  • Luego de modificar las fuentes deberias poder compilarlo normal con un simple:
    # ./configure --prefix /usr
    #make && make install

Nota: “Debido a que no creamos un paquete (puede usarse checkinstall o rpmbuild para hacerlo), debes guardar la carpeta con las fuentes de mplayer para hacer un make uninstall en el directorio si quieres desinstalarlo”.

Luego puedes ejecutar mplayer de manera normal para la reproducción de ví­deos, si quieres usar el driver del ps3 entonces ejecútalo con:

$ mplayer -vo ps3 -fs video.extension

Donde -vo=video out es la salida de video y -fs=fullscreen es pantalla completa. Espero que les haya servido esta guí­a y disfruten de sus videos en el ps3 con mplayer.

7 comentarios

  1. Hello, I have followed your howto but for me using mplayer -vo ps3 /some/file.avi results in green garbage. Can you help me? Thanks!
    ~~~
    google translation
    ~~~
    Hola, he seguido su guí­a, pero para mí­ usando mplayer-vo ps3 / algunos / file.avi resultados en la basura verde. ¿Me pueden ayudar? Gracias!

  2. I am using YDL 6, after all the steps (except make install for mplayer), no errors apart from the patch failing in:
    #ifdef HAVE_PS3
    extern vo_functions_t video_out_ps3;
    #endif
    it seems to be working fine (speedwise) but there are vertical green lines while playing some movies.
    Which release of mplayer did you use? I couldn’t compile the latest svn so I used MPlayer v1.0rc2. Thanks!

  3. Olá amigo, tenho o YDL mas ní£o consigo compilar o Spu-medialib pois ele pede uma libraria que tambem ní£o consegui compilar, por acaso vc teria o rpm dele para me fornecer ?

Deja un comentario