# Adaptaciones

## Linux

La principal plataforma de desarrollo es Linux en x86, sin embargo MPlayer funciona en muchas otras adaptaciones de Linux. Los paquetes binarios de MPlayer están disponibles desde muchos sitios. Sin embargo ninguno de estos paquetes tiene soporte. Reporte los problemas a sus autores, no a nosotros.

### Empaquetado para Debian

Para construir un paquete de Debian, ejecute la siguiente órden en el directorio de fuentes de MPlayer:

    fakeroot debian/rules binary

Y después puede instalar el paquete `.deb` como root de la manera habitual:

    dpkg -i ../mplayer_version.deb

Christian Marillat ha hecho los paquetes no oficiales de MPlayer para Debian, de MEncoder y de tipografías para que en un momento, pueda (apt-)obtenerlos desde su página personal.

### Empaquetado RPM

Dominik Mierzejewski ha creado y mantiene los paquetes oficiales RPM para Red Hat de MPlayer. Están disponibles en su página personal.

Los paquetes RPM para Mandrake están disponibles en el P.L.F.. SuSE los usa para incluir una versión mutilada de MPlayer en su distribución. Esta versión será eliminada en sus próximas liberaciones. Puede obtener RPMs que funcionan desde links2linux.de.

### ARM Linux

MPlayer funciona en PDAs con Linux en CPU ARM p.e. Sharp Zaurus, Compaq Ipaq. La manera más facil de obtener MPlayer es bajarlo desde uno de los sitios de paquetes de OpenZaurus. Si desea compilarlo usted mismo, debe mirar en mplayer y el directorio libavcodec en el raiz de la distribución de OpenZaurus. Ahí siempre tienen los Makefile y parches más recientes usados para construir un MPlayer desde CVS con `libavcodec`. Si necesita un entorno GUI, puede usar xmms-embebido.

## *BSD

MPlayer funciona en FreeBSD, OpenBSD, NetBSD, BSD/OS y Darwin. Hay versiones ports/pkgsrc/fink/etc de MPlayer disponibles que son probablemente más faciles de usar que nuestras fuentes en crudo.

Para construir MPlayer necesita GNU make (gmake - el make nativo de BSD no funciona) y una versión reciente de binutils.

Si MPlayer se queja de que no encuentra `/dev/cdrom` o `/dev/dvd`, cree un enlace simbólico apropiado:

    ln -s /dev/(su_dispositivo_de_cdrom) /dev/cdrom

Para usar DLLs Win32 con MPlayer necesita re-compilar el kernel con la "`opción USER_LDT`" (a no ser que ejecute FreeBSD-CURRENT, donde es así por defecto).

### FreeBSD

Si su CPU tiene SSE, recompile el kernel con "`la opción CPU_ENABLE_SSE`" (FreeBSD-STABLE o parches del kernel son requeridos).

### OpenBSD

Debido a limitaciones en diferentes versiones de gas (relocalización frente a MMX), puede ser necesario compilar en dos pasos: Primero asegúrate de que el no-nativo está el primero en tu `$PATH` y haz `gmake -k`, después asegúrate de que la versión nativa es la que se usa y haz `gmake`.

### Darwin

Vea la sección Mac OS.

## Sun Solaris

MPlayer debería funcionar en Solaris 2.6 o posterior.

En UltraSPARCs, MPlayer tiene la ventaja de las extensiones VIS (equivalentes a MMX), actualmente solo en `libmpeg2`, `libvo` y `libavcodec`, pero no en `mp3lib`. Puede ver un archivo VOB en una CPU a 400MHz. Necesita tener `mLib` instalado.

Para contruir el paquete necesita GNU make (`gmake`, `/opt/sfw/gmake`), el make nativo de Solaris no funciona. Errores típicos que puede obtener construyendo con el make de Solaris en lugar de con el make de GNU:

       % /usr/ccs/bin/make
       make: Error fatal en lector: Makefile, línea 25: Fin de línea visto inesperado

En Solaris SPARC, necesita el Compilador GNU C/C++; no importa si el compilador GNU C/C++ está configurado con o sin el ensamblador GNU.

En Solaris x86, necesita el ensamblador GNU y el compilador GNU C/C++, ¡configurado para usar el ensamblador GNU! El código de MPlayer en la plataforma x86 hace dificil el uso de las instrucciones de MMX, SSE y 3DNOW! que no puede ser compilado usando el ensamblador de Sun `/usr/ccs/bin/as`.

El script `configure` intenta encontrarlo, qué programa ensamblador es usado por tu órden "gcc" (en caso de que la autodetección falle, use la opción `--as=`/donde/este/instalado/gnu-as`` para decirle al script `configure` donde puede encontrar el "as" de GNU en su sistema).

Mensaje de error de `configure` en un sistema Solaris x86 usando GCC sin el ensamblador GNU:

       % configure
       ...
       Comprobando ensamblador (/usr/ccs/bin/as) ... , fallo
       Por favor, actualice(baje versión) de binutils a 2.10.1...

(Solución: Instalar y usar un gcc configurado con `--with-as=gas`)

Error típico que se obtiene cuando se construye con un compilador GNU C que no usa GNU as:

       % gmake
       ...
       gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
            -fomit-frame-pointer  -I/usr/local/include   -o mplayer.o mplayer.c
       Assembler: mplayer.c
       "(stdin)", line 3567 : Illegal mnemonic
       "(stdin)", line 3567 : Error de sintaxis
       ... más errores "Illegal mnemonic" y "Error de sintaxis" ...

Debido a fallos en Solaris 8, puede que no se puedan reproducir discos DVD mayores de 4 GB:

- El controlador sd(7D) en Solaris 8 x86 tiene un error cuando accede a un bloque de disco >4GB en un dispositivo usando un tamaño de bloque lógico != DEV_BSIZE (p.e. CD-ROM y medios DVD). Debido a un error de desbordamiento de entero de 32Bit, un módulo de 4GB de dirección de disco es accedido. (). Este problema no existe en la versión SPARC de Solaris 8.

- Un error similar está presente en el código de sistema de archivos hsfs(7FS) (aka ISO9660), hsfs no puede soportar particiones/discos mayores de 4GB, todos los datos se acceden módulo 4GB (). El problema hsfs puede ser corregido instalando el parche 109764-04 (sparc) / 109765-04 (x86).

En Solaris con una CPU UltraSPARC, puede obtener alguna velocidad extra usando las instrucciones VIS de la CPU para algunas operaciones que consumen un tiempo. La acelación VIS puede ser usada en MPlayer llamando a funciones en la mediaLib de Sun.

Las operaciones aceleradas de mediaLib son usadas por el decodificador mpeg2 de video y por la conversión en espacio de color en los controladoers de salida de video.

## HP UX

Martin Gansser mantiene un COMO de mucho valor acerca de cómo compilar MPlayer en HP-UX. ¡Tiene incluso una sección de FAQ!

De todos modos, nuestro código crudo de MPlayer se usa para compilar en HP-UX sin problemas.

## QNX

Funciona. Necesita descargar SDL para QNX, e instalarlo. Después ejecute MPlayer con las opciones `-vo sdl:photon` y `-ao sdl:nto` y debe ir rápido.

La salida `-vo x11` puede ser más lenta que en Linux, porque QNX solo tiene emulación de X que es MUY lenta. Use SDL.

## Windows

Sí, MPlayer funciona en Windows bajo Cygwin y MinGW. No tiene aún una interfaz gráfica (GUI), pero la versión en línea de órdenes es casi completamente funcional. Los parches son siempre bienvenidos. Debe consultar también la lista de correo mplayer-cygwin para obtener ayuda y la información de última hora.

Se obtienen mejores resultados con el controlador de salida DirectX nativo (`-vo directx`) y el controlador nativo de salida de audio de Windows (`-ao win32`). Alternativas son OpenGL y SDL, pero el rendimiento de OpenGL varía en gran medida entre sistemas y se sabe que SDL distorsiona el sonido y la imagen o bloquea algunos sistemas. Si la imagen se ve distorsionada, pruebe a desactivar la aceleración por hardware con `-vo directx:noaccel`. Descargue los archivos de cabecera de DirectX 7 para compilar el controlador de salida de video de DirectX.

PUede usar codecs Win32 y Real Win32 (los Real de Linux no) si lo desea. Ponga los codecs en algún lugar de su ruta/path o pase la opción `--codecsdir=`c:/ruta/a/sus/codecs`` (alternativamente `--codecsdir=`/ruta/a/sus/codecs`` solo en Cygwin) a `configure`. Tenemos informes de que las DLLs de Real deben tener permisos de escritura para el usuario que usa MPlayer, pero solo en algunos sistemas. Pruebe ha dar permisos de escritura si tiene problemas. Las DLLs de QuickTime también funcionan, pero debe colocarlas en su directorio de sistema de Windows (``C:\Windows\system\`` o similar).

La consola de Cygwin/MinGW es extrañamente lenta. Redirigir la salida o usar la opción `-quiet` se ha informado que mejora el rendimiento en algunos sistemas. El renderizado directo (`-dr`) también puede ayudar. Puede prevenir el parpadeo de OSD a través de doble buffer con la opción `-double`. Si la reproducción va a saltos, pruebe `-autosync 100`. Si alguna de estas opciones le ayuda, puede que desee ponerlas en su archivo de configuración.

Sascha Sommer libera binarios oficiales para Windows de vez en cuando, Joey Parrish hace paquetes completos para Windows no oficiales con instalador. Búsquelos en la sección de Windows de nuestra página de proyectos.

### Cygwin

Versiones de Cygwin anteriores a la 1.5.0 no incluyen `inttypes.h`. Ponga esto inttypes.h en `/usr/include/` para hacer que MPlayer compile.

Los archivos de cabecera de DirectX han de ser extraidos a `/usr/include/` o a `/usr/local/include/`.

Las instrucciones y los archivos para hacer que SDL funcione bajo Cygwin pueden encontrarse en el sitio de libsdl.

Puede reproducir VCDs reproduciendo los archivos `.DAT` o `.MPG` que Windows muestra en los VCDs. Esto funciona de la siguiente manera (ajuste para la letra de unidad de su CD-ROM):

    mplayer d:/mpegav/avseq01.dat

    mplayer /cygdrive/d/MPEG2/AVSEQ01.MPG

Para DVDs también funciona, ajuste `-dvd-device` para la letra de unidad de su DVD-ROM:

    mplayer dvd://<título> -dvd-device '\\.\d:'

### MinGW

Instalar una versión de MinGW que pueda usarse para compilar MPlayer es bastante artificioso, pero ya funciona fuera de la caja. Solo instale MinGW 3.1.0 o posterior y MSYS 1.0.9 o posterior y diga a MSYS en la postinstalación que MinGW está instalado.

Si usa una versión de MinGW anterior a la 3.1.0, necesita reemplazar `/mingw/include/sys/types.h` con esta `types.h`.

Extraiga los archivos de cabecera de DirectX a `/mingw/include/`.

VCDs y DVDs funcionan casi como en Cygwin (ajustando la letra de la unidad de su CD-ROM/DVD-ROM):

    mplayer d:/mpegav/avseq01.dat

    mplayer /d/MPEG2/AVSEQ01.MPG

    mplayer dvd://i<título> -dvd-device /d/

## Mac OS

Solo Mac OS X 10.2 y superiores están soportados por el código en crudo de MPlayer. ¡Siéntase libre para añadir soporte para versiones más antiguas de Mac OS y envíe parches!

El GCC 3.x modificado por Apple es el preferido para compilar MPlayer especialmente usando `libavcodec` ya que el GCC 2.95.x modificado por Apple no soporta bien la sintaxis C99.

Solo puede obtener un GUI Aqua para MPlayer junto con los binarios compilados de MPlayer para Mac OS X desde el proyecto MPlayerOSX.