<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>MPlayer - El reproductor de Películas para LINUX</title><link rel="stylesheet" href="default.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div lang="es" class="book" title="MPlayer - El reproductor de Películas para LINUX"><div class="titlepage"><div><div><h1 class="title"><a name="index"></a><span class="application">MPlayer</span> - El reproductor de Películas para LINUX</h1></div><div><h2 class="subtitle"><a class="ulink" href="http://www.mplayerhq.hu" target="_top">http://www.mplayerhq.hu</a></h2></div><div><p class="copyright">Copyright © 2000-2010 MPlayer team</p></div><div><div class="legalnotice" title="Licencia"><a name="id2757331"></a><p class="legalnotice-title"><b>Licencia</b></p><p>Este programa es software libre; usted puede distribuirlo y/o modificarlo bajo los términos de la Licencia Pública General GNU, tal y como está publicada por la Free Software Foundation; ya sea la versión 2 de la Licencia, o (a su elección) cualquier versión posterior.</p><p>Este programa se distribuye con la intención de ser útil, pero SIN NINGUNA GARANTÍA; incluso sin la garantía implícita de USABILIDAD O UTILIDAD PARA UN FIN PARTICULAR. Vea la Licencia Pública General GNU para más detalles.</p><p>Usted debería haber recibido una copia de la Licencia Pública General GNU junto a este programa; si no es así, escriba a la Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.</p></div></div></div><hr></div><div class="toc"><dl><dt><span class="preface"><a href="#howtoread">Como leer esta documentación</a></span></dt><dt><span class="chapter"><a href="#intro">1. Introducción</a></span></dt><dt><span class="chapter"><a href="#install">2. Instalación</a></span></dt><dd><dl><dt><span class="sect1"><a href="#softreq">2.1. Requerimientos de Software</a></span></dt><dt><span class="sect1"><a href="#caracteristicas">2.2. Características</a></span></dt><dt><span class="sect1"><a href="#gui">2.3. ¿Qué hay acerca de la GUI?</a></span></dt><dt><span class="sect1"><a href="#subosd">2.4. Subtítulos y OSD</a></span></dt><dd><dl><dt><span class="sect2"><a href="#mpsub">2.4.1. El formato de subtítulos propio de <span class="application">MPlayer</span> (MPsub)</a></span></dt><dt><span class="sect2"><a href="#mpsub-install">2.4.2. Instalando OSD y subtítulos</a></span></dt><dt><span class="sect2"><a href="#osdmenu">2.4.3. Menú en pantalla</a></span></dt></dl></dd><dt><span class="sect1"><a href="#codec-installation">2.5. instalación de codecs</a></span></dt><dd><dl><dt><span class="sect2"><a href="#xvid">2.5.1. XviD</a></span></dt><dt><span class="sect2"><a href="#aac">2.5.2. AAC</a></span></dt></dl></dd><dt><span class="sect1"><a href="#rtc">2.6. RTC</a></span></dt></dl></dd><dt><span class="chapter"><a href="#usage">3. Uso</a></span></dt><dd><dl><dt><span class="sect1"><a href="#commandline">3.1. Línea de órdenes</a></span></dt><dt><span class="sect1"><a href="#control">3.2. Control</a></span></dt><dd><dl><dt><span class="sect2"><a href="#ctrl-cfg">3.2.1. Configuración de los controles</a></span></dt><dd><dl><dt><span class="sect3"><a href="#ctrl-cfg-keys">3.2.1.1. Nombres clave</a></span></dt><dt><span class="sect3"><a href="#ctrl-cfg-commands">3.2.1.2. Órdenes</a></span></dt></dl></dd><dt><span class="sect2"><a href="#lirc">3.2.2. Control desde LIRC</a></span></dt><dt><span class="sect2"><a href="#slave-mode">3.2.3. Modo esclavo</a></span></dt></dl></dd><dt><span class="sect1"><a href="#streaming">3.3. Streaming desde la red o tuberías</a></span></dt><dt><span class="sect1"><a href="#mpst">3.4. Flujos remotos</a></span></dt><dd><dl><dt><span class="sect2"><a href="#compile_mpst_server">3.4.1. Compilando el servidor</a></span></dt><dt><span class="sect2"><a href="#use_mpst">3.4.2. Usando flujos remotos</a></span></dt></dl></dd><dt><span class="sect1"><a href="#edl">3.5. Listas de Decisión de Edición (EDL)</a></span></dt><dd><dl><dt><span class="sect2"><a href="#edl_using">3.5.1. Usando un archivo EDL</a></span></dt><dt><span class="sect2"><a href="#edl_making">3.5.2. Haciendo un archivo EDL</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#cd-dvd">4. Uso de CD/DVD</a></span></dt><dd><dl><dt><span class="sect1"><a href="#drives">4.1. Unidades de CD/DVD</a></span></dt><dt><span class="sect1"><a href="#dvd">4.2. Reproducción de DVD</a></span></dt><dt><span class="sect1"><a href="#vcd">4.3. Reproducción de VCD</a></span></dt></dl></dd><dt><span class="chapter"><a href="#tv">5. TV</a></span></dt><dd><dl><dt><span class="sect1"><a href="#tv-input">5.1. Entrada de TV</a></span></dt><dd><dl><dt><span class="sect2"><a href="#tv-compilation">5.1.1. Compilación</a></span></dt><dt><span class="sect2"><a href="#tv-tips">5.1.2. Consejos de Uso</a></span></dt><dt><span class="sect2"><a href="#tv-examples">5.1.3. Ejemplos</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#video-dev">6. Dispositivos de salida de video</a></span></dt><dd><dl><dt><span class="sect1"><a href="#mtrr">6.1. Configurando MTRR</a></span></dt><dt><span class="sect1"><a href="#output-trad">6.2. Salidas de video para tarjetas de video tradicionales</a></span></dt><dd><dl><dt><span class="sect2"><a href="#xv">6.2.1. Xv</a></span></dt><dd><dl><dt><span class="sect3"><a href="#tdfx">6.2.1.1. Tarjetas 3dfx</a></span></dt><dt><span class="sect3"><a href="#s3">6.2.1.2. Tarjetas S3</a></span></dt><dt><span class="sect3"><a href="#nvidia">6.2.1.3. Tarjetas nVidia</a></span></dt><dt><span class="sect3"><a href="#ati">6.2.1.4. Tarjetas ATI</a></span></dt><dt><span class="sect3"><a href="#neomagic">6.2.1.5. Tarjetas NeoMagic</a></span></dt><dt><span class="sect3"><a href="#trident">6.2.1.6. Tarjetas Trident</a></span></dt><dt><span class="sect3"><a href="#kyro">6.2.1.7. Tarjetas Kyro/PowerVR</a></span></dt></dl></dd><dt><span class="sect2"><a href="#dga">6.2.2. DGA</a></span></dt><dt><span class="sect2"><a href="#sdl">6.2.3. SDL</a></span></dt><dt><span class="sect2"><a href="#svgalib">6.2.4. SVGAlib</a></span></dt><dt><span class="sect2"><a href="#fbdev">6.2.5. Salida en framebuffer (FBdev)</a></span></dt><dt><span class="sect2"><a href="#mga_vid">6.2.6. Framebuffer de Matrox (mga_vid)</a></span></dt><dt><span class="sect2"><a href="#tdfxfb">6.2.7. Soporte 3Dfx YUV</a></span></dt><dt><span class="sect2"><a href="#opengl">6.2.8. Salida OpenGL</a></span></dt><dt><span class="sect2"><a href="#aalib">6.2.9. AAlib - reproduciendo en modo texto</a></span></dt><dt><span class="sect2"><a href="#caca">6.2.10. <code class="systemitem">libcaca</code> - Biblioteca de Arte AsCii en color</a></span></dt><dt><span class="sect2"><a href="#vesa">6.2.11. VESA - salida en VESA BIOS</a></span></dt><dt><span class="sect2"><a href="#x11">6.2.12. X11</a></span></dt><dt><span class="sect2"><a href="#vidix">6.2.13. VIDIX</a></span></dt><dd><dl><dt><span class="sect3"><a href="#vidix-ati">6.2.13.1. Tarjetas ATI</a></span></dt><dt><span class="sect3"><a href="#vidix-mga">6.2.13.2. Tarjetas Matrox</a></span></dt><dt><span class="sect3"><a href="#vidix-trident">6.2.13.3. Tarjetas Trident</a></span></dt><dt><span class="sect3"><a href="#vidix-3dlabs">6.2.13.4. Tarjetas 3DLabs</a></span></dt><dt><span class="sect3"><a href="#vidix-nvidia">6.2.13.5. Tarjetas nVidia</a></span></dt><dt><span class="sect3"><a href="#vidix-sis">6.2.13.6. Tarjetas SiS</a></span></dt></dl></dd><dt><span class="sect2"><a href="#directfb">6.2.14. DirectFB</a></span></dt><dt><span class="sect2"><a href="#dfbmga">6.2.15. DirectFB/Matrox (dfbmga)</a></span></dt></dl></dd><dt><span class="sect1"><a href="#mpeg_decoders">6.3. Decodificadores MPEG</a></span></dt><dd><dl><dt><span class="sect2"><a href="#dvb">6.3.1. DVB salida y entrada</a></span></dt><dt><span class="sect2"><a href="#dxr2">6.3.2. DXR2</a></span></dt><dt><span class="sect2"><a href="#dxr3">6.3.3. DXR3/Hollywood+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#other">6.4. Otro hardware de visualización</a></span></dt><dd><dl><dt><span class="sect2"><a href="#zr">6.4.1. Zr</a></span></dt><dt><span class="sect2"><a href="#blinkenlights">6.4.2. Blinkenlights</a></span></dt></dl></dd><dt><span class="sect1"><a href="#tvout">6.5. Soporte de salida-TV</a></span></dt><dd><dl><dt><span class="sect2"><a href="#tvout-mga-g400">6.5.1. Tarjetas Matrox G400</a></span></dt><dt><span class="sect2"><a href="#tv-out_matrox_g450">6.5.2. Tarjetas Matrox G450/G550</a></span></dt><dt><span class="sect2"><a href="#tvout-ati">6.5.3. Tarjetas ATI</a></span></dt><dt><span class="sect2"><a href="#tvout-voodoo">6.5.4. Voodoo 3</a></span></dt><dt><span class="sect2"><a href="#tvout-nvidia">6.5.5. nVidia</a></span></dt><dt><span class="sect2"><a href="#tvout-neomagic">6.5.6. Neomagic</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#ports">7. Adaptaciones</a></span></dt><dd><dl><dt><span class="sect1"><a href="#linux">7.1. Linux</a></span></dt><dd><dl><dt><span class="sect2"><a href="#debian">7.1.1. Empaquetado para Debian</a></span></dt><dt><span class="sect2"><a href="#rpm">7.1.2. Empaquetado RPM</a></span></dt><dt><span class="sect2"><a href="#arm_linux">7.1.3. ARM Linux</a></span></dt></dl></dd><dt><span class="sect1"><a href="#bsd">7.2. *BSD</a></span></dt><dd><dl><dt><span class="sect2"><a href="#freebsd">7.2.1. FreeBSD</a></span></dt><dt><span class="sect2"><a href="#openbsd">7.2.2. OpenBSD</a></span></dt><dt><span class="sect2"><a href="#darwin">7.2.3. Darwin</a></span></dt></dl></dd><dt><span class="sect1"><a href="#solaris">7.3. Sun Solaris</a></span></dt><dt><span class="sect1"><a href="#hpux">7.4. HP UX</a></span></dt><dt><span class="sect1"><a href="#qnx">7.5. QNX</a></span></dt><dt><span class="sect1"><a href="#windows">7.6. Windows</a></span></dt><dd><dl><dt><span class="sect2"><a href="#cygwin">7.6.1. Cygwin</a></span></dt><dt><span class="sect2"><a href="#mingw">7.6.2. MinGW</a></span></dt></dl></dd><dt><span class="sect1"><a href="#macos">7.7. Mac OS</a></span></dt></dl></dd><dt><span class="chapter"><a href="#mencoder">8. Codificando con <span class="application">MEncoder</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="#menc-feat-divx4">8.1. Codificación MPEG-4 en 2 o 3-pasadas ("DivX")</a></span></dt><dt><span class="sect1"><a href="#menc-feat-mpeg">8.2. Codificando a formato MPEG</a></span></dt><dt><span class="sect1"><a href="#menc-feat-rescale">8.3. Reescalando películas</a></span></dt><dt><span class="sect1"><a href="#menc-feat-streamcopy">8.4. Copia de flujos</a></span></dt><dt><span class="sect1"><a href="#menc-feat-fix-avi">8.5. Arreglando AVIs con índice roto o interpolado</a></span></dt><dd><dl><dt><span class="sect2"><a href="#menc-feat-appending">8.5.1. Uniendo mútiples archivos AVI</a></span></dt></dl></dd><dt><span class="sect1"><a href="#menc-feat-enc-libavcodec">8.6. Codificando con la familia de codecs de <code class="systemitem">libavcodec</code></a></span></dt><dt><span class="sect1"><a href="#menc-feat-enc-images">8.7. Codificando desde múltiples archivos de imágenes de entrada (JPEGs, PNGs o TGAs)</a></span></dt><dt><span class="sect1"><a href="#menc-feat-extractsub">8.8. Extrayendo subtítulos DVD a archivo Vobsub</a></span></dt><dt><span class="sect1"><a href="#aspect">8.9. Preservando relación de aspecto</a></span></dt><dt><span class="sect1"><a href="#custommatrices">8.10. Matrices inter/intra personalizadas</a></span></dt><dt><span class="sect1"><a href="#menc-feat-dvd-mpeg4">8.11. Haciendo un MPEG4 ("DivX") de alta calidad al ripear una película en DVD</a></span></dt><dd><dl><dt><span class="sect2"><a href="#menc-feat-dvd-mpeg4-crop">8.11.1. Recortando</a></span></dt><dt><span class="sect2"><a href="#menc-feat-dvd-mpeg4-quality">8.11.2. Nivel de calidad</a></span></dt><dt><span class="sect2"><a href="#menc-feat-dvd-mpeg4-2gb">8.11.3. Archivos más grandes de 2GB</a></span></dt><dt><span class="sect2"><a href="#menc-feat-dvd-mpeg4-deinterlacing">8.11.4. Desentrelazado</a></span></dt><dt><span class="sect2"><a href="#menc-feat-dvd-mpeg4-telecine">8.11.5. Inversión de telecine</a></span></dt><dt><span class="sect2"><a href="#menc-feat-dvd-mpeg4-scaling">8.11.6. Escalado y razón de aspecto</a></span></dt><dt><span class="sect2"><a href="#menc-feat-dvd-mpeg4-summary">8.11.7. Sumando todo esto</a></span></dt></dl></dd><dt><span class="sect1"><a href="#menc-feat-telecine">8.12. Cómo tratar con telecine y entrelazado con DVDs NTSC</a></span></dt><dd><dl><dt><span class="sect2"><a href="#menc-feat-telecine-ident">8.12.1. Cómo decir el tipo de video que tiene</a></span></dt><dd><dl><dt><span class="sect3"><a href="#menc-feat-telecine-ident-progressive">8.12.1.1. Progresivo</a></span></dt><dt><span class="sect3"><a href="#menc-feat-telecine-ident-telecined">8.12.1.2. Telecine</a></span></dt><dt><span class="sect3"><a href="#menc-feat-telecine-ident-interlaced">8.12.1.3. Entrelazado</a></span></dt><dt><span class="sect3"><a href="#menc-feat-telecine-ident-mixedpt">8.12.1.4. Mezcla progresiva y telecine</a></span></dt><dt><span class="sect3"><a href="#menc-feat-telecine-ident-mixedpi">8.12.1.5. Mezcla de progresivo y entrelazado</a></span></dt></dl></dd><dt><span class="sect2"><a href="#menc-feat-telecine-encode">8.12.2. Cómo codificar cada categoría</a></span></dt><dd><dl><dt><span class="sect3"><a href="#menc-feat-telecine-encode-progressive">8.12.2.1. Progresivo</a></span></dt><dt><span class="sect3"><a href="#menc-feat-telecine-encode-telecined">8.12.2.2. Telecine</a></span></dt><dt><span class="sect3"><a href="#menc-feat-telecine-encode-interlaced">8.12.2.3. Entrelazado</a></span></dt><dt><span class="sect3"><a href="#menc-feat-telecine-encode-mixedpt">8.12.2.4. Mezcla de progresivo y telecine</a></span></dt><dt><span class="sect3"><a href="#menc-feat-telecine-encode-mixedpi">8.12.2.5. Mezcla de progresivo y entrelazado</a></span></dt></dl></dd><dt><span class="sect2"><a href="#menc-feat-telecine-footnotes">8.12.3. Notas a pie de página</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#faq">9. Preguntas de Usuario Frecuentes</a></span></dt><dt><span class="appendix"><a href="#bugreports">A. Cómo reportar errores</a></span></dt><dd><dl><dt><span class="sect1"><a href="#bugreports_fix">A.1. Cómo corregir fallos</a></span></dt><dt><span class="sect1"><a href="#bugreports_report">A.2. Cómo informar de errores</a></span></dt><dt><span class="sect1"><a href="#bugreports_where">A.3. Dónde informar de los errores</a></span></dt><dt><span class="sect1"><a href="#bugreports_what">A.4. De qué informar</a></span></dt><dd><dl><dt><span class="sect2"><a href="#bugreports_system">A.4.1. Información del Sistema</a></span></dt><dt><span class="sect2"><a href="#bugreports_hardware">A.4.2. Hardware y controladores</a></span></dt><dt><span class="sect2"><a href="#bugreports_configure">A.4.3. Problemas de configuración</a></span></dt><dt><span class="sect2"><a href="#bugreports_conpilation">A.4.4. Problemas de compilación</a></span></dt><dt><span class="sect2"><a href="#bugreports_playback">A.4.5. Problemas de reproducción</a></span></dt><dt><span class="sect2"><a href="#bugreports_crash">A.4.6. Cuelgues</a></span></dt><dd><dl><dt><span class="sect3"><a href="#bugreports_debug">A.4.6.1. Cómo conservar información acerca de un error reproducible</a></span></dt><dt><span class="sect3"><a href="#bugreports_core">A.4.6.2. Cómo extraer información significativa desde un volcado core</a></span></dt></dl></dd></dl></dd><dt><span class="sect1"><a href="#bugreports_advusers">A.5. Yo sé lo que estoy haciendo...</a></span></dt></dl></dd><dt><span class="appendix"><a href="#skin">B. Formato del skin de <span class="application">MPlayer</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="#skin-overview">B.1. Visión general</a></span></dt><dd><dl><dt><span class="sect2"><a href="#skin-overview-directories">B.1.1. Directorios</a></span></dt><dt><span class="sect2"><a href="#skin-overview-formats">B.1.2. Formato de las imágenes</a></span></dt><dt><span class="sect2"><a href="#skin-overview-components">B.1.3. Componentes del skin</a></span></dt><dt><span class="sect2"><a href="#skin-files">B.1.4. Archivos</a></span></dt></dl></dd><dt><span class="sect1"><a href="#skin-file">B.2. El archivo de skin</a></span></dt><dd><dl><dt><span class="sect2"><a href="#skin-file-main">B.2.1. Ventana principal y barra de reproducción</a></span></dt><dt><span class="sect2"><a href="#skin-file-subwindow">B.2.2. Subventana</a></span></dt><dt><span class="sect2"><a href="#skin-file-menu">B.2.3. Menú del skin</a></span></dt></dl></dd><dt><span class="sect1"><a href="#skin-fonts">B.3. Tipografías</a></span></dt><dd><dl><dt><span class="sect2"><a href="#skin-fonts-symbols">B.3.1. Símbolos</a></span></dt></dl></dd><dt><span class="sect1"><a href="#skin-gui">B.4. Mensajes GUI</a></span></dt></dl></dd></dl></div><div class="preface" title="Como leer esta documentación"><div class="titlepage"><div><div><h2 class="title"><a name="howtoread"></a>Como leer esta documentación</h2></div></div></div><p> Si es la primera vez que va a instalarlo: asegúrese de leer todo desde aquí hasta el final de la sección de instalación, y siga los enlaces que vaya encontrando. Si tiene otras preguntas, vuelva a la <a class="link" href="#toc"> Tabla de Contenidos</a> y busque el asunto particular, lea las <a class="link" href="#faq" title="Capítulo 9. Preguntas de Usuario Frecuentes">preguntas frecuentes</a>, o intente usando grep entre los archivos. La mayoría de las cuestiones debe estar contestadas en algún lugar de por aquí y el resto probablemente ya haya sido preguntado en nuestras <a class="ulink" href="http://www.mplayerhq.hu/design7/info.html#mailing_lists" target="_top">listas de correo</a>. Compruebe los <a class="ulink" href="http://www.mplayerhq.hu/cgi-bin/s-arch.cgi" target="_top">archivos</a>, hay un montón de información valiosa allí. </p></div><div class="chapter" title="Capítulo 1. Introducción"><div class="titlepage"><div><div><h2 class="title"><a name="intro"></a>Capítulo 1. Introducción</h2></div></div></div><p> <span class="application">MPlayer</span> es un reproductor de películas para Linux (corre en muchos otros Unices, y en CPUs <span class="bold"><strong>no-x86</strong></span>, vea la sección de <a class="link" href="#ports" title="Capítulo 7. Adaptaciones">adaptaciones</a>). Puede reproducir casi todos los archivos MPEG, VOB, AVI, OGG/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA y Matroska, soportado por muchos codecs nativos, de XAnim, de RealPlayer y de DLL de Win32. Puede ver películas en formato <span class="bold"><strong>VideoCD, SVCD, DVD, 3ivx, RealMedia, Sorenson, Theora</strong></span>, y <span class="emphasis"><em>DivX</em></span> también (¡y no es necesaria la librería avifile!). Otra gran característica de <span class="application">MPlayer</span> es el amplio rango de controladores de salida soportados. Funciona con X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca, DirectFB, ¡pero también puede usar GGI y SDL (y de esta manera todos sus controladores) y algunos controladores de bajo nivel específicos de algunas placas (para Matrox, 3Dfx y Radeon, Mach64, Permidia3)! Casi todos ellos soportan escalado por software o hardware, por lo que puede disfrutar de las películas en pantalla completa. <span class="application">MPlayer</span> soporta mostrado sobre algunas placas decodificadoras por hardware de MPEG, como la <a class="link" href="#dvb" title="6.3.1. DVB salida y entrada">DVB</a> y <a class="link" href="#dxr3" title="6.3.3. DXR3/Hollywood+"> DXR3/Hollywood+</a>. ¿Y que tal los grandes y bonitos subtítulos sombreados y con efecto antialias (<span class="bold"><strong> se soportan 10 tipos de subtítulos</strong></span>) con fuentes Europeas/ISO 8859-1,2 (Húngara, Inglesa, Checa, etc), Cirílica, Coreana, y el mostrado en pantalla (OSD)? </p><p> El reproductor es solido como una piedra reproduciendo archivos MPEG dañados (útil para algunos VCDs), y reproduce archivos AVI incorrectos que no es posible reproducirlos con el famoso reproductor de medios de Windows. Hasta archivos AVI sin la información de índice, y puede temporalmente reconstruir sus índices con la opción <tt class="option">-idx</tt>, o permanentemente con <span class="application">MEncoder</span>, ¡y con eso permitir la búsqueda! Como ve, la estabilidad y la calidad son muy importantes, pero la velocidad también es asombrosa. </p><p> <span class="application">MEncoder</span> (el codificador de películas de <span class="application">MPlayer</span>) es un codificador de películas simple, diseñado para codificar películas que <span class="application">MPlayer</span> pueda reproducir (<span class="bold"><strong>AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA</strong></span>) a otros formatos también reproducibles por <span class="application">MPlayer</span> (ver más abajo). Puede codificar con varios codecs, como <span class="bold"><strong>DivX4</strong></span> (1 o 2 pasadas), <code class="systemitem">libavcodec</code>, audio <span class="bold"><strong>PCM/MP3/VBR MP3</strong></span>. Además posee un poderoso sistema de plugin para la manipulación de vídeo. </p><div class="itemizedlist" title="Características de MEncoder"><p class="title"><b>Características de <span class="application">MEncoder</span></b></p><ul class="itemizedlist" type="disc"><li class="listitem"><p> Codificación desde una amplia variedad de formato de archivos y decodificadores de <span class="application">MPlayer</span> </p></li><li class="listitem"><p> Codificación a todos los codecs soportados por ffmpeg <code class="systemitem">libavcodec</code> </p></li><li class="listitem"><p> Codificación de vídeo desde un <span class="bold"><strong>sintonizador de TV compatible con V4L</strong></span> </p></li><li class="listitem"><p> Codificación/Multiplexación de archivos AVI entrelazados con su respectivo índice. </p></li><li class="listitem"><p> Creación de archivos desde flujos de audio externos. </p></li><li class="listitem"><p> Codificación en 1, 2 o 3 pasadas. </p></li><li class="listitem"><p> Audio MP3 <span class="bold"><strong>VBR</strong></span> </p><div class="important" title="Importante" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Importante</h3><p> ¡El audio MP3 VBR no siempre se reproduce muy bien en los reproductores de Windows! </p></div><p> </p></li><li class="listitem"><p> audio PCM </p></li><li class="listitem"><p> Copia de flujos (de audio y vídeo) </p></li><li class="listitem"><p> Sincronización de entrada de A/V (basada en PTS, puede ser desactivada con la opción <tt class="option">-mc 0</tt>) </p></li><li class="listitem"><p> Corrección de cuadros por segundo con la opción <tt class="option">-ofps</tt> (útil cuando se esta codificando 29.97 cps VOB a AVI con 24 cps). </p></li><li class="listitem"><p> Usa nuestro poderoso sistema de plugin (cortar, expandir, invertir, post-procesar, rotar, escalar, conversión rgb/yuv) </p></li><li class="listitem"><p> Puede codificar DVD/VOBsub <span class="bold"><strong>y</strong></span>el texto de subtítulos en el archivo de salida </p></li><li class="listitem"><p> Puede extraer los subtítulos de DVD al formato VOBsub </p></li></ul></div><div class="itemizedlist" title="Características planeadas"><p class="title"><b>Características planeadas</b></p><ul class="itemizedlist" type="disc"><li class="listitem"><p> Aun una variedad más amplia de formatos de de/codificación de formatos/codecs (creación de archivos VOB con flujos DivX4/Indeo5/VIVO :). </p></li></ul></div><p> <span class="application">MPlayer</span> y <span class="application">MEncoder</span> pueden ser distribuidos bajo los términos de la Licencia GNU General Public License Version 2 (GPL v.2). </p></div><div class="chapter" title="Capítulo 2. Instalación"><div class="titlepage"><div><div><h2 class="title"><a name="install"></a>Capítulo 2. Instalación</h2></div></div></div><div class="toc"><dl><dt><span class="sect1"><a href="#softreq">2.1. Requerimientos de Software</a></span></dt><dt><span class="sect1"><a href="#caracteristicas">2.2. Características</a></span></dt><dt><span class="sect1"><a href="#gui">2.3. ¿Qué hay acerca de la GUI?</a></span></dt><dt><span class="sect1"><a href="#subosd">2.4. Subtítulos y OSD</a></span></dt><dd><dl><dt><span class="sect2"><a href="#mpsub">2.4.1. El formato de subtítulos propio de <span class="application">MPlayer</span> (MPsub)</a></span></dt><dt><span class="sect2"><a href="#mpsub-install">2.4.2. Instalando OSD y subtítulos</a></span></dt><dt><span class="sect2"><a href="#osdmenu">2.4.3. Menú en pantalla</a></span></dt></dl></dd><dt><span class="sect1"><a href="#codec-installation">2.5. instalación de codecs</a></span></dt><dd><dl><dt><span class="sect2"><a href="#xvid">2.5.1. XviD</a></span></dt><dt><span class="sect2"><a href="#aac">2.5.2. AAC</a></span></dt></dl></dd><dt><span class="sect1"><a href="#rtc">2.6. RTC</a></span></dt></dl></div><p> Una guía de instalación rápida puede encontrarse en el archivo <tt class="filename">README</tt>. Por favor, léala primero y luego vuelva aquí para obtener el resto de detalles sanguinolientos. </p><p> En esta sección trataré de guiarlo a través del proceso de compilación y configuración de <span class="application">MPlayer</span>. No es fácil, pero no necesariamente difícil. Si experimenta un comportamiento diferente al que explico, por favor busque en esta documentación y encontrará las respuestas. Si ve un enlace, por favor sigalo y lea atentamente su contenido. Le llevará algún tiempo, pero vale la pena. </p><p> Necesita un sistema relativamente reciente. En Linux, un sistema con núcleo 2.4.x es recomendado. </p><div class="sect1" title="2.1. Requerimientos de Software"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="softreq"></a>2.1. Requerimientos de Software</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> <span class="bold"><strong>binutils</strong></span> - la versión sugerida es <span class="bold"><strong>2.11.x</strong></span>. Este programa es el responsable de generar instrucciones MMX/3DNow!/etc, por lo tanto muy importante. </p></li><li class="listitem"><p> <span class="bold"><strong>gcc</strong></span> - versiones recomendadas son 2.95 y 3.3+. 2.96 y 3.0.x generan código con fallas, 3.1 y 3.2 tambien tuvieron sus problemas. </p></li><li class="listitem"><p> <span class="bold"><strong>XFree86</strong></span> - versión sugerida <span class="bold"><strong>siempre la más nueva</strong></span> (4.3). Normalmente, todos quieren esto, desde XFree 4.0.2, viene con la extensión <a class="link" href="#xv" title="6.2.1. Xv">XVideo</a> (referida en varios lugares como <span class="bold"><strong>Xv</strong></span>) que se usa en efecto para activar la aceleración YUV por hardware (mostrado rápido de imagen) en placas que lo soportan. Asegúrese que el <span class="bold"><strong>paquete de desarrollo</strong></span> este también instalado, de otra manera no funcionará. Para algunas placas de vídeo no se necesita XFree86. Vea el listado abajo. </p></li><li class="listitem"><p> <span class="bold"><strong>make</strong></span> - versión sugerida <span class="bold"><strong>siempre la última</strong></span> (por lo menos la 3.79.x). Esto normalmente no es importante. </p></li><li class="listitem"><p> <span class="bold"><strong>SDL</strong></span> - no es obligatoria, pero puede ayudar en algunos cosas (audio malo, placas de vídeo que sufren retardo extraños con el controlador xv). Siempre use la versión más actual (empezando por 1.2.x). </p></li><li class="listitem"><p> <span class="bold"><strong>libjpeg</strong></span> - decodificador opcional de JPEG, usado por la opción <tt class="option">-mf</tt> y algunos archivos MOV de QT. Útil para ambos <span class="application">MPlayer</span> y <span class="application">MEncoder</span> si planea trabar con archivos jpeg. </p></li><li class="listitem"><p> <span class="bold"><strong>libpng</strong></span> - recomendado y decodificador por omisión de (M)PNG. Necesario para la IGU. Útil para ambos <span class="application">MPlayer</span> y <span class="application">MEncoder</span>. </p></li><li class="listitem"><p> <span class="bold"><strong>lame</strong></span> - recomendado, necesario para codificar audio en MP3 audio con <span class="application">MEncoder</span>, la versión recomendada es <span class="emphasis"><em>siempre la más nueva</em></span> (por lo menos 3.90). </p></li><li class="listitem"><p> <span class="bold"><strong>libogg</strong></span> - opcional, necesaria para reproducir archivos con formato OGG. </p></li><li class="listitem"><p> <span class="bold"><strong>libvorbis</strong></span> - opcional, necesario para reproducir archivos de audio OGG Vorbis. </p></li><li class="listitem"><p> <span class="bold"><strong><a class="ulink" href="http://www.live555.com/mplayer/" target="_top">LIVE.COM Streaming Media</a></strong></span> - opcional, necesario para reproducir flujos RTSP/RTP. </p></li><li class="listitem"><p> <span class="bold"><strong>directfb</strong></span> - opcional, de <a class="ulink" href="http://www.directfb.org" target="_top">http://www.directfb.org</a> </p></li><li class="listitem"><p> <span class="bold"><strong>cdparanoia</strong></span> - opcional, para soporte de CDDA </p></li><li class="listitem"><p> <span class="bold"><strong>libfreetype</strong></span> - opcional, para soporte de fuentes TTF Versión mínima requerida es 2.0.9. </p></li><li class="listitem"><p> <span class="bold"><strong>libxmms</strong></span> - opcional, para soporte de plugins de entrada de XMMS La versión mínima necesaria es 1.2.7. </p></li><li class="listitem"><p> <span class="bold"><strong>libsmb</strong></span> - opcional, para soporte Samba. </p></li><li class="listitem"><p> <span class="bold"><strong><a class="ulink" href="http://www.underbit.com/products/mad/" target="_top">libmad</a></strong></span> - opcional, para decodificación rápida de MP3 en plataformos sin FPU. </p></li></ul></div></div><div class="sect1" title="2.2. Características"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="caracteristicas"></a>2.2. Características</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Decida si necesita GUI (interfaz gráfica de usuario). Si lo necesita, vea la sección <a class="link" href="#gui" title="2.3. ¿Qué hay acerca de la GUI?">GUI</a> antes de compilar. </p></li><li class="listitem"><p> Si desea instalar <span class="application">MEncoder</span> (nuestro gran codificador multiproposito), vea la sección <a class="link" href="#mencoder" title="Capítulo 8. Codificando con MEncoder"><span class="application">MEncoder</span></a>. </p></li><li class="listitem"><p> Si tiene una placa <span class="bold"><strong>sintonizadora de TV</strong></span> compatible con V4L, y desea usarla para ver/capturar y codificar películas con <span class="application">MPlayer</span>, lea la sección <a class="link" href="#tv-input" title="5.1. Entrada de TV">entrada de TV</a>. </p></li><li class="listitem"><p> Existe un buen soporte de <span class="bold"><strong>Menu en Pantalla</strong></span> listo para ser usado. Verifique la sección <a class="link" href="#subosd" title="2.4. Subtítulos y OSD">Menú en Pantalla</a>. </p></li></ul></div><p> Lo siguiente es armar <span class="application">MPlayer</span>: </p><pre class="screen"> ./configure make make install</pre><p> </p><p> En este punto, <span class="application">MPlayer</span> ya está listo para usar. El directorio <tt class="filename">$PREFIX/share/mplayer</tt> contiene el archivo <tt class="filename">codecs.conf</tt>, que se lo usa para decirle al programa todos los codecs y sus posibilidades. Este archivo es necesario solo cuando quiera cambiar sus propiedades, ya que el archivo ejecutable principal contiene una copia interna del mismo. Revise si tiene el archivo <tt class="filename">codecs.conf</tt> en su directorio de inicio (<tt class="filename">~/.mplayer/codecs.conf</tt>) olvidado de alguna instalación previa de <span class="application">MPlayer</span> y borrela. </p><p>Note que si tiene un <tt class="filename">codecs.conf</tt> en <tt class="filename">~/.mplayer/</tt>, el <tt class="filename">codecs.conf</tt> interno y el de sistema serán ignorados por completo. No use esto a menos que quiera trapichear con las cosas internas de <span class="application">MPlayer</span> lo que puede ocasionarle problemas. Si quiere cambiar el órden de búsqueda de los codecs, use la opción <tt class="option">-vc</tt>, <tt class="option">-ac</tt>, <tt class="option">-vfm</tt>, o <tt class="option">-afm</tt> en la línea de órdenes o en su archivo de configuración (vea la página de manual). </p><p> Los usuarios de Debian pueden construir un paquete .deb, es muy simple. Simplemente ejecute </p><pre class="screen">fakeroot debian/rules binary</pre><p> en el directorio raíz de <span class="application">MPlayer</span>. Vea la sección <a class="link" href="#debian" title="7.1.1. Empaquetado para Debian">paquetes de Debian</a> para instrucciones más detalladas. </p><p> <span class="bold"><strong>Siempre revise la salida de</strong></span> <tt class="filename">./configure</tt>, y el archivo <tt class="filename">configure.log</tt>, ellos contienen información acerca de lo que se compilará, y que no. Quizá quiera ver también los archivos <tt class="filename">config.h</tt> y <tt class="filename">config.mak</tt>. Si alguna de las librerías que tiene instaladas no fueron detectadas por <tt class="filename">./configure</tt>, por favor revise si tiene los archivos de encabezados correspondientes (normalmente los paquetes -dev) y que sus versiones sean las mismas. El archivo <tt class="filename">configure.log</tt> normalmente dice que falta. </p><p> Aunque no es obligatorio, las fuentes deberían ser instaladas para poder usar el texto en pantalla (OSD) y los subtítulos. El método recomendado es instalar una fuente TTF y avisarle a <span class="application">MPlayer</span> que lo use. Vea la sección <a class="link" href="#subosd" title="2.4. Subtítulos y OSD">Subtítulos y OSD</a> para más detalles. </p></div><div class="sect1" title="2.3. ¿Qué hay acerca de la GUI?"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="gui"></a>2.3. ¿Qué hay acerca de la GUI?</h2></div></div></div><p> La GUI necesita GTK 1.2.x (no es totalmente GTK, pero los paneles son). Las pieles están guardadas en formato PNG, por lo tanto GTK, <code class="systemitem">libpng</code> (y sus archivos de desarrollos, normalmente llamados <code class="systemitem">gtk-dev </code> y <code class="systemitem">libpng-dev</code>) deben estar instalados. Puede compilarlo especificando la opción <tt class="option">--enable-gui</tt> a <tt class="filename">./configure</tt>. Luego de compilarlo, puede usar el modo GUI, ejecutando el binario <span class="command"><strong>gmplayer</strong></span>. </p><p> Actualmente no se puede usar la opción <tt class="option">-gui</tt> en la línea de comandos, debido a razones técnicas. </p><p> Como <span class="application">MPlayer</span> no tiene una piel incluida, debe bajarlas si desea usar la GUI. Vea la <a class="ulink" href="http://www.mplayerhq.hu/dload.html" target="_top">página de descargas</a>. Deberían ser extraídas al directorio global de pieles normal (<tt class="filename">$PREFIX/share/mplayer/skins/</tt>), o al directorio personal <tt class="filename">$HOME/.mplayer/skins/</tt>. <span class="application">MPlayer</span> por omisión busca en esos directorios por un directorio llamado <tt class="filename">default</tt>, pero puede usar la opción <tt class="option">-skin <em class="replaceable"><code>pielnueva</code></em></tt>, o usar la directiva <code class="literal">skin=pielnueva</code> en el archivo de configuración para usar el directorio <tt class="filename">*/skins//pielnueva</tt>. </p></div><div class="sect1" title="2.4. Subtítulos y OSD"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="subosd"></a>2.4. Subtítulos y OSD</h2></div></div></div><p> <span class="application">MPlayer</span> puede mostrar subtítulos juntos con los archivos de películas. Actualmente los siguientes formatos están soportados: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>VobSub</p></li><li class="listitem"><p>OGM</p></li><li class="listitem"><p>CC (closed caption)</p></li><li class="listitem"><p>MicroDVD</p></li><li class="listitem"><p>SubRip</p></li><li class="listitem"><p>SubViewer</p></li><li class="listitem"><p>Sami</p></li><li class="listitem"><p>VPlayer</p></li><li class="listitem"><p>RT</p></li><li class="listitem"><p>SSA</p></li><li class="listitem"><p>PJS (Phonenix Japanimation Society)</p></li><li class="listitem"><p><a class="link" href="#mpsub" title="2.4.1. El formato de subtítulos propio de MPlayer (MPsub)">MPsub</a></p></li><li class="listitem"><p>AQTitle</p></li><li class="listitem"><p>JACOsub</p></li></ul></div><p> </p><p> <span class="application">MPlayer</span> puede volcar los formatos de subtítulos listados anteriormente (<span class="bold"><strong>con excepción de los 3 primeros</strong></span>) en los siguientes formatos de salida con las opciones correspondientes: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>MPsub: <tt class="option">-dumpmpsub</tt></p></li><li class="listitem"><p>SubRip: <tt class="option">-dumpsrtsub</tt></p></li><li class="listitem"><p>MicroDVD: <tt class="option">-dumpmicrodvdsub</tt></p></li><li class="listitem"><p>JACOsub: <tt class="option">-dumpjacosub</tt></p></li><li class="listitem"><p>Sami: <tt class="option">-dumpsami</tt></p></li></ul></div><p> </p><p> <span class="application">MEncoder</span> puede volcar subtítulos de DVD en formato <a class="link" href="#menc-feat-extractsub" title="8.8. Extrayendo subtítulos DVD a archivo Vobsub">VobSub</a>. </p><p> La linea de comando difiere levemente para los diferentes formatos: </p><p title="Subtítulos VobSub"><b>Subtítulos VobSub. </b> Los subtítulos VobSub consisten de un gran (varios megabytes) archivo <tt class="filename"> .SUB</tt>, y opcionalmente un archivo <tt class="filename">.IDX</tt> y/o un archivo <tt class="filename">.IFO</tt>. Si tiene archivos como <tt class="filename"><em class="replaceable"><code>ejemplo.sub</code></em></tt>, <tt class="filename"><em class="replaceable"><code>ejemplo.ifo</code></em></tt> (opcional), <tt class="filename"><em class="replaceable"><code>ejemplo.idx</code></em></tt> - entonces debe pasarle a <span class="application">MPlayer</span> la opción <tt class="option">-vobsub <em class="replaceable"><code>ejemplo</code></em> [-vobsubid <em class="replaceable"><code>id</code></em>]</tt> (la ruta completa es opcional). La opción <tt class="option">-vobsubid</tt> es como la opción <tt class="option">-sid</tt> para DVDs, puede elegir entre pistas de subtítulos (lenguajes) con ella. En el caso que <tt class="option">-vobsubid</tt> se omita, <span class="application">MPlayer</span> tratará de usar el lenguaje dado por la opción <tt class="option">-slang</tt> y sino usará el <code class="systemitem">langidx</code> en el archivo <tt class="filename">.IDX</tt> para configurar el lenguaje de los subtítulos. Si esto falla no habrá subtítulos. </p><p title="Otros subtítulos"><b>Otros subtítulos. </b> Los otros formatos consisten de un archivo de texto simple conteniendo el tiempo y la información del texto a colocar. Uso: si tiene un archivo como <tt class="filename"><em class="replaceable"><code>ejemplo.txt</code></em></tt>, debe pasarle a <span class="application">MPlayer</span> la opción <tt class="option">-sub <em class="replaceable"><code>ejemplo.txt</code></em></tt> (la ruta completa es opcional). </p><div class="variablelist" title="Ajustando la sincronización de subtítulos y su ubicación:"><p class="title"><b>Ajustando la sincronización de subtítulos y su ubicación:</b></p><dl><dt><span class="term"><tt class="option">-subdelay <em class="replaceable"><code>seg</code></em></tt></span></dt><dd><p> Retrasa los subtítulos en <tt class="option"><em class="replaceable"><code>seg</code></em></tt> segundos. Puede ser un número negativo. </p></dd><dt><span class="term"><tt class="option">-subfps <em class="replaceable"><code>TASA</code></em></tt></span></dt><dd><p> Especifica la tasa de cuadros por segundo del archivo de subtítulos (número flotante). </p></dd><dt><span class="term"><tt class="option">-subpos <em class="replaceable"><code>0-100</code></em></tt></span></dt><dd><p> Especifica la posición de los subtítulos. </p></dd></dl></div><p> Si experimenta un retraso creciente de retraso entre la película y los subtítulos cuando esta usando un archivo de subtítulos de MicroDVD, lo más probable es que la tasa de cuadros por segundo de la película y de los subtítulos sea diferente. Note que el formato de subtítulos de MicroDVD usa números de cuadros absoluto para su temporización, y por lo tanto la opción <tt class="option">-subfps</tt> no puede ser usada con este formato. Como <span class="application">MPlayer</span> no tiene una manera de adivinar la tasa de cuadros por segundo del archivo de subtítulos, debe convertirlo manualmente. Hay un pequeño guión de perl en el directorio <tt class="filename">contrib</tt> del sitio FTP de<span class="application">MPlayer</span> que hace esa conversión. </p><p> Para más información acerca de subtítulos para DVD, lea la sección <a class="link" href="#dvd" title="4.2. Reproducción de DVD">DVD</a>. </p><div class="sect2" title="2.4.1. El formato de subtítulos propio de MPlayer (MPsub)"><div class="titlepage"><div><div><h3 class="title"><a name="mpsub"></a>2.4.1. El formato de subtítulos propio de <span class="application">MPlayer</span> (MPsub)</h3></div></div></div><p> <span class="application">MPlayer</span> introduce un nuevo formato de subtítulos llamado <span class="bold"><strong>MPsub</strong></span>. Fue diseñado por Gabucino. Básicamente su característica más importante es ser basado <span class="emphasis"><em> dinámicamente</em></span> en el tiempo (a pesar de que tiene un modo por cuadros también). Un ejemplo (de <a class="ulink" href="../../tech/mpsub.sub" target="_top">DOCS/tech/mpsub.sub</a>): </p><pre class="programlisting"> FORMAT=TIME # primer número : espera esto desde que el subtitulo anterior desapareció # segundo número : mostrar el subtitulo actual esta cantidad de segundos 15 3 Hace mucho, mucho tiempo atrás... 0 3 en una galaxia muy lejana... 0 3 Naboo estaba bajo un ataque.</pre><p> </p><p> Como puede ver, el objetivo principal fue <span class="bold"><strong>hacer la edición/temporización/unión y cortado de subtítulos más fácil</strong></span>. Y, si - por decirlo - consigue un subtitulo SSA pero esta mal temporizado o tiene problemas de retraso con su versión de la película, entonces puede hacer </p><pre class="screen">mplayer <em class="replaceable"><code>vacío.avi</code></em> -sub fuente.ssa -dumpmpsub</pre><p>. Un archivo <tt class="filename">dump.mpsub</tt> se creara en el directorio actual, que contendrá la fuente del texto de los subtítulos, pero en el formato <span class="bold"><strong>MPsub</strong></span>. Ahora puede agregar/quitar segundos a los subtítulos. </p><p> Los subtítulos son mostrados con una técnica llamada <span class="bold"><strong>'OSD', On Screen Display</strong></span> (Muestra en Pantalla). La muestra en pantalla se muestra para mostrar el tiempo, la barra de volumen, la barra de búsqueda, etc. </p></div><div class="sect2" title="2.4.2. Instalando OSD y subtítulos"><div class="titlepage"><div><div><h3 class="title"><a name="mpsub-install"></a>2.4.2. Instalando OSD y subtítulos</h3></div></div></div><p> Necesita un paquete de tipografías para <span class="application">MPlayer</span> para poder usar OSD/subtítulos. Hay muchas maneras de conseguirlo: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Use la herramienta generadora de tipografías en <tt class="filename">TOOLS/subfont-c</tt>. Es una herramienta completa para convertir una tipografía TTF/Type1/etc a tipografía pkg de <span class="application">MPlayer</span> (lea <tt class="filename">TOOLS/subfont-c/README</tt> para más detalles). </p></li><li class="listitem"><p> Use el plugin de <span class="application">GIMP</span> generador de tipografías en <tt class="filename">TOOLS/subfont-GIMP </tt> (nota: debe tener también el plugin HSI RAW, vea <a class="ulink" href="http://realtime.ssu.ac.kr/~lethean/mplayer/" target="_top">http://realtime.ssu.ac.kr/~lethean/mplayer/</a>). </p></li><li class="listitem"><p> usando una tipografía TrueType (TTF), gracias a la biblioteca <code class="systemitem">freetype</code>. ¡La versión debe ser 2.0.9 o mayor! Entonces tiene 2 métodos: </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p> use la opción <tt class="option">-font <em class="replaceable"><code>/ruta/a/tipografía_ejemplo.ttf</code></em></tt> para especificar un archivo de tipografía TrueType en cada ocasión </p></li><li class="listitem"><p> cree un enlace simbólico: </p><pre class="screen">ln -s <em class="replaceable"><code>/ruta/a/tipografía_ejemplo.ttf</code></em> ~/.mplayer/subfont.ttf</pre><p> </p></li></ul></div><p> Si <span class="application">MPlayer</span> fue compilado con soporte para <code class="systemitem">fontconfig</code>, los métodos de arriba no funcionarán, en su lugar la opción <tt class="option">-font</tt> espera un nombre de tipografía <code class="systemitem">fontconfig</code> y por defecto se usa la tipografía sans-serif. Para obtener una lista de los tipos de letra que conoce <code class="systemitem">fontconfig</code>, use <span class="command"><strong>fc-list</strong></span>. Ejemplo: <tt class="option">-font <em class="replaceable"><code>'Bitstream Vera Sans'</code></em></tt> </p></li><li class="listitem"><p> Descargue paquetes de fuentes listos para usar del sitio de <span class="application">MPlayer</span>. Nota: actualmente las fuentes disponibles están limitadas al soporte ISO 8859-1/2, pero existen algunas otras fuentes (incluyendo Koreano, Ruso, ISO 8859-8, etc)en la sección contrib/font del FTP, hechas por los usuarios. </p><p> Las fuentes deberían tener el archivo apropiado <tt class="filename">font.desc</tt> que mapea las posiciones de la fuente unicode al código de página real del texto de los subtítulos. Otra solución es tener los subtítulos codificados en formato UTF8 y usar la opción <tt class="option">-utf8</tt> o simplemente nombrar a los archivos de subtítulos <tt class="filename"><nombre_del_video>utf</tt> y tenerlo en el mismo directorio que el archivo de vídeo. La recodificación desde diferentes códigos de página a UTF8 lo puede hacer usando los programas <span class="command"><strong>konwert</strong></span> o <span class="command"><strong>iconv</strong></span>. </p><p> </p><div class="table"><a name="algunas_urls"></a><p class="title"><b>Tabla 2.1. Algunas URLs</b></p><div class="table-contents"><table summary="Algunas URLs" border="1"><colgroup><col><col></colgroup><thead><tr><th>URL</th><th>Comentario</th></tr></thead><tbody><tr><td> <a class="ulink" href="ftp://ftp.mplayerhq.hu/MPlayer/releases/fonts/" target="_top">ftp://ftp.mplayerhq.hu/MPlayer/releases/fonts/</a> </td><td> Fuentes ISO </td></tr><tr><td> <a class="ulink" href="ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts/" target="_top">ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts/</a> </td><td> varias fuentes hechas por usuarios </td></tr><tr><td> <a class="ulink" href="http://realtime.ssu.ac.kr/~lethean/mplayer/" target="_top">http://realtime.ssu.ac.kr/~lethean/mplayer/</a> </td><td> Tipografías Coreanas y plugin RAW </td></tr></tbody></table></div></div><p><br class="table-break"> </p></li></ul></div><p> Si elige fuentes no TTF, descomprima el archivo que haya descargado a <tt class="filename">~/.mplayer</tt> o <tt class="filename">$PREFIX/share/mplayer</tt>. Entonces renombre o enlace simbólicamente uno de los directorios extraídos a <tt class="filename">font</tt>, por ejemplo: </p><pre class="screen">ln -s ~/.mplayer/<em class="replaceable"><code>arial-24</code></em> ~/.mplayer/font</pre><p> Ahora debería ver un reloj en la esquina superior izquierda de la película (apaguelo pulsado la tecla <span class="keycap"><b>o</b></span>). </p><p> (los subtítulos están <span class="emphasis"><em>siempre activos</em></span>, para desactivarlos por favor lea la página del manual). </p><p> OSD tiene 4 estados (cambielo con <span class="keycap"><b>o</b></span>): </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p> barra de volumen + barra de búsqueda (por omisión) </p></li><li class="listitem"><p> barra de volumen + barra de búsqueda + reloj + posición porcentual del archivo cuando se busca </p></li><li class="listitem"><p> barra de volumen + barra de búsqueda + reloj + duración total de la pelicula </p></li><li class="listitem"><p> solamente subtítulos </p></li></ol></div><p> Puede cambiar el comportamiento por omisión cambiando la variable <code class="varname">osdlevel</code> en el archivo de configuración, o con la opción <tt class="option">-osdlevel</tt> de la línea de comando. </p></div><div class="sect2" title="2.4.3. Menú en pantalla"><div class="titlepage"><div><div><h3 class="title"><a name="osdmenu"></a>2.4.3. Menú en pantalla</h3></div></div></div><p> <span class="application">MPlayer</span> trae una interfaz de Menú en pantalla completamente configurable por el usuario. </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p> ¡el menú Preferencias no esta actualmente implementado! </p></div><div class="orderedlist" title="Instalación"><p class="title"><b>Instalación</b></p><ol class="orderedlist" type="1"><li class="listitem"><p> compile <span class="application">MPlayer</span> pasándole la opción <tt class="option">--enable-menu</tt> a <tt class="filename">./configure</tt> </p></li><li class="listitem"><p> asegúrese de tener una fuente OSD instalada </p></li><li class="listitem"><p> copie el archivo <tt class="filename">etc/menu.conf</tt> a su directorio <tt class="filename">.mplayer</tt> </p></li><li class="listitem"><p> copie el archivo <tt class="filename">etc/input.conf</tt> a su directorio <tt class="filename">.mplayer</tt>, o al directorio general de configuración de <span class="application">MPlayer</span> (por omisión: <tt class="filename">/usr/local/etc/mplayer</tt>) </p></li><li class="listitem"><p> verifique y edite el archivo <tt class="filename">input.conf</tt> para activar las teclas de movimiento en el menú (está descripto en el archivo). </p></li><li class="listitem"><p> inicie <span class="application">MPlayer</span> como en el ejemplo: </p><pre class="screen">$ mplayer -menu <em class="replaceable"><code>archivo.avi</code></em></pre><p> </p></li><li class="listitem"><p> pulse cualquier tecla de menú que haya definido </p></li></ol></div></div></div><div class="sect1" title="2.5. instalación de codecs"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="codec-installation"></a>2.5. instalación de codecs</h2></div></div></div><div class="sect2" title="2.5.1. XviD"><div class="titlepage"><div><div><h3 class="title"><a name="xvid"></a>2.5.1. XviD</h3></div></div></div><p> <a class="ulink" href="http://www.xvid.org" target="_top">XviD</a> es una derivación del desarrollo del codec OpenDivX. Esto ocurrió cuando ProjectMayo cambió OpenDivX a código cerrado DivX4 (ahora DivX5), y la gente del no-ProjectMayo que trabajaba en OpenDivX se cabreó, e inició XviD. Este es el motivo de que ambos proyectos tengan el mismo origen. </p><div class="procedure" title="INSTALANDO XVID CVS"><a name="id2769233"></a><p class="title"><b>INSTALANDO XVID CVS</b></p><p> Actualmente está disponible solo desde CVS. Aquí tiene instrucciones para descargarlo e instalarlo (necesita al menos autoconf 2.50, automake y libtool): </p><ol class="procedure" type="1"><li class="step" title="Paso 1"><p> </p><pre class="screen">cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</pre><p> </p></li><li class="step" title="Paso 2"><p> </p><pre class="screen">cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</pre><p> </p></li><li class="step" title="Paso 3"><p> </p><pre class="screen">cd xvidcore/build/generic</pre><p> </p></li><li class="step" title="Paso 4"><p> </p><pre class="screen">./bootstrap.sh</pre><p> </p></li><li class="step" title="Paso 5"><p> </p><pre class="screen">./configure</pre><p> Puede añadir algunas opciones (examine la salida de </p><pre class="screen">./configure --help</pre><p>). </p></li><li class="step" title="Paso 6"><p> </p><pre class="screen">make && make install</pre><p> </p></li><li class="step" title="Paso 7"><p> Si ha especificado <tt class="option">--enable-divxcompat</tt>, copie <tt class="filename">../../src/divx4.h</tt> a <tt class="filename">/usr/local/include/</tt>. </p></li><li class="step" title="Paso 8"><p> Recompile <span class="application">MPlayer</span> con <tt class="option">--with-xvidlibdir=<em class="replaceable"><code>/ruta/a/</code></em>libxvidcore.a</tt> <tt class="option">--with-xvidincdir=<em class="replaceable"><code>/ruta/a/</code></em>xvid.h</tt> </p></li></ol></div></div><div class="sect2" title="2.5.2. AAC"><div class="titlepage"><div><div><h3 class="title"><a name="aac"></a>2.5.2. AAC</h3></div></div></div><p> AAC (Codificación Avanzada de Audio) es un codec de audio que algunas veces se encuentra en archivos MOV y MP4. Un decodificador llamado FAAD de código abierto está disponible en <a class="ulink" href="http://www.audiocoding.com" target="_top">http://www.audiocoding.com</a>. <span class="application">MPlayer</span> incluye libfaad 2.0RC1, por lo que no necesita obtenerlo por separado. </p><p> Si usa gcc 3.2 y falla al compilar nuestro FAAD interno o desea usar la biblioteca externa por alguna otra razón, descargue la biblioteca desde la <a class="ulink" href="http://www.audiocoding.com/download.php" target="_top">página de descargas</a> y pase la opción <tt class="option">--enable-external-faad</tt> a <tt class="filename">configure</tt>. No necesita todo el faad2 para decodificar archivos AAC, libfaad es suficiente. Constrúyalo como sigue: </p><pre class="screen">cd faad2/ chmod +x bootstrap ./bootstrap ./configure cd libfaad make make install </pre><p> No hay binarios disponibles en audiocoding.com, pero puede apetegetear paquetes Debian desde <a class="ulink" href="http://marillat.free.fr" target="_top">la página personal de Christian Marillat</a>, paquetes RPM para Mandrake desde la <a class="ulink" href="http://plf.zarb.org" target="_top">P.L.F.</a> y RPMs para Red Hat en <a class="ulink" href="http://greysector.rangers.eu.org/" target="_top">Grey Sector</a>. </p></div></div><div class="sect1" title="2.6. RTC"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="rtc"></a>2.6. RTC</h2></div></div></div><p> Existen tres métodos de temporización en <span class="application">MPlayer</span>. </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> <span class="bold"><strong>Para usar el método viejo</strong></span>, no tiene que hacer nada. Usa <code class="systemitem">usleep()</code> para ajustar la sincronización A/V, con una precisión de +/- 10ms. Sin embargo muchas veces la sincronización debe ser más precisa. </p></li><li class="listitem"><p> <span class="bold"><strong>El nuevo código temporizador</strong></span> usa el RTC (Reloj de Tiempo Real) de su PC para esta tarea, ya que tiene precisión de 1ms. Es activado automágicamente cuando está disponible, pero requiere privilegios de administrador, que el archivo ejecutable de <span class="application">MPlayer</span> tenga <span class="emphasis"><em> permiso de SUID root</em></span> o un núcleo configurado apropiadamente. Si utiliza un núcleo 2.4.19pre8 o más nuevo entonces puede ajustar la frecuencia máxima del RTC para usuarios normales a través del sistema de archivo <code class="systemitem">/proc</code>. Use este comando para habilitar el RTC para usuarios normales: </p><pre class="screen">echo 1024 > /proc/sys/dev/rtc/max-user-freq</pre><p> Si no posee dicho núcleo actualizado, puede también cambiar una línea en el archivo <tt class="filename">drivers/char/rtc.c</tt> y recompilar el núcleo. Busque la sección que dice: </p><pre class="programlisting"> * We don't really want Joe User enabling more * than 64Hz of interrupts on a multi-user machine. */ if ((rtc_freq > 64) && (!capable(CAP_SYS_RESOURCE))) </pre><p> y cambie el 64 por 1024. Debería realmente saber lo que esta haciendo de todas maneras. Puede ver la eficiencia del nuevo temporizador en la línea de estado. Las funciones de administración de energía de BIOS de algunas notebooks con cambio de velocidad de CPUs interactúan muy mal con el RTC. El vídeo y el audio puede salirse de sincronía. Enchufar el conector de energía externo antes de encender su notebook parece ayudar a solucionar la situación. Siempre que desee puede apagar el soporte de RTC con la opción <tt class="option">-nortc</tt>. En algunas combinaciones de hardware (confirmado durante el uso de un disco no-DMA de DVD en una placa ALi1541) el uso del RTC puede causar defectos en la reproducción. Es recomendado usar el tercer método en esos casos. </p></li><li class="listitem"><p> <span class="bold"><strong>El tercer código de temporización</strong></span> es activado con la opción <tt class="option">-softsleep</tt>. Tiene la eficiencia del RTC, pero no usa el RTC. Por otro lado requiere más CPU. </p></li></ul></div><p> </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p><span class="bold"><strong>¡NUNCA instale un archivo ejecutable de <span class="application">MPlayer</span>con permisos de SUID root en un sistema multiusuario!</strong></span> Es una manera fácil para cualquiera de convertirse en administrador. </p></div><p> </p></div></div><div class="chapter" title="Capítulo 3. Uso"><div class="titlepage"><div><div><h2 class="title"><a name="usage"></a>Capítulo 3. Uso</h2></div></div></div><div class="toc"><dl><dt><span class="sect1"><a href="#commandline">3.1. Línea de órdenes</a></span></dt><dt><span class="sect1"><a href="#control">3.2. Control</a></span></dt><dd><dl><dt><span class="sect2"><a href="#ctrl-cfg">3.2.1. Configuración de los controles</a></span></dt><dd><dl><dt><span class="sect3"><a href="#ctrl-cfg-keys">3.2.1.1. Nombres clave</a></span></dt><dt><span class="sect3"><a href="#ctrl-cfg-commands">3.2.1.2. Órdenes</a></span></dt></dl></dd><dt><span class="sect2"><a href="#lirc">3.2.2. Control desde LIRC</a></span></dt><dt><span class="sect2"><a href="#slave-mode">3.2.3. Modo esclavo</a></span></dt></dl></dd><dt><span class="sect1"><a href="#streaming">3.3. Streaming desde la red o tuberías</a></span></dt><dt><span class="sect1"><a href="#mpst">3.4. Flujos remotos</a></span></dt><dd><dl><dt><span class="sect2"><a href="#compile_mpst_server">3.4.1. Compilando el servidor</a></span></dt><dt><span class="sect2"><a href="#use_mpst">3.4.2. Usando flujos remotos</a></span></dt></dl></dd><dt><span class="sect1"><a href="#edl">3.5. Listas de Decisión de Edición (EDL)</a></span></dt><dd><dl><dt><span class="sect2"><a href="#edl_using">3.5.1. Usando un archivo EDL</a></span></dt><dt><span class="sect2"><a href="#edl_making">3.5.2. Haciendo un archivo EDL</a></span></dt></dl></dd></dl></div><div class="sect1" title="3.1. Línea de órdenes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="commandline"></a>3.1. Línea de órdenes</h2></div></div></div><p> <span class="application">MPlayer</span> utiliza un árbol de juego complejo. Consiste en escribir las opciones globales las primeras, por ejemplo </p><pre class="screen">mplayer -vfm 5</pre><p> y las opciones escritas después de los nombres de archivos, que se aplican solamente al nombre de archivo/URL/lo que sea, por ejemplo: </p><pre class="screen">mplayer -vfm 5 <em class="replaceable"><code>pelicula1.avi</code></em> <em class="replaceable"><code>pelicula2.avi</code></em> -vfm 4</pre><p> </p><p> Puede agrupar nombres de archivo/URLs usando <code class="literal">{</code> y <code class="literal">}</code>. Esto es útil con la opción <tt class="option">-loop</tt>: </p><pre class="screen">mplayer { 1.avi - loop 2 2.avi } -loop 3</pre><p> La órden de arriba reproduce los archivos en este orden: 1, 1, 2, 1, 1, 2, 1, 1, 2. </p><p> Reproduciendo un archivo: </p><pre class="synopsis"> <span class="command"><strong>mplayer</strong></span> [<em class="replaceable"><code>opciones</code></em>] [<em class="replaceable"><code>ruta</code></em>/]<em class="replaceable"><code>nombre-archivo</code></em> </pre><p> </p><p> Reproduciendo más archivos: </p><pre class="synopsis"> <span class="command"><strong>mplayer</strong></span> [<em class="replaceable"><code>opciones por defecto</code></em>] [<em class="replaceable"><code>ruta</code></em>/]<em class="replaceable"><code>nombre-archivo1</code></em> [<em class="replaceable"><code>opciones para nombre-archivo1</code></em>] <em class="replaceable"><code>nombre-archivo2</code></em> [<em class="replaceable"><code>opciones para nombre-archivo2</code></em>] ... </pre><p> </p><p> Reproduciendo VCD: </p><pre class="synopsis"> <span class="command"><strong>mplayer</strong></span> [<em class="replaceable"><code>opciones</code></em>] vcd://<em class="replaceable"><code>npista</code></em> [-cdrom-device <em class="replaceable"><code>/dev/cdrom</code></em>] </pre><p> </p><p> Reproduciendo DVD: </p><pre class="synopsis"> <span class="command"><strong>mplayer</strong></span> [<em class="replaceable"><code>opciones</code></em>] dvd://<em class="replaceable"><code>ntitulo</code></em> [-dvd-device <em class="replaceable"><code>/dev/dvd</code></em>] </pre><p> </p><p> Reproduciendo desde la WWW: </p><pre class="synopsis"> <span class="command"><strong>mplayer</strong></span> [<em class="replaceable"><code>opciones</code></em>] http://<em class="replaceable"><code>sitio.com/archivo.asf</code></em> </pre><p> (las listas de reproducción también pueden ser usadas) </p><p> Reproduciendo desde RTSP: </p><pre class="synopsis"> <span class="command"><strong>mplayer</strong></span> [<em class="replaceable"><code>opciones</code></em>] rtsp://<em class="replaceable"><code>servidor.ejemplo.com/nombreFlujo</code></em> </pre><p> </p><p> Ejemplos: </p><pre class="screen"> mplayer -vo x11 <em class="replaceable"><code>/mnt/Pelis/Contact/contact2.mpg</code></em> mplayer vcd://<em class="replaceable"><code>2</code></em> -cd-rom-device <em class="replaceable"><code>/dev/hdc</code></em> mplayer -afm 3 <em class="replaceable"><code>/mnt/DVDtrailers/alien4.vob</code></em> mplayer dvd://<em class="replaceable"><code>1</code></em> -dvd-device <em class="replaceable"><code>/dev/hdc</code></em> mplayer -abs 65536 -delay -0.4 -nobps <em class="replaceable"><code>~/pelis/prueba.avi</code></em></pre><p> </p></div><div class="sect1" title="3.2. Control"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="control"></a>3.2. Control</h2></div></div></div><p> <span class="application">MPlayer</span> tiene una capa de control completamente configurable, dada por órdenes, que le permite controlar <span class="application">MPlayer</span> con el teclado, el ratón, la palanca de juegos o el mando a distancia (usando LIRC). Vea la página de manual para una lista completa de los controles de teclado. </p><div class="sect2" title="3.2.1. Configuración de los controles"><div class="titlepage"><div><div><h3 class="title"><a name="ctrl-cfg"></a>3.2.1. Configuración de los controles</h3></div></div></div><p> <span class="application">MPlayer</span> permite asignar una tecla/botón a cualquier órden de <span class="application">MPlayer</span> usando un archivo de configuración simple. La sintaxis consiste en un nombre clave seguido por la órden. El archivo de configuración por defecto es <tt class="filename">$HOME/.mplayer/input.conf</tt> pero puede ser cambiado usando la opción <tt class="option">-input <em class="replaceable"><code>conf</code></em></tt> (ruta relativa a <tt class="filename">$HOME/.mplayer</tt>). </p><div class="example"><a name="input_control_file"></a><p class="title"><b>Ejemplo 3.1. Un archivo de control simple</b></p><div class="example-contents"><pre class="programlisting"> ## ## Archivo de control de entrada de <span class="application">MPlayer</span> ## RIGHT seek +10 LEFT seek -10 - audio_delay 0.100 + audio_delay -0.100 q quit > pt_step 1 < pt_step -1 ENTER pt_step 1 1</pre></div></div><br class="example-break"><div class="sect3" title="3.2.1.1. Nombres clave"><div class="titlepage"><div><div><h4 class="title"><a name="ctrl-cfg-keys"></a>3.2.1.1. Nombres clave</h4></div></div></div><p> Puede obtener una lista completa ejecutando <span class="command"><strong>mplayer -input keylist</strong></span>. </p><div class="itemizedlist" title="Teclado"><p class="title"><b>Teclado</b></p><ul class="itemizedlist" type="disc"><li class="listitem"><p>Cualquier caracter imprimible</p></li><li class="listitem"><p><code class="literal">SPACE</code></p></li><li class="listitem"><p><code class="literal">ENTER</code></p></li><li class="listitem"><p><code class="literal">TAB</code></p></li><li class="listitem"><p><code class="literal">CTRL</code></p></li><li class="listitem"><p><code class="literal">BS</code></p></li><li class="listitem"><p><code class="literal">DEL</code></p></li><li class="listitem"><p><code class="literal">INS</code></p></li><li class="listitem"><p><code class="literal">HOME</code></p></li><li class="listitem"><p><code class="literal">END</code></p></li><li class="listitem"><p><code class="literal">PGUP</code></p></li><li class="listitem"><p><code class="literal">PGDWN</code></p></li><li class="listitem"><p><code class="literal">ESC</code></p></li><li class="listitem"><p><code class="literal">RIGHT</code></p></li><li class="listitem"><p><code class="literal">LEFT</code></p></li><li class="listitem"><p><code class="literal">UP</code></p></li><li class="listitem"><p><code class="literal">DOWN</code></p></li></ul></div><div class="itemizedlist" title="Ratón (solo funciona bajo X)"><p class="title"><b>Ratón (solo funciona bajo X)</b></p><ul class="itemizedlist" type="disc"><li class="listitem"><p> <code class="literal">MOUSE_BTN0</code> (Botón izquierdo)</p></li><li class="listitem"><p> <code class="literal">MOUSE_BTN1</code> (Botón derecho)</p></li><li class="listitem"><p> <code class="literal">MOUSE_BTN2</code> (Botón central)</p></li><li class="listitem"><p> <code class="literal">MOUSE_BTN3</code> (Rueda)</p></li><li class="listitem"><p> <code class="literal">MOUSE_BTN4</code> (Rueda)</p></li><li class="listitem"><p>...</p></li><li class="listitem"><p><code class="literal">MOUSE_BTN9</code></p></li></ul></div><div class="itemizedlist" title="Palanca de juegos (para que funcione debe habilitarse durante la compilación)"><p class="title"><b>Palanca de juegos (para que funcione debe habilitarse durante la compilación)</b></p><ul class="itemizedlist" type="disc"><li class="listitem"><p> <code class="literal">JOY_RIGHT</code> o <code class="literal">JOY_AXIS0_PLUS</code></p></li><li class="listitem"><p> <code class="literal">JOY_LEFT</code> o <code class="literal">JOY_AXIS0_MINUS</code></p></li><li class="listitem"><p> <code class="literal">JOY_UP</code> o <code class="literal">JOY_AXIS1_MINUS</code></p></li><li class="listitem"><p> <code class="literal">JOY_DOWN</code> o <code class="literal">JOY_AXIS1_PLUS</code></p></li><li class="listitem"><p><code class="literal">JOY_AXIS2_PLUS</code></p></li><li class="listitem"><p><code class="literal">JOY_AXIS2_MINUS</code></p></li><li class="listitem"><p>...</p></li><li class="listitem"><p><code class="literal">JOY_AXIS9_PLUS</code></p></li><li class="listitem"><p><code class="literal">JOY_AXIS9_MINUS</code></p></li></ul></div></div><div class="sect3" title="3.2.1.2. Órdenes"><div class="titlepage"><div><div><h4 class="title"><a name="ctrl-cfg-commands"></a>3.2.1.2. Órdenes</h4></div></div></div><p> Puede obtener una lista completa de órdenes ejecutando <span class="command"><strong>mplayer -input cmdlist</strong></span>. </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="literal">seek</code> (int) val [(int) type=0]</p><p> Se posiciona en un lugar de la película. Tipo <code class="literal">0</code> es posicionamiento relativo en +/- val segundos. Tipo <code class="literal">1</code> se posiciona a un valor en val% de la película. </p></li><li class="listitem"><p><code class="literal">audio_delay</code> (float) val</p><p> Ajusta el retardo de audio en val segundos </p></li><li class="listitem"><p><code class="literal">quit</code></p><p> Salir de <span class="application">MPlayer</span> </p></li><li class="listitem"><p><code class="literal">pause</code></p><p> Pausa/continúa la reproducción </p></li><li class="listitem"><p><code class="literal">grap_frames</code></p><p> ¿Alguien lo sabe? </p></li><li class="listitem"><p><code class="literal">pt_step</code> (int) val [(int) force=0]</p><p> Va a la entrada siguiente/previa en la lista de reproducción. El signo de val dice la dirección. Si no hay otra entrada disponible en la dirección dada no ocurre nada a no ser que force no sea 0. </p></li><li class="listitem"><p><code class="literal">pt_up_step</code> (int) val [(int) force=0]</p><p> Igual que pt_step pero salta a siguiente/previo en la lista actual. Esto es útli para romber bucles internos en el árbol de reproducción. </p></li><li class="listitem"><p><code class="literal">alt_src_step</code> (int) val</p><p> Cuando hay más de una fuente disponible selecciona la siguiente/previa (solo funciona en listas de reproducción asx). </p></li><li class="listitem"><p><code class="literal">sub_delay</code> (float) val [(int) abs=0]</p><p> Ajusta el retardo de subtítulos en +/- val segundos o lo establece en val segundos cuando abs no es cero. </p></li><li class="listitem"><p><code class="literal">osd</code> [(int) level=-1]</p><p> Cambia el modo de osd o establece el invel cuando el nivel > 0. </p></li><li class="listitem"><p><code class="literal">volume</code> (int) dir</p><p>Incrementa/reduce el volumen </p></li><li class="listitem"><p><code class="literal">contrast</code> (int) val [(int) abs=0] </p></li><li class="listitem"><p><code class="literal">brightness</code> (int) val [(int) abs=0] </p></li><li class="listitem"><p><code class="literal">hue</code> (int) val [(int) abs=0] </p></li><li class="listitem"><p><code class="literal">saturation</code> (int) val [(int) abs=0]</p><p> Establece/Ajusta los parámetros de video. Rango de val entre -100 y 100. </p></li><li class="listitem"><p><code class="literal">frame_drop</code> [(int) type=-1]</p><p> Cambia/Establece el modo de salto de marcos. </p></li><li class="listitem"><p><code class="literal">sub_visibility</code></p><p> Ajusta la visibilidad de los subtítulos. </p></li><li class="listitem"><p><code class="literal">sub_pos</code> (int) val</p><p> Ajusta la posición de los subtítulos. </p></li><li class="listitem"><p><code class="literal">vobsub_lang</code></p><p> Cambia el idioma de los subtítulos VobSub. </p></li><li class="listitem"><p><code class="literal">vo_fullscreen</code></p><p> Cambia el modo de pantalla completa. </p></li><li class="listitem"><p><code class="literal">vo_ontop</code></p><p> Cambia siempre-visible. Soportado por controladores que usen X11, excepto SDL, así como directx y gl2 bajo Windows. </p></li><li class="listitem"><p><code class="literal">tv_step_channel</code> (int) dir</p><p> Selecciona el canal de tv siguiente/previo. </p></li><li class="listitem"><p><code class="literal">tv_step_norm</code></p><p> Cambia la norma de TV. </p></li><li class="listitem"><p><code class="literal">tv_step_chanlist</code></p><p> Cambia la lista de canales. </p></li><li class="listitem"><p><code class="literal">gui_loadfile</code></p></li><li class="listitem"><p><code class="literal">gui_loadsubtitle</code></p></li><li class="listitem"><p><code class="literal">gui_about</code></p></li><li class="listitem"><p><code class="literal">gui_play</code></p></li><li class="listitem"><p><code class="literal">gui_stop</code></p></li><li class="listitem"><p><code class="literal">gui_playlist</code></p></li><li class="listitem"><p><code class="literal">gui_preferences</code></p></li><li class="listitem"><p><code class="literal">gui_skinbrowser</code></p><p> Acciones para el GUI </p></li></ul></div></div></div><div class="sect2" title="3.2.2. Control desde LIRC"><div class="titlepage"><div><div><h3 class="title"><a name="lirc"></a>3.2.2. Control desde LIRC</h3></div></div></div><p> Linux Infrared Remote Control - use un receptor-IR facil de hacer y fabricar en casa, un (casi) arbitrario control remoto ¡y controle su linux con él! Más acerca de esto en <a class="ulink" href="http://www.lirc.org" target="_top">www.lirc.org</a>. </p><p> Si tiene instalado el paquete-lirc, configure lo autodetectará. Si todo va bien, <span class="application">MPlayer</span> escribirá un mensaje como "<code class="computeroutput">Setting up lirc support...</code>" durante su inicio. Si ocurre algún error le informará de ello. Si no le dice nada acerca de LIRC es porque se ha compilado sin tenerlo en cuenta. Eso es todo :-) </p><p> El nombre de la aplicación para <span class="application">MPlayer</span> es - oh que maravilla - <tt class="filename">mplayer</tt>. Puede usar las órdenes de <span class="application">MPlayer</span> e incluso pasar más de una órden separándolas con <code class="literal">\n</code>. No olvide activar el marcador repeat en <tt class="filename">.lircrc</tt> cuando tenga sentido (posición, volumen, etc). Aquí hay un extracto de mi <tt class="filename">.lircrc</tt>: </p><pre class="programlisting"> begin button = VOLUME_PLUS prog = mplayer config = volume 1 repeat = 1 end begin button = VOLUME_MINUS prog = mplayer config = volume -1 repeat = 1 end begin button = CD_PLAY prog = mplayer config = pause end begin button = CD_STOP prog = mplayer config = seek 0 1\npause end</pre><p> Si no le gusta la localización estándar del archivo de configuración de lirc (<tt class="filename">~/.lircrc</tt>) use el conmutador <tt class="option">-lircconf <em class="replaceable"><code>nombre-archivo</code></em></tt> para especificar otro archivo. </p></div><div class="sect2" title="3.2.3. Modo esclavo"><div class="titlepage"><div><div><h3 class="title"><a name="slave-mode"></a>3.2.3. Modo esclavo</h3></div></div></div><p> El modo esclavo le permite construir una interfaz gráfica de manera simple para <span class="application">MPlayer</span>. Cuando se activa (con la opción <tt class="option">-slave</tt>) <span class="application">MPlayer</span> lee las órdenes separándolsa por el caracter de nueva línea (\n) desde la entrada estándar stdin. </p></div></div><div class="sect1" title="3.3. Streaming desde la red o tuberías"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="streaming"></a>3.3. Streaming desde la red o tuberías</h2></div></div></div><p> <span class="application">MPlayer</span> puede reproducir archivos desde la red, usando el protocolo HTTP, FTP, MMS o RTSP/RTP. </p><p> La reprodución comienza símplemente añadiendo la URL en la línea de órdenes. <span class="application">MPlayer</span> también tiene en cuenta a la variable de entorno <code class="envar">http_proxy</code>, y usa el proxy si está disponible. El uso de proxy también puede forzarse con: </p><pre class="screen">mplayer <em class="replaceable"><code>http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf</code></em></pre><p> </p><p> <span class="application">MPlayer</span> puede leer desde la entrada estádar (<span class="emphasis"><em>no</em></span> desde tuberías nombradas). Esto puede ser usado por ejemplo para reproducir desde FTP: </p><pre class="screen">wget <em class="replaceable"><code>ftp://micorsops.com/algo.avi</code></em> -O - | mplayer -</pre><p> </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p> Nota: también es recomendable activar la <tt class="option">-cache</tt>cuando se reproduce desde la red: </p><pre class="screen">wget ftp://micorsops.com/algo.avi -O - | mplayer -cache 8192 -</pre><p> </p></div></div><div class="sect1" title="3.4. Flujos remotos"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="mpst"></a>3.4. Flujos remotos</h2></div></div></div><p> Los flujos remotos le permiten acceder a la mayoría de los tipos de flujo para <span class="application">MPlayer</span> desde un host remoto. El propósito principal de esta característica es hacer posible la reproducción directa usando CD o DVD de otro ordenador a través de la red (suponiendo que tiene el ancho de banda requerido). En el lado bajo algunos tipos de flujos (actualmente TV y MF) no se pueden usar de manera remota debido a que están implementados a nivel de demultiplexor. De todos modos para MF y TV debería de tener una cantidad insana de ancho de banda. </p><div class="sect2" title="3.4.1. Compilando el servidor"><div class="titlepage"><div><div><h3 class="title"><a name="compile_mpst_server"></a>3.4.1. Compilando el servidor</h3></div></div></div><p> Después de que tenga <span class="application">MPlayer</span> compilado vaya a <tt class="filename">TOOLS/netstream</tt> para compilar el binario del servidor. Puede hacer una copia del binario de <span class="application">netstream</span> al lugar correcto en su sistema (normalmente <tt class="filename">/usr/local/bin</tt> en Linux). </p></div><div class="sect2" title="3.4.2. Usando flujos remotos"><div class="titlepage"><div><div><h3 class="title"><a name="use_mpst"></a>3.4.2. Usando flujos remotos</h3></div></div></div><p> Lo primero que tiene que hacer es iniciar el servidor en el ordenador al que quiere hacer el acceso remoto. Actualmente el servidor es muy básico y no tiene ningún argumento en la línea de órdenes nada más que escribir <tt class="filename">netstream</tt>. Ahora puede por ejemplo reproducir una segunda pista de un VCD en el servidor con : </p><pre class="screen"> mplayer -cache 5000 <em class="replaceable"><code>mpst://nombre-servidor/vcd://2</code></em> </pre><p> También puede acceder a los archivos en este servidor : </p><pre class="screen"> mplayer -cache 5000 <em class="replaceable"><code>mpst://nombre-servidor//usr/local/peliculas/lol.avi</code></em> </pre><p> Note que las rutas que no empiezan con un / deben ser relativas al directorio donde el servidor está corriendo. La opción <tt class="option">-cache</tt> no es necesaria pero es altamente recomendable. </p><p> Tenga cuidado con que actualmente el servidor no es para nada seguro. No se queje de la cantidad tan numerosa de fallos de seguridad que es posible que tenga. En lugar de eso, envíe algunos (buenos) parches para mejorarlo o escriba su propio servidor. </p></div></div><div class="sect1" title="3.5. Listas de Decisión de Edición (EDL)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="edl"></a>3.5. Listas de Decisión de Edición (EDL)</h2></div></div></div><p> El sistema de listas de decisión de edición (EDL) le permite automáticamente saltar o silenciar secciones de vídeos durante la reproducción, basado en un archivo de configuración de EDL especifico de una película. </p><p> Esto es útil para aquellos que quieran mirar una película "de manera familiar". Puede cortar secciones de violencia, profanidad, Jar-Jar Binks... de una película de acuerdo a sus preferencias personales. A un lado de esto, tiene otros usos, como pasar automáticamente comerciales en archivos de vídeos que mire. </p><p> El formato de archivo EDL es muy simple. Una vez que el sistema EDL haya alcanzado cierto nivel de maduración, es muy probable que se implemente un formato de archivo basada en XML (manteniendo compatibilidad con los formatos previos de EDL). </p><div class="sect2" title="3.5.1. Usando un archivo EDL"><div class="titlepage"><div><div><h3 class="title"><a name="edl_using"></a>3.5.1. Usando un archivo EDL</h3></div></div></div><p> Incluya la opción <tt class="option">-edl <archivo></tt> cuando quiera correr <span class="application">MPlayer</span>, con el nombre del archivo EDL que quiere que se le aplique al vídeo. </p></div><div class="sect2" title="3.5.2. Haciendo un archivo EDL"><div class="titlepage"><div><div><h3 class="title"><a name="edl_making"></a>3.5.2. Haciendo un archivo EDL</h3></div></div></div><p> El actual formato de un archivo EDL es: </p><pre class="programlisting"> [segundo de inicio] [segundo final] [acción] </pre><p> Donde los segundos son números de punto flotante y la acción es o bien <code class="literal">0</code> para saltar esa parte o <code class="literal">1</code> para silenciarla. Por ejemplo: </p><pre class="programlisting"> 5.3 7.1 0 15 16.7 1 420 422 0 </pre><p> Esto hará que se salten del segundo 5.3 al segundo 7.1 del vídeo, entonces silenciar en el segundo 15, volver el sonido a los 16.7 segundos y saltar desde el segundo 420 al segundo 422 del vídeo. Estas acciones serán realizadas cuando el reloj de reproducción alcance los tiempos dados en el archivo. </p><p> Para crear un archivo EDL para poder trabajar, use la <tt class="option">-edlout <archivo></tt>. Durante la reproducción, cuando quiera marcar los dos segundos previos para ser saltados, pulse <span class="keycap"><b>i</b></span>. Se guardara una entrada en el archivo para ese momento. Luego puede volver atrás y ajustar a mano el archivo EDL generado. </p></div></div></div><div class="chapter" title="Capítulo 4. Uso de CD/DVD"><div class="titlepage"><div><div><h2 class="title"><a name="cd-dvd"></a>Capítulo 4. Uso de CD/DVD</h2></div></div></div><div class="toc"><dl><dt><span class="sect1"><a href="#drives">4.1. Unidades de CD/DVD</a></span></dt><dt><span class="sect1"><a href="#dvd">4.2. Reproducción de DVD</a></span></dt><dt><span class="sect1"><a href="#vcd">4.3. Reproducción de VCD</a></span></dt></dl></div><div class="sect1" title="4.1. Unidades de CD/DVD"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="drives"></a>4.1. Unidades de CD/DVD</h2></div></div></div><p> Extracto de documentación de Linux: </p><p> Las unidades de CD-ROM modernas pueden alcanzar velocidades de lectura muy altas, a pesar de ello algunas unidades de CD-ROM son capaces de funcionar a velocidades reducidas. Hay varias razones que pueden hacer considerar cambiar la velocidad de la unidad de CD-ROM: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Ha habido varios informes de errores de lectura a velocidades altas, especialmente en unidades de CD-ROM en mal estado. Reducir la velocidad puede prevenir la pérdida de datos bajo estas circunstancias. </p></li><li class="listitem"><p> Algunas unidades de CD-ROM son molestamente ruidosas, a menor velocidad se puede reducir el ruido. </p></li></ul></div><p> Puede reducir la velocidad de las unidades de CD-ROM IDE con <span class="command"><strong>hdparm</strong></span> o con un programa llamado <span class="command"><strong>setcd</strong></span>. Funciona de la siguiente manera: </p><pre class="screen">hdparm -E <em class="replaceable"><code>[velocidad]</code></em> <em class="replaceable"><code>[dispositivo de cdrom]</code></em></pre><p> </p><pre class="screen">setcd -x <em class="replaceable"><code>[velocidad]</code></em> <em class="replaceable"><code>[dispositivo cdrom]</code></em></pre><p> </p><p> Si tiene privilegios de root la siguiente órden puede también ayudarle: </p><pre class="screen">echo file_readahead:2000000 > /proc/ide/<em class="replaceable"><code>[cdrom device]</code></em>/settings</pre><p> </p><p> Esto establece prelectura de 2MB del archivo, lo cual ayuda en CD-ROMs rayados. Si establece un valor demasiado alto, la unidad puede estar contínuamente girando y parando, y puede decrementar dramáticamente el rendimiento. Se recomienda que también afine su unidad de CD-ROM con <span class="command"><strong>hdparm</strong></span>: </p><pre class="screen">hdparm -d1 -a8 -u1 <em class="replaceable"><code>cdrom device</code></em></pre><p> </p><p> Esto activa el acceso DMA, pre-lectura, y desenmascarado de IRQ (lea la página de manual de <span class="command"><strong>hdparm</strong></span> para una explicación detallada). </p><p> Por favor, diríjase a "<tt class="filename">/proc/ide/<em class="replaceable"><code>cdrom device</code></em>/settings"</tt> para ajuste-fino de su CD-ROM. </p><p> Las unidades SCSI no tienen una manera uniforme para estableces estos parámetros (¿conoce alguna? ¡Díganoslo!) Aquí hay una herramienta que funciona para <a class="ulink" href="http://das.ist.org/~georg/" target="_top">unidades Plextor SCSI</a>. </p><p>FreeBSD:</p><p>Speed: <span class="command"><strong>cdcontrol [-f <em class="replaceable"><code>dispositivo</code></em>] speed <em class="replaceable"><code>velocidad</code></em></strong></span></p><p>DMA: <span class="command"><strong>sysctl hw.ata.atapi_dma=1</strong></span></p></div><div class="sect1" title="4.2. Reproducción de DVD"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="dvd"></a>4.2. Reproducción de DVD</h2></div></div></div><p> Para una lista completa de opciones disponibles, lea por favor la página de manual. La Sintaxis para un Disco Versátil Digital (DVD) estándar es la siguiente: </p><pre class="screen">mplayer dvd://<em class="replaceable"><code><pista></code></em> [-dvd-device <em class="replaceable"><code><dispositivo></code></em>]</pre><p> </p><p> Ejemplo: </p><pre class="screen">mplayer dvd://<em class="replaceable"><code>1</code></em> -dvd-device <em class="replaceable"><code>/dev/hdc</code></em></pre><p> </p><p> El dispositivo DVD por defecto es <tt class="filename">/dev/dvd</tt>. Si su configuración es diferente, haga un enlace simbólico o especifique el dispositivo correcto en la línea de órdenes con la opción <tt class="option">-dvd-device</tt>. </p><p title="Soporte para el DVD de Nuevo-estilo (mpdvdkit2)"><b>Soporte para el DVD de Nuevo-estilo (mpdvdkit2). </b> <span class="application">MPlayer</span> usa <code class="systemitem">libdvdread</code> y <code class="systemitem">libdvdcss</code> para desencriptación y reproducción. Estas dos bibliotecas están contenidas en el subdirectorio <tt class="filename">libmpdvdkit2/</tt> del árbol de código fuente de <span class="application">MPlayer</span>, no tiene que instalarlo por separado. Hemos optado por esta solución porque hemos corregido un error de <code class="systemitem">libdvdread</code> y aplicado un parche que añade <span class="bold"><strong>soporte para cacheo de claves CSS crackeadas</strong></span> para <code class="systemitem">libdvdcss</code>. Esto resulta en un gran incremento de velocidad porque las claves no tienen que ser crackeadas cada vez que se reproduce. </p><p> <span class="application">MPlayer</span> puede usar también bibliotecas <code class="systemitem">libdvdread</code> del sistema y <code class="systemitem">libdvdcss</code>, pero esta solución <span class="bold"><strong>no</strong></span> se recomienda, porque puede resultar en fallos, incompatibilidades de bibliotecas y velocidad más lenta. </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p> En caso de problemas de decodificación de DVD, pruebe a deshabilitar supermount, o cualquier otra utilidad de este tipo. </p></div><p title="Estructura de DVD"><b>Estructura de DVD. </b> Los discos de DVD tienen 2048 bytes por sector con ECC/CRC. Normalmente tienen un sistema de archivos UDF en una pista simple, conteniendo varios archivos (archivos pequeños .IFO y .BUK y archivos grandes (1GB) .VOB). Son archivos reales y pueden ser copiados/reproducidos desde un sistema de archivos montado de un DVD sin encriptar. </p><p> Los archivos .IFO contienen la información de navegación por la película (capítulos/títulos/mapas de ángulos, tablas de idiomas, etc) y son necesarios para leer e interpretar el contenido del .VOB (la película). Los archivos .BUK son copias de seguridad de estos. Usan <span class="bold"><strong>sectores</strong></span> por todos sitios, por lo que necesita usar direccionamiento crudo de sectores del disco para implementar navegación DVD o desencriptar el contenido. </p><p> El soporte DVD necesita acceso basado en sectores al dispositivo. Desafortunadamente debe (bajo Linux) ser root para obtener la dirección de un sector dentro de un archivo. Este es el motivo por el que no se usa el controlador interno del sistema de archivos del kernel, en su lugar se ha reimplementado en el espacio de usuario. <code class="systemitem">libdvdread</code> 0.9.x y <code class="systemitem">libmpdvdkit</code> hacen esto. El controlador de sistema de archivos UDF del kernel no es necesario ya que tenemos nuestro propio controlador de sistema de archivos UDF. Además el DVD no necesita estar montado ya que solo se usa acceso a nivel de sectores. </p><p> Algunas veces <tt class="filename">/dev/dvd</tt> no puede ser leído por los usuarios, por lo que los autores de <code class="systemitem">libdvdread</code> han implementado una capa de emulación que transfiere el direccionamiento por sectores a nombres de archivo + desplazamiento, para emular un acceso crudo sobre un sistema de archivos montado o incluso en un disco duro. </p><p> <code class="systemitem">libdvdread</code> incluso acepta un punto de montaje en lugar del nombre del dispositivo para acceso crudo y comprueba <tt class="filename">/proc/mounts</tt> para obtener el nombre del dispositivo. Esto ha sido desarrollado por Solaris, donde los nombres de los dispositivos son asignados dinámicamente. </p><p> El dispositivo por defecto de DVD es <tt class="filename">/dev/dvd</tt>. Si su configuración no coincide con esto, haga un enlace simbólico, o especifique el dispositivo correcto en la línea de órdenes con la opción <tt class="option">-dvd-device</tt>. </p><p title="Autenticación para DVD"><b>Autenticación para DVD. </b> La autenticación y el método de desencriptación del soporte de DVD al nuevo-estilo se ha hecho usando una versión modificada de <code class="systemitem">libdvdcss</code> (vea más arriba). Este método peude ser especificado a través de la variable de entorno <code class="envar">DVDCSS_METHOD</code>, que puede ser establecido a key, disk o title. </p><p> Si no se especifica nada se prueban los siguientes métodos (por defecto: key, petición de título): </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p> <span class="bold"><strong>bus key</strong></span>: Esta clave es negociada durante la autenticación (una larga mezcla de ioctls y varios intercambios de claves, material de encriptación) y es usada para encriptar el título y las claves de disco antes de enviarlas sobre el bus sin proteger (para prevenir robos de claves). El bus key necesita obtener y predesencriptar la clave encriptada de disco. </p></li><li class="listitem"><p> <span class="bold"><strong>cached key</strong></span>: <span class="application">MPlayer</span> mira a ver si el título ya ha sido crackeado con una clave almacenada en el directorio <tt class="filename">~/.mplayer/DVDKeys</tt> (rápido ;). </p></li><li class="listitem"><p> <span class="bold"><strong>key</strong></span>: Si no hay una clave disponible en caché, <span class="application">MPlayer</span> intenta desencriptar la clave del disco con un conjunto de claves de reproductor incluidas. </p></li><li class="listitem"><p> <span class="bold"><strong>disk</strong></span>: Si el método key falla (p.e. no hay claves de reproductor incluídas), <span class="application">MPlayer</span> crackeará la clave del disco usando un algoritmo de fuerza bruta. Este proceso usa la CPU de manera intensiva y requiere 64 MB de memoria (una tabla hash de 16M 32Bit entradas) para almacenamiento temporal de datos. Este método debe funcionar siempre (lento). </p></li><li class="listitem"><p> <span class="bold"><strong>title request</strong></span>: Con la clave del disco <span class="application">MPlayer</span> pide las claves encriptadas de los títulos que están dentro de <span class="emphasis"><em>sectores escondidos</em></span> usando <code class="systemitem">ioctl()</code>. La protección por región de unidades RPC-2 se hace en este paso y puede fallas en algunas unidades de disco. Si funciona bien, las claves de títulos son desencriptadas con las claves de bus y de disco. </p></li><li class="listitem"><p> <span class="bold"><strong>title</strong></span>: Este método es usado si la búsqueda de título falla y no sale en ningun intercambio de clave con la unidad de DVD. Usa un ataque de encriptación para buscar la clave del título directamente (encontrando un patrón que se repita en el contenido del VOB desencriptado y comprobando que el texto plano corresponde a los primeros bytes encriptados como una continuación del patrón). El método es también conocido como "ataque de texto plano conocido" o "DeCSSPlus". En raras ocasiones esto falla porque no hay suficientes datos desencriptados en el disco para realizar un ataque estadístico o porque las claves cambian en mitad de un título. Este método es la única manera de desencriptar un DVD almacenado en un disco duro o en un DVD con la región incorrecta en una unidad RPC2 (lento). </p></li></ol></div><p> Las unidades de DVD RPC-1 solo protegen la configuración de región a través de software. Las unidades RPC-2 tienen una protección por hardware que permite tan solo 5 cambios. Puede ser necesario/recomendable actualizar el firmware a RPC-1 si tiene una unidad RPC-2. Las actualizaciones de firmware puede encontrarse en esta <a class="ulink" href="http://www.firmware-flash.com" target="_top">página del firmware</a>. Si no hay una actualización del firmware disponible para su dispositivo, use la <a class="ulink" href="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz" target="_top">herramienta regionset</a> para establecer el código de región de su unidad de DVD (bajo Linux). <span class="bold"><strong>Advertencia</strong></span>: Solo puede establecer la región 5 veces. </p></div><div class="sect1" title="4.3. Reproducción de VCD"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="vcd"></a>4.3. Reproducción de VCD</h2></div></div></div><p> Para una lista completa de las opciones disponibles, lea por favor la página de manual. La sintaxis para un Video CD (VCD) estándar es la siguiente: </p><pre class="screen">mplayer vcd://<em class="replaceable"><code><track></code></em> [-cdrom-device <em class="replaceable"><code><device></code></em>]</pre><p> Ejemplo: </p><pre class="screen">mplayer vcd://<em class="replaceable"><code>2</code></em> -cdrom-device <em class="replaceable"><code>/dev/hdc</code></em></pre><p> El dispositivo para VCD Por defecto es <tt class="filename">/dev/cdrom</tt>. Si su configuracio no coincide con esto, haga un enlace simbólico o especifique el dispositivo correcto en la línea de órdenes con la opción <tt class="option">-cdrom-device</tt>. </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p> Al menos las unidades de CD-ROM SCSI Plextor y algunas Toshiba tienen un rendimiento horrible leyendo VCDs. Esto es porque el <code class="systemitem">ioctl</code> CDROMREADRAW no está completamente implementado en estas unidades. Si tiene conocimientos sobre la programación SCSI, por favor <a class="ulink" href="../../tech/patches.txt" target="_top">ayúdenos</a> a implementar soporte SCSI genérico para VCDs. </p></div><p> En la actualidad puede extraer datos desde VCDs con <a class="ulink" href="http://140.132.1.204/OS/Linux/packages/X/viewers/readvcd/" target="_top">readvcd</a> y reproducir el archivo resultante con <span class="application">MPlayer</span>. </p><p title="Estructura de un VCD"><b>Estructura de un VCD. </b>Los discos de VCD consisten en una o más pistas:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> La primera piesta es una pista pequeña de datos 2048 bytes/sector con un sistema de archivos iso9660, normalmente conteniendo programas reproductores de VCD para Windows o quizá alguna otra información (imágenes, texto, etc). </p></li><li class="listitem"><p> La segunda y otras pistas son 2324 bytes/sector crudas de MPEG (película), conteniendo un paquete de datos MPEG PS por sector en lugar de un sistema de archivos. De manera similar a las pistas de CD de audio, estas pistas <span class="bold"><strong>no pueden ser montadas</strong></span> (¿Alguna vez ha montado un CD de audio para reproducirlo?). Como las películas están dentro de esta pista, debería probar <tt class="option">vcd://2</tt> primero. </p></li><li class="listitem"><p> Existen discos de VCD sin la primera pista (pista simple y sin ningún sistema de archivos). Siguen siendo reproducibles, pero no pueden ser montadas. </p></li></ul></div><p title="Acerca de los archivos .DAT"><b>Acerca de los archivos .DAT. </b> Los archivos visibles de ~600 MB en la primera pista de un VCD montado ¡no son archivos reales! Son llamadas puertas de acceso ISO, creadas para permitir a Windows administrar estas pistas (Windows no permite acceso crudo al dispositivo en ninguna de sus aplicaciones). Bajo Linux no puede copiar o reproducir estos archivos (solo contienen basura). Bajo Windows es posible que el controlador iso9660 emule lectura cruda de las pistas en estos archivos. Para reproducir un archivo .DAT necesita el controlador del kernel que se encuentra en la versión para Linux de PowerDVD. Contiene un controlador de sistema de archivos iso9660 modificado (<tt class="filename">vcdfs/isofs-2.4.X.o</tt>), que permite emular las pistas crudas a través de este archivo de sombra .DAT. Si monta el disco usando ese controlador, puede copiar e incluso reproducir los archivos .DAT con <span class="application">MPlayer</span>. ¡Pero no funciona con el controlador estandar iso9660 del kernel de Linux! Use <tt class="option">vcd://</tt> en su lugar. Alternativas para copiar un VCD son los nuevos controladores del kernel <a class="ulink" href="http://www.elis.rug.ac.be/~ronsse/cdfs/" target="_top">cdfs</a> (que no forman parte del kernel oficialmente) que muestran sesiones de CD como archivos de imagen y <a class="ulink" href="http://cdrdao.sourceforge.net/" target="_top">cdrdao</a>, un programa para grabar/copiar CD bit-por-bit. </p></div></div><div class="chapter" title="Capítulo 5. TV"><div class="titlepage"><div><div><h2 class="title"><a name="tv"></a>Capítulo 5. TV</h2></div></div></div><div class="toc"><dl><dt><span class="sect1"><a href="#tv-input">5.1. Entrada de TV</a></span></dt><dd><dl><dt><span class="sect2"><a href="#tv-compilation">5.1.1. Compilación</a></span></dt><dt><span class="sect2"><a href="#tv-tips">5.1.2. Consejos de Uso</a></span></dt><dt><span class="sect2"><a href="#tv-examples">5.1.3. Ejemplos</a></span></dt></dl></dd></dl></div><div class="sect1" title="5.1. Entrada de TV"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="tv-input"></a>5.1. Entrada de TV</h2></div></div></div><p> Esta sección es acerca de como poder <span class="bold"><strong>mirar/capturar desde un dispositivo sintonizador de TV compatible con V4L</strong></span>. Vea la página del manual para una descripción de las opciones de TV y los controles del teclado. </p><div class="sect2" title="5.1.1. Compilación"><div class="titlepage"><div><div><h3 class="title"><a name="tv-compilation"></a>5.1.1. Compilación</h3></div></div></div><div class="procedure"><ol class="procedure" type="1"><li class="step" title="Paso 1"><p> Primero, deberá recompilar. <tt class="filename">./configure</tt> detectará los archivos de encabezados de las cosas de v4l y la existencia de las entradas <tt class="filename">/dev/video*</tt>. Si existen, el soporte de TV se compilará (vea la salida de <tt class="filename">./configure</tt>). </p></li><li class="step" title="Paso 2"><p> Asegúrese de que su sintonizador funcione bien con otro software de TV en Linux, como por ejemplo con <span class="application">XawTV</span>. </p></li></ol></div></div><div class="sect2" title="5.1.2. Consejos de Uso"><div class="titlepage"><div><div><h3 class="title"><a name="tv-tips"></a>5.1.2. Consejos de Uso</h3></div></div></div><p> El listado completo de opciones esta disponible en la página del manual. Aquí hay solamente un par de consejos: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Use la opción <tt class="option">channels</tt>(canales). Ejemplo: </p><pre class="screen">-tv channels=26-MTV,23-TV2</pre><p> Explicación: usando esta opción, solo se podrá ver el canal 26 y el 23 y habrá un bonito texto en pantalla (OSD) por cada cambio de canal, mostrando el nombre del canal. Los espacios en el nombre del canal deben ser reemplazados por el carácter "_". </p></li><li class="listitem"><p> Elija varias dimensiones de imagen razonables. Las dimensiones de la imagen resultante deberían ser divisibles por 16. </p></li><li class="listitem"><p> Si captura el vídeo con una resolución vertical más grande que la mitad de la resolución total (por ejemplo: 288 para PAL o 240 para NTSC), asegúrese que activó el desentrelazado. De otro modo obtendrá una película la cual esta distorsionada durante las escenas con movimientos rápidos y el controlador de tasa de bits probablemente no podrá ser capaz de retener la cantidad de información necesaria ya que el entrelazado produce una gran cantidad de detalles y por lo tanto consume una gran cantidad de ancho de banda. Puede activar el desentrelazado con la opción <tt class="option">-vf pp=DEINT_TYPE</tt>. Normalmente <tt class="option">pp=lb</tt> funciona bien, pero es un problema de preferencias personales. Vea otros algoritmos de desentrelazado en el manual y pruebelos. </p></li><li class="listitem"><p> Corte el área no usada. Cuando captura vídeo, las áreas en los bordes normalmente son negras y contienen algo de ruido. Esto también consume un montón de ancho de banda innecesario. Más precisamente no son las áreas en negro por si mismas pero si las bruscas transcisiones entre el negro y la imagen de vídeo brillante pero por ahora eso no es importante por ahora. Antes de empezar a capturar, ajuste los argumentos de la opción <tt class="option">crop</tt> de tal manera que todo lo negro quede afuera. Nuevamente, no se olvide de mantener las dimensiones de manera razonables. </p></li><li class="listitem"><p> Observe la carga de CPU. La mayoría del tiempo no debería cruzar el límite del 90%. Si tiene un gran buffer de captura, <span class="application">MEncoder</span> puede sobrevivir una sobrecarga por unos pocos segundos y nada más. Es mejor apagar los salvadores de pantalla 3D OpenGL y ese tipo de cosas. </p></li><li class="listitem"><p> No se meta con el reloj del sistema. <span class="application">MEncoder</span> usa el reloj del sistema para mantener sincronía entre Audio y Vídeo. Si ajusta el reloj del sistema (particularmente volviendo hacia atrás en el tiempo), <span class="application">MEncoder</span> se confunde y pierde cuadros. Esto es un problema importante si está conectado a una red y corre algún tipo de software de sincronización como NTP. Debería desactivar NTP durante el proceso de captura si quiere capturar en forma confiable. </p></li><li class="listitem"><p> No cambie la opción <tt class="option">outfmt</tt> a menos que sepa lo que está haciendo o su tarjeta/controlador realmente no soporte la opción por omisión (espacio de color YV12). En las versiones viejas de <span class="application">MPlayer</span>/<span class="application"> MEncoder</span> era necesario especificar el formato de salida. Este problema se debería estar resuelto en las versiones actuales y la opción <tt class="option">outfmt</tt> no se requiere más, ya que la opción por omisión sirve para la mayoría de los propósitos. Por ejemplo si está capturando en DivX usando <code class="systemitem">libavcodec</code> y especifica <tt class="option">outfmt=RGB24</tt> para incrementar la calidad de las imágenes capturadas, las imágenes capturadas serán realmente convertidas nuevamente a YV12 por lo que lo único que logra es un desperdicio masivo de ciclos de CPU. </p></li><li class="listitem"><p> Para especificar el espacio de colores I420 (<tt class="option">outfmt=i420</tt>), deberá agregar una opción <tt class="option">-vc rawi420</tt> debido a un conflicto de fourcc con un codec de vídeo de Intel Indeo. </p></li><li class="listitem"><p> Hay muchas maneras de capturar audio. Puede capturar el sonido ya sea usando su tarjeta de sonido por medio de un cable de conexión externo entre la placa sintonizadora y la linea de entrada, o usando el chip ADC incorporado en el chip bt878. En este ultimo caso, deberá cargar el controlador <span class="bold"><strong>btaudio </strong></span>. Lea el archivo <tt class="filename">linux/Documentation/sound/btaudio</tt> (en el árbol de directorio del núcleo, no el de <span class="application">MPlayer</span>) para instrucciones de como usar este controlador. </p></li><li class="listitem"><p> Si <span class="application">MEncoder</span> no puede abrir el dispositivo de audio, asegúrese que este realmente disponible. Puede haber algunos problemas con algunos servidores de sonido como arts (KDE) o esd (GNOME). Si tiene una placa de sonido full dúplex (casi todas las placas decentes lo soportan hoy en día), y está usando KDE, trate activando la opción "full dúplex" en el menú de preferencias del servidor de sonido. </p></li></ul></div></div><div class="sect2" title="5.1.3. Ejemplos"><div class="titlepage"><div><div><h3 class="title"><a name="tv-examples"></a>5.1.3. Ejemplos</h3></div></div></div><div class="informalexample"><p> Salida ficticia, a AAlib :) </p><pre class="screen"> mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://</pre><p> </p></div><div class="informalexample"><p> Entrada desde un dispositivo estándar V4L: </p><pre class="screen"> mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://</pre><p> </p></div><div class="informalexample"><p> Un ejemplo más sofisticado. Esto hace que <span class="application">MEncoder</span> capture la imagen completa PAL, corte los margenes y desentrelazando la imagen usando un algoritmo linear blend. El audio es comprimido con una tasa de bits constante de 64kbps, usando el codec LAME. Esta configuración es satisfactoria para capturar películas. </p><pre class="screen"> mencoder -tv driver=v4l:width=768:height=576 \ -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \ -oac mp3lame -lameopts cbr:br=64 \ -vf crop=720:544:24:16,pp=lb -o <em class="replaceable"><code>salida.avi</code></em> tv:// </pre><p> </p></div><div class="informalexample"><p> Esto adicionalmente escalará la imagen a 384x288 y comprimirá el vídeo a una tasa de bits de 350kbps en modo alta calidad. La opción <tt class="option"> vqmax</tt> suelta al cuantizador y le permite al compresor de vídeo alcanzar tasas de bits muy bajas a expensas de la calidad. Esto puede ser usado para capturar series de TV largas, donde la calidad del vídeo no es tan importante. </p><pre class="screen"> mencoder -tv driver=v4l:width=768:height=576 \ -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \ -oac mp3lame -lameopts cbr:br=48 \ -vf crop=720:540:24:18,pp=tn/lb,scale=384:288 -sws 1 \ -o <em class="replaceable"><code>salida.avi</code></em> tv:// </pre><p> Es posible especificar una dimensión de imagen más chica en la opción <tt class="option">-tv</tt> y omitir el escalado de software pero este enfoque usa la máxima cantidad de información disponible y es un poco más resistente al ruido. Los chips bt8x8 pueden hacer el promediado de pixels solo en dirección horizontal debido a limitaciones de hardware. </p></div></div></div></div><div class="chapter" title="Capítulo 6. Dispositivos de salida de video"><div class="titlepage"><div><div><h2 class="title"><a name="video-dev"></a>Capítulo 6. Dispositivos de salida de video</h2></div></div></div><div class="toc"><dl><dt><span class="sect1"><a href="#mtrr">6.1. Configurando MTRR</a></span></dt><dt><span class="sect1"><a href="#output-trad">6.2. Salidas de video para tarjetas de video tradicionales</a></span></dt><dd><dl><dt><span class="sect2"><a href="#xv">6.2.1. Xv</a></span></dt><dd><dl><dt><span class="sect3"><a href="#tdfx">6.2.1.1. Tarjetas 3dfx</a></span></dt><dt><span class="sect3"><a href="#s3">6.2.1.2. Tarjetas S3</a></span></dt><dt><span class="sect3"><a href="#nvidia">6.2.1.3. Tarjetas nVidia</a></span></dt><dt><span class="sect3"><a href="#ati">6.2.1.4. Tarjetas ATI</a></span></dt><dt><span class="sect3"><a href="#neomagic">6.2.1.5. Tarjetas NeoMagic</a></span></dt><dt><span class="sect3"><a href="#trident">6.2.1.6. Tarjetas Trident</a></span></dt><dt><span class="sect3"><a href="#kyro">6.2.1.7. Tarjetas Kyro/PowerVR</a></span></dt></dl></dd><dt><span class="sect2"><a href="#dga">6.2.2. DGA</a></span></dt><dt><span class="sect2"><a href="#sdl">6.2.3. SDL</a></span></dt><dt><span class="sect2"><a href="#svgalib">6.2.4. SVGAlib</a></span></dt><dt><span class="sect2"><a href="#fbdev">6.2.5. Salida en framebuffer (FBdev)</a></span></dt><dt><span class="sect2"><a href="#mga_vid">6.2.6. Framebuffer de Matrox (mga_vid)</a></span></dt><dt><span class="sect2"><a href="#tdfxfb">6.2.7. Soporte 3Dfx YUV</a></span></dt><dt><span class="sect2"><a href="#opengl">6.2.8. Salida OpenGL</a></span></dt><dt><span class="sect2"><a href="#aalib">6.2.9. AAlib - reproduciendo en modo texto</a></span></dt><dt><span class="sect2"><a href="#caca">6.2.10. <code class="systemitem">libcaca</code> - Biblioteca de Arte AsCii en color</a></span></dt><dt><span class="sect2"><a href="#vesa">6.2.11. VESA - salida en VESA BIOS</a></span></dt><dt><span class="sect2"><a href="#x11">6.2.12. X11</a></span></dt><dt><span class="sect2"><a href="#vidix">6.2.13. VIDIX</a></span></dt><dd><dl><dt><span class="sect3"><a href="#vidix-ati">6.2.13.1. Tarjetas ATI</a></span></dt><dt><span class="sect3"><a href="#vidix-mga">6.2.13.2. Tarjetas Matrox</a></span></dt><dt><span class="sect3"><a href="#vidix-trident">6.2.13.3. Tarjetas Trident</a></span></dt><dt><span class="sect3"><a href="#vidix-3dlabs">6.2.13.4. Tarjetas 3DLabs</a></span></dt><dt><span class="sect3"><a href="#vidix-nvidia">6.2.13.5. Tarjetas nVidia</a></span></dt><dt><span class="sect3"><a href="#vidix-sis">6.2.13.6. Tarjetas SiS</a></span></dt></dl></dd><dt><span class="sect2"><a href="#directfb">6.2.14. DirectFB</a></span></dt><dt><span class="sect2"><a href="#dfbmga">6.2.15. DirectFB/Matrox (dfbmga)</a></span></dt></dl></dd><dt><span class="sect1"><a href="#mpeg_decoders">6.3. Decodificadores MPEG</a></span></dt><dd><dl><dt><span class="sect2"><a href="#dvb">6.3.1. DVB salida y entrada</a></span></dt><dt><span class="sect2"><a href="#dxr2">6.3.2. DXR2</a></span></dt><dt><span class="sect2"><a href="#dxr3">6.3.3. DXR3/Hollywood+</a></span></dt></dl></dd><dt><span class="sect1"><a href="#other">6.4. Otro hardware de visualización</a></span></dt><dd><dl><dt><span class="sect2"><a href="#zr">6.4.1. Zr</a></span></dt><dt><span class="sect2"><a href="#blinkenlights">6.4.2. Blinkenlights</a></span></dt></dl></dd><dt><span class="sect1"><a href="#tvout">6.5. Soporte de salida-TV</a></span></dt><dd><dl><dt><span class="sect2"><a href="#tvout-mga-g400">6.5.1. Tarjetas Matrox G400</a></span></dt><dt><span class="sect2"><a href="#tv-out_matrox_g450">6.5.2. Tarjetas Matrox G450/G550</a></span></dt><dt><span class="sect2"><a href="#tvout-ati">6.5.3. Tarjetas ATI</a></span></dt><dt><span class="sect2"><a href="#tvout-voodoo">6.5.4. Voodoo 3</a></span></dt><dt><span class="sect2"><a href="#tvout-nvidia">6.5.5. nVidia</a></span></dt><dt><span class="sect2"><a href="#tvout-neomagic">6.5.6. Neomagic</a></span></dt></dl></dd></dl></div><div class="sect1" title="6.1. Configurando MTRR"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="mtrr"></a>6.1. Configurando MTRR</h2></div></div></div><p> Es MUY recomendable comprobar si los registros MTRR están correctamente establecidos, porque pueden proporcionar un aumento considerable de rendimiento. </p><p> Haga <span class="command"><strong>cat /proc/mtrr</strong></span>: </p><pre class="screen"> <code class="prompt">--($:~)--</code> cat /proc/mtrr reg00: base=0xe4000000 (3648MB), size= 16MB: write-combining, count=9 reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1</pre><p> </p><p> Esto es lo correcto, muestra mi Matrox G400 con 16MB de memoria. Tengo esto por usar XFree 4.x.x, que configura los registros MTRR automáticamente. </p><p> Si no funciona, deberá hacerlo de manera manual. Primero, debe encontrar la dirección base. Tiene 3 formas de encontrarla: </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p> desde los mensajes de inicio de X11, por ejemplo: </p><pre class="screen"> (--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000 (--) SVGA: Linear framebuffer at 0xD8000000</pre><p> </p></li><li class="listitem"><p> de <tt class="filename">/proc/pci</tt> (use la órden <span class="command"><strong>lspci -v</strong></span>): </p><pre class="screen"> 01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525 Memory at d8000000 (32-bit, prefetchable) </pre><p> </p></li><li class="listitem"><p> de los mensajes del controlador del kernel mga_vid kernel (use <span class="command"><strong>dmesg</strong></span>): </p><pre class="screen">mga_mem_base = d8000000</pre><p> </p></li></ol></div><p> </p><p> Después encuentre el tamaño de la memoria. Esto es muy fácil, convierta el tamaño de la memoria RAM de video a hexadecimal, o use esta tabla: </p><div class="informaltable"><table border="0"><colgroup><col><col></colgroup><tbody><tr><td>1 MB</td><td>0x100000</td></tr><tr><td>2 MB</td><td>0x200000</td></tr><tr><td>4 MB</td><td>0x400000</td></tr><tr><td>8 MB</td><td>0x800000</td></tr><tr><td>16 MB</td><td>0x1000000</td></tr><tr><td>32 MB</td><td>0x2000000</td></tr></tbody></table></div><p> </p><p> Ahora ya conoce la dirección base y el tamaño de la memoria, ¡vamos a configurar los registros MTRR! Por ejemplo, para la tarjeta Matrox de antes (<code class="literal">base=0xd8000000</code>) con 32MB ram (<code class="literal">size=0x2000000</code>) ejecute: </p><pre class="screen"> echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr </pre><p> </p><p> No todas las CPUs soportan MTRRs. Por ejemplo K6-2's antiguos (alrededor de 266MHz, stepping 0) no soportan MTRR, pero stepping 12's lo soportan (<span class="command"><strong>cat /proc/cpuinfo</strong></span> para comprobarlo). </p></div><div class="sect1" title="6.2. Salidas de video para tarjetas de video tradicionales"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="output-trad"></a>6.2. Salidas de video para tarjetas de video tradicionales</h2></div></div></div><div class="sect2" title="6.2.1. Xv"><div class="titlepage"><div><div><h3 class="title"><a name="xv"></a>6.2.1. Xv</h3></div></div></div><p> Bajo XFree86 4.0.2 o posterior, puede usar las rutinas de hardware YUV de su tarjeta gráfica usando la extensión XVideo. Esto es lo que usa la opción <tt class="option">-vo xv</tt>. Además, este controlador soporta ajustes de brillo/contraste/saturación/etc (a menos que use el antiguo, lento codec DirectShow DivX, que tiene soporte siempre), vea la página de manual. </p><p> Para que esto funcione, asegúrese de comprobar lo siguiente: </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p> Tiene que usar XFree86 4.0.2 o posterior (otras versiones no tienen XVideo) </p></li><li class="listitem"><p> Su tarjeta actualmente soporta aceleración hardware (las modernas lo hacen) </p></li><li class="listitem"><p> X carga la extensión XVideo, esto es algo como: </p><pre class="programlisting">(II) Loading extension XVideo</pre><p> en <tt class="filename">/var/log/XFree86.0.log</tt> </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p> Esto carga solo la extensión de XFree86. En una instalación buena, siempre es cargado, y no importa si el soporte XVideo para la <span class="bold"><strong>tarjeta</strong></span> ha sido cargado! </p></div><p> </p></li><li class="listitem"><p> Su tarjeta tiene soporte Xv bajo Linux. Para comprobarlo, pruebe <span class="command"><strong>xvinfo</strong></span>, es parte de la distribucióno XFree86. Debe mostrar un texto largo, similar a éste: </p><pre class="screen"> X-Video Extension version 2.2 screen #0 Adaptor #0: "Savage Streams Engine" number of ports: 1 port base: 43 operations supported: PutImage supported visuals: depth 16, visualID 0x22 depth 16, visualID 0x23 number of attributes: 5 (...) Number of image formats: 7 id: 0x32595559 (YUY2) guid: 59555932-0000-0010-8000-00aa00389b71 bits per pixel: 16 number of planes: 1 type: YUV (packed) id: 0x32315659 (YV12) guid: 59563132-0000-0010-8000-00aa00389b71 bits per pixel: 12 number of planes: 3 type: YUV (planar) (...etc...)</pre><p> Debe soportar formatos de pixel YUY2 packed, y YV12 planar para ser usables con <span class="application">MPlayer</span>. </p></li><li class="listitem"><p> Y finalmente, compruebe si <span class="application">MPlayer</span> fue compilado con soporte 'xv'. Haga <span class="command"><strong>mplayer -vo help | grep xv</strong></span>. Si fue compilado con soporte 'xv', aparecerá una línea similar a: </p><pre class="screen"> xv X11/Xv</pre><p> </p></li></ol></div><p> </p><div class="sect3" title="6.2.1.1. Tarjetas 3dfx"><div class="titlepage"><div><div><h4 class="title"><a name="tdfx"></a>6.2.1.1. Tarjetas 3dfx</h4></div></div></div><p> Controladores antiguos 3dfx se sabe que tienen problemas con la aceleración XVideo, no soportan ni YUY2 ni YV12, ni nada. Verifique que tiene XFree86 versión 4.2.0 o posterior, este funciona bien con YV12 y YUY2. Versiones previas, incluyendo 4.1.0, <span class="bold"><strong>falla con YV12</strong></span>. Si experiencia efectos extraños usando <tt class="option">-vo xv</tt>, pruebe SDL (tiene XVideo también) y vea si eso puede ayudarle. Compruebe la sección <a class="link" href="#sdl" title="6.2.3. SDL">SDL</a> para más detalles. </p><p> ¡<span class="bold"><strong>O</strong></span>, pruebe el NUEVO controlador <tt class="option">-vo tdfxfb</tt>! Vea la sección <a class="link" href="#tdfxfb" title="6.2.7. Soporte 3Dfx YUV">tdfxfb</a>. </p></div><div class="sect3" title="6.2.1.2. Tarjetas S3"><div class="titlepage"><div><div><h4 class="title"><a name="s3"></a>6.2.1.2. Tarjetas S3</h4></div></div></div><p> Las S3 Savage3D deben funcionar bien, pero para Savage4, use XFree86 version 4.0.3 o posterior (en caso de problemas con la imagen, pruebe 16bpp). Como para S3 Virge: hay soporte xv, pero la tarjeta es lenta por sí misma, será mejor que la venda. </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p> Actualmente no está claro qué modelos de Savage carecen de soporte YV12, y convierten por controlador (lento). Si sospecha de su tarjeta, obtenga un controlador nuevo, o pregunte de forma correcta en la lista de correo mplayer-users por un controlador con soporte para MMX/3DNow. </p></div></div><div class="sect3" title="6.2.1.3. Tarjetas nVidia"><div class="titlepage"><div><div><h4 class="title"><a name="nvidia"></a>6.2.1.3. Tarjetas nVidia</h4></div></div></div><p> nVidia no es siempre una buena elección bajo Linux ... El controlador de código abierto de XFree86 tiene soporte en la mayoría de los casos, pero para algunas tarjetas, tiene que usar un controlador de código-cerrado de nVidia, disponible en <a class="ulink" href="http://www.nvidia.com/object/linux.html" target="_top">el sitio web de nVidia</a>. Siempre necesitará ese controlador de todos modos si quiere también aceleración 3D. </p><p> Las tarjetas Riva128 no tienen soporte XVideo con el controlador nVidia de XFree86 :( Las quejas a nVidia. </p><p> Sin embargo, <span class="application">MPlayer</span> contiene un controlador <a class="link" href="#vidix" title="6.2.13. VIDIX">VIDIX</a> para la mayoría de las tarjetas nVidia. Actualmente está en estado beta, y tiene algunos problemas. Para más información, vea la sección <a class="link" href="#vidix-nvidia" title="6.2.13.5. Tarjetas nVidia">nVidia VIDIX</a>. </p></div><div class="sect3" title="6.2.1.4. Tarjetas ATI"><div class="titlepage"><div><div><h4 class="title"><a name="ati"></a>6.2.1.4. Tarjetas ATI</h4></div></div></div><p> El <a class="ulink" href="http://www.linuxvideo.org/gatos" target="_top">controlador GATOS</a> (que es el que debería de usar, a menos que tenga una Rage128 o Radeon) tiene VSYNC activado por defecto. Esto significa que tiene velocidad de decodificación (!) sincronizado con la tasa de refresco del monitor. Si la reproducción es lenta, pruebe a desactivar VSYNC, o establezca una tasa de refresco a n*(fps de la película) Hz. </p><p> Radeon VE - si necesita X, use XFree86 4.2.0 o posterior para esta tarjeta. No tiene soporte de salida de TV. Por supuesto con <span class="application">MPlayer</span> puede felizmente obtener gráficos <span class="bold"><strong>acelerados</strong></span>, con o sin <span class="bold"><strong>salida TV</strong></span>, y no se necesitan bibliotecas o X. Lea la sección <a class="link" href="#vidix" title="6.2.13. VIDIX">VIDIX</a>. </p></div><div class="sect3" title="6.2.1.5. Tarjetas NeoMagic"><div class="titlepage"><div><div><h4 class="title"><a name="neomagic"></a>6.2.1.5. Tarjetas NeoMagic</h4></div></div></div><p> Estas tarjetas se pueden encontrar en algunos portátiles. Debe usar XFree86 4.3.0 o posterior, o incluso los controladores de Stefan Seyfried <a class="ulink" href="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/" target="_top">Xv-capable</a>. Elija el que corresponda a su versión de XFree86. </p><p> XFree86 4.3.0 incluye soporte Xv, a pesar de eso Bohdan Horst envió un pequeño <a class="ulink" href="http://www.mplayerhq.hu/MPlayer/contrib/NeoMagic-driver/neo_driver.patch" target="_top">parche</a> contra los fuentes de XFree86 que aceleran las operaciones de framebuffer (y XVideo por tanto) hasta cuatro veces. El parche ha sido incluido en XFree86 CVS y deberá estar en la siguiente liberación después de la 4.3.0. </p><p> Para permitir reproducción de contenido de tamaño de DVD cambie su XF86Config como este: </p><pre class="programlisting"> Section "Device" [...] Driver "neomagic" <span class="emphasis"><em>Option "OverlayMem" "829440"</em></span> [...] EndSection</pre><p> </p></div><div class="sect3" title="6.2.1.6. Tarjetas Trident"><div class="titlepage"><div><div><h4 class="title"><a name="trident"></a>6.2.1.6. Tarjetas Trident</h4></div></div></div><p> Si quiere usar xv con una tarjeta trident, sepa que no funciona con 4.1.0, instale XFree 4.2.0. 4.2.0 añade soporte para Xv en pantalla completa con la tarjeta Cyberblade XP. </p><p> Alternativamente, <span class="application">MPlayer</span> contiene un controlador <a class="link" href="#vidix" title="6.2.13. VIDIX">VIDIX</a> para la tarjeta Cyberblade/i1. </p></div><div class="sect3" title="6.2.1.7. Tarjetas Kyro/PowerVR"><div class="titlepage"><div><div><h4 class="title"><a name="kyro"></a>6.2.1.7. Tarjetas Kyro/PowerVR</h4></div></div></div><p> Si quiere usar Xv con una tarjeta basada en Kyro (por ejemplo Hercules Prophet 4000XT), debe descargar los controladores desde <a class="ulink" href="http://www.powervr.com/" target="_top">el sitio de PowerVR</a> </p></div></div><div class="sect2" title="6.2.2. DGA"><div class="titlepage"><div><div><h3 class="title"><a name="dga"></a>6.2.2. DGA</h3></div></div></div><p title="PREÁMBULO"><b>PREÁMBULO. </b> Este documento intenta explicar en pocas palabras que es DGA en general y que puede hacer el controlador de video DGA de <span class="application">MPlayer</span> (y qué no puede hacer). </p><p title="QUÉ ES DGA"><b>QUÉ ES DGA. </b> <acronym class="acronym">DGA</acronym> es una abreviatura para <span class="emphasis"><em>Direct Graphics Access</em></span> y eso significa que es un programa que pasa por alto el servidor X y modifica directamente la memoria de framebuffer. Técnicamente hablando esto se hace mapeando la memoria del framebuffer en el rango de memoria de su proceso. Esto es permitido por el kernel solo si tiene privilegios de superusuario. Puede obtenerlos identificandose como <code class="systemitem">root</code> o estableciendo el bit SUID en el ejecutable de <span class="application">MPlayer</span> (<span class="bold"><strong>no recomendado</strong></span>). </p><p> Hay dos versiones de DGA: DGA1 es usado por XFree 3.x.x y DGA2 fue introducido con Xfree 4.0.1. </p><p> DGA1 provee solo acceso directo al framebuffer como se describe más arriba. Para cambiar la resolución de la señal de video debe apoyarse en la extensión XVidMode. </p><p> DGA2 incorpora las características de la extensión XVidMode y también permite cambiar la profundidad de color de la pantalla. Con eso puede, básicamente ejecutar un servidor X con profundidad de color de 32 bit, cambiando a una profundidad de 15 bits y viceversa. </p><p> Sin embargo DGA tiene algunos problemas. Parece ser muy dependiente del chip gráfico que usa en la implementación del controlador de video en el servidor X que controla a este chip. Por eso no funciona en todos los sistemas... </p><p title="INSTALANDO SOPORTE DGA PARA MPlayer"><b>INSTALANDO SOPORTE DGA PARA <span class="application">MPlayer</span>. </b>Primero asegura que X carga la extensión DGA, mira en <tt class="filename">/var/log/XFree86.0.log</tt>: </p><pre class="programlisting">(II) Loading extension XFree86-DGA</pre><p title="INSTALANDO SOPORTE DGA PARA MPlayer"> Vea, ¡XFree86 4.0.x o posterior es <span class="bold"><strong>altamente recomendado</strong></span>! El controlador DGA de <span class="application">MPlayer</span> es autodetectado por <tt class="filename">./configure</tt>, o puede forzarlo con <tt class="option">--enable-dga</tt>. </p><p> Si el controlador no puede cambiar a una resolución menor, experimente con opciones <tt class="option">-vm</tt> (solo con X 3.3.x), <tt class="option">-fs</tt>, <tt class="option">-bpp</tt>, <tt class="option">-zoom</tt> para encontrar un modo de video donde quepa la película. No hay un conversor bueno por ahora :( </p><p> Hágase <code class="systemitem">root</code>. DGA necesita acceso root para permitir escribir directamente en la memoria de video. Si quiere ejecutarlo como usuario, entonces instale <span class="application">MPlayer</span> SUID root: </p><pre class="screen"> chown root <em class="replaceable"><code>/usr/local/bin/mplayer</code></em> chmod 750 <em class="replaceable"><code>/usr/local/bin/mplayer</code></em> chmod +s <em class="replaceable"><code>/usr/local/bin/mplayer</code></em> </pre><p> Ahora funciona como usuario simple, también. </p><div class="caution" title="Riesgos de seguridad" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Riesgos de seguridad</h3><p> ¡Esto es un <span class="bold"><strong>gran</strong></span> riesgo de seguridad! <span class="bold"><strong>Nunca</strong></span> haga esto en un servidor o en un ordenador que pueda ser accedido por otra gente porque pueden ganar privilegios de root a través del <span class="application">MPlayer</span> SUID root. </p></div><p> Ahora use la opción <tt class="option">-vo dga</tt>, y ya debe ir! (espero :) También debe probar si la opción <tt class="option">-vo sdl:dga</tt> funciona para usted! ¡Esto es mucho más rápido! </p><p title="CAMBIOS DE RESOLUCIÓN"><a name="dga-modelines"></a><b>CAMBIOS DE RESOLUCIÓN. </b> El controlador DGA le permite cambiar la resolución de la señal de salida. Esto evita tener que hacer escalado por software (lento) y al mismo tiempo provee imagen a pantalla completa. Idealmente debe cambiarse a la resolución exacta (excepto para respetar relación de aspecto) de los datos de video, pero el servidor X solo permite cambiar resoluciones predefinidas en <tt class="filename">/etc/X11/XF86Config</tt> <tt class="filename">/etc/X11/XF86Config</tt> (<tt class="filename">/etc/X11/XF86Config-4</tt> para XFree 4.X.X respectivamente). Estas son definidas por las llamadas modelines y dependen de las capacidades de su hardware de video. El servidor X escanea este archivo de configuración durante el inicio y desactiva los modelines que no sirvan para su hardware. Puede encontrar que modos sobreviven en el archivo de historial de X11. Puede encontrarse en: <tt class="filename">/var/log/XFree86.0.log</tt>. </p><p> Se sabe que estas entradas funcionan bien con un chip Riva128, usando el modulo de controlador nv.o del servidor X. </p><pre class="programlisting"> Section "Modes" Identifier "Modes[0]" Modeline "800x600" 40 800 840 968 1056 600 601 605 628 Modeline "712x600" 35.0 712 740 850 900 400 410 412 425 Modeline "640x480" 25.175 640 664 760 800 480 491 493 525 Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan Modeline "352x288" 25.10 352 368 416 432 288 296 290 310 Modeline "352x240" 15.750 352 368 416 432 240 244 246 262 Doublescan Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan EndSection </pre><p title="DGA & MPlayer"><b>DGA & <span class="application">MPlayer</span>. </b> DGA es usado en dos lugares con <span class="application">MPlayer</span>: El controlador SDL puede prepararse para que lo use (<tt class="option">-vo sdl:dga</tt>) y el controlador DGA (<tt class="option">-vo dga</tt>. Lo mencionado más arriba es correcto para ambos; en las siguientes secciones explicaré cómo funciona el controlador DGA para <span class="application">MPlayer</span>. </p><p title="CARACTERISTICAS"><b>CARACTERISTICAS. </b> El controlador DGA es invocado especificando <tt class="option">-vo dga</tt> en la línea de órdenes. El comportamiento por defecto es cambiar a una resolución que coincida con la resolución original del video o tan cercana como sea posible. De forma deliberada ignora las opciones <tt class="option">-vm</tt> y <tt class="option">-fs</tt> (activando el cambio de modo de video y pantalla completa) - siempre intenta cubrir tanta área de su pantalla como sea posible cambiando el modo de video, lo que lo hace usar un ciclo adicional de su CPU para escalar la imagen. Si no le gusta este modo que elije puede forzar que se elija el modo que se ajuste más a la resolución especificada por <tt class="option">-x</tt> y <tt class="option">-y</tt>. Proporcionando la opción <tt class="option">-v</tt>, el controlador DGA imprimirá, junto con otro montón de cosas, una lista de todas las resoluciones soportadas por su archivo <tt class="filename">XF86Config</tt> actual. Teniendo DGA2 también puede forzar que se use cierta profundidad de color usando la opción <tt class="option">-bpp</tt>. Profundidades de color válidas son 15, 16, 24 y 32. Depende de su hardware que estén soportadas de manera nativa o que se hagan mediante una conversión por software (posiblemente lento). </p><p> Si tiene la suerte suficiente para tener memoria fuera de pantalla restante donde colocar una imagen entera, el controlador DGA usará doblebuffering, lo que puede resultar en una reproducción de la película mucho más suave. Le informará de cuándo está activado o no el doble-buffer. </p><p> Doblebuffering significa que el siguiente marco de su video está siendo dibujado en alguna zona de memoria fuera de la pantalla mientras se muestra el marco actual. Cuando el siguiente marco está listo, el chip de gráficos solo dice la posición en memoria donde se encuentra y muestra los datos que hay allí. Mientras tanto el otro buffer en memoria es rellenado de nuevo con nuevos datos de video. </p><p> Doblebuffering puede ser activado usando la opción <tt class="option">-double</tt> y desactivado con <tt class="option">-nodouble</tt>. Actualmente la opción por defecto es doblebuffering desactivado. Cuando use el controlador DGA, la información en pantalla (OSD) solo funciona si está el doblebuffering activado. Sin embargo, activar doblebufferint puede resultar en una falta grande de velocidad (en mi K6-II+ 525 usa un 20% adicional de tiempo de CPU!) dependiendo de la implementación de DGA para su hardware. </p><p title="ASUNTOS SOBRE VELOCIDAD"><b>ASUNTOS SOBRE VELOCIDAD. </b> Generalmente hablando, el acceso DGA al framebuffer debe ser al menos tan rápido como usar el controlador X11 con el beneficio adicional de obtener una imagen a pantalla completa. Los porcentajes de velocidad son impresos por <span class="application">MPlayer</span> y se tienen que interpretar con cuidado, por ejemplo, con el controlador X11 no se incluye el tiempo usado por el servidor X necesario para realizar el dibujo en pantalla. Conecte un terminal serie a su equipo e inicie <span class="command"><strong>top</strong></span> para ver qué es realmente lo que está ocurriendo en su equipo. </p><p> Generalmente hablando, el aumento de velocidad por usar DGA frente al uso 'normal' usando X11 depende en gran medida de su tarjeta gráfica y de cómo de optimizado esté el módulo del servidor X. </p><p> Si tiene un sistema lento, mejor use 15 o 16 bit de profundidad de color porque requieren solo la mitad de ancho de banda de memoria que una pantalla de 32 bit. </p><p> Usar una profundidad de color de 24 bit sigue siendo incluso buena idea aunque su tarjeta soporte 32 bit de forma nativa porque transfiere 25% menos datos que el modo 32/32. </p><p> He visto algunos archivos AVI reproducidos en un Pentium MMX 266. Las CPUs AMD K6-2 deben funcionar a 400 MHz o superior. </p><p title="FALLOS CONOCIDOS"><b>FALLOS CONOCIDOS. </b> Bien, de acuerdo con algunos desarrolladores de XFree, DGA es bastante bestia. Ellos aconsejan que es mejor no usarlo. Su implementación no funciona bien con todos los controladores de chipsets para XFree existentes. </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Con XFree 4.0.3 y <tt class="filename">nv.o</tt> hay un fallo que resulta en extraños colores. </p></li><li class="listitem"><p> El controlador ATI requiere cambiar el modo original más de una vez una vez finaliza el uso de DGA. </p></li><li class="listitem"><p> Algunos controladores símplemente fallan al volver a la resolución normal (use <span class="keycap"><b>Ctrl</b></span>+<span class="keycap"><b>Alt</b></span>+<span class="keycap"><b>Keypad +</b></span> y <span class="keycap"><b>Ctrl</b></span>+<span class="keycap"><b>Alt</b></span>+<span class="keycap"><b>Keypad -</b></span> para volver al modo normal de manera manual). </p></li><li class="listitem"><p> Algunos controladores símplemente muestran colores extraños. </p></li><li class="listitem"><p> Algunos controladores se quejan de la cantidad de memoria que intenta mapear el espacio de direcciones del proceso, incluso cuando vo_dga no quiere usar doblebuffering (¿SIS?). </p></li><li class="listitem"><p> Algunos controladores parecen fallar informando de un único modo válido. En este caso el controlador DGA falla diciendole que no tiene sentido el modo 100000x100000 o algo así. </p></li><li class="listitem"><p> OSD solo funciona con doblebuffering activado (si no parpadea). </p></li></ul></div></div><div class="sect2" title="6.2.3. SDL"><div class="titlepage"><div><div><h3 class="title"><a name="sdl"></a>6.2.3. SDL</h3></div></div></div><p> <acronym class="acronym">SDL</acronym> (Simple Directmedia Layer) es básicamente una interfaz unificada de video/audio. Los programas que la usan solo tienen que preocuparse de SDL, y no del controlador de video o audio que SDL esté usando. Por ejemplo una versión de Doom que use SDL puede usarse en svgalib, aalib, X, fbdev, y otros, solo tiene que especificar el (por ejemplo) controlador de video a usar con la variable de entorno <code class="envar">SDL_VIDEODRIVER</code>. Bueno, teóricamente. </p><p> Con <span class="application">MPlayer</span>, se usa la característica del escalador software del controlador X11 para tarjetas/controladores que no soportan XVideo, hasta que hagamos nuestro propio (más rápido, más bonito) escalador por software. También usamos su salida aalib, pero ahora tenemos el nuestro propio que es más confortable. Su modo DGA fue mejor que el nuestro, hasta hace poco. ¿Lo quiere probar ahora? :) </p><p> También ayuda con algunos controladores/tarjetas con fallos si el video va a saltos (sin ser un problema de sistema lento), o el audio va con retardo. </p><p> La salida de video SDL permite mostrar los subtítulos debajo de la película, en la (si está presente) banda negra. </p><div class="variablelist" title="Hay varias opciones en la línea de órdenes para SDL:"><p class="title"><b>Hay varias opciones en la línea de órdenes para SDL:</b></p><dl><dt><span class="term"><tt class="option">-vo sdl:<em class="replaceable"><code>nombre</code></em></tt></span></dt><dd><p> especifica el controlador de SDL de video a usar (i.e. <code class="literal">aalib</code>, <code class="literal">dga</code>, <code class="literal">x11</code>) </p></dd><dt><span class="term"><tt class="option">-ao sdl:<em class="replaceable"><code>nombre</code></em></tt></span></dt><dd><p> especifica el controlador de SDL de audio a usar (i.e. <code class="literal">dsp</code>, <code class="literal">esd</code>, <code class="literal">arts</code>) </p></dd><dt><span class="term"><tt class="option">-noxv</tt></span></dt><dd><p> desactiva la aceleración hardware XVideo </p></dd><dt><span class="term"><tt class="option">-forcexv</tt></span></dt><dd><p> intenta forzar la aceleración XVideo </p></dd></dl></div><div class="table"><a name="teclas_sdl"></a><p class="title"><b>Tabla 6.1. Teclas solo para SDL</b></p><div class="table-contents"><table summary="Teclas solo para SDL" border="1"><colgroup><col><col></colgroup><thead><tr><th>Tecla</th><th>Acción</th></tr></thead><tbody><tr><td><span class="keycap"><b>c</b></span></td><td> cambia entre los modos de pantalla completa disponibles </td></tr><tr><td><span class="keycap"><b>n</b></span></td><td> regresa al modo normal </td></tr></tbody></table></div></div><br class="table-break"><div class="itemizedlist" title="Fallos conocidos:"><p class="title"><b>Fallos conocidos:</b></p><ul class="itemizedlist" type="disc"><li class="listitem"><p> Al pulsar teclas bajo una consola sdl:aalib el controlador la repite indefinidamente. (¡Mejor use la opción <tt class="option">-vo aa</tt>!) Es un fallo de SDL, yo no puedo cambiarlo (probado con SDL 1.2.1). </p></li><li class="listitem"><p> ¡NO USE SDL con GUI! El comportamiento no será el esperado. </p></li></ul></div></div><div class="sect2" title="6.2.4. SVGAlib"><div class="titlepage"><div><div><h3 class="title"><a name="svgalib"></a>6.2.4. SVGAlib</h3></div></div></div><p title="INSTALACIÓN"><b>INSTALACIÓN. </b> Debe instalar svgalib y su paquete de desarrollo para construir <span class="application">MPlayer</span> con el controlador SVGAlib (es autodetectado, aunque también puede forzarse), y no se olvide de editar <tt class="filename">/etc/vga/libvga.config</tt> para configurar su tarjeta y su monitor. </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p> Asegúrese de no usar la opción <tt class="option">-fs</tt>, porque cambia el estado del uso del escalador software, y es lento. Si realmente lo necesita, use la opción <tt class="option">-sws 4</tt> lo que le producirá peor calidad, pero es algo más rápido. </p></div><p title="SOPORTE EGA (4BPP)"><b>SOPORTE EGA (4BPP). </b> SVGAlib incorpora EGAlib, y <span class="application">MPlayer</span> tiene la posibilidad de mostrar cualquier película en 16 colores, de manera que se puede usar con las siguientes configuraciones de equipos: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Tarjeta EGA con monitor EGA: 320x200x4bpp, 640x200x4bpp, 640x350x4bpp </p></li><li class="listitem"><p> Tarjeta EGA con monitor CGA: 320x200x4bpp, 640x200x4bpp </p></li></ul></div><p> El valor bpp (bits por pixel) debe establecerse a 4 manualmente: <tt class="option">-bpp 4</tt> </p><p> La película probablemente deberá ser escalada para ajustarse al modo EGA: </p><pre class="screen">-vf scale=640:350</pre><p> o </p><pre class="screen">-vf scale=320:200</pre><p> </p><p> Para eso se necesita una rutina de escalado de mala calidad pero rápida: </p><pre class="screen">-sws 4</pre><p> </p><p> Quizá la corrección automática de relación de aspecto deberá desactivarse: </p><pre class="screen">-noaspect</pre><p> </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p> De acuerdo con mi experiencia la mejor calidad de imagen en pantallas EGA puede obtenerse decrementando el brillo un poco: <tt class="option">-vf eq=-20:0</tt>. También necesité bajar la tasa de muestreo en mi equipo, porque el sonido no funcionaba a 44kHz: <tt class="option">-srate 22050</tt>. </p></div><p> Puede activar OSD y subtítulos solo con el filtro <tt class="option">expand</tt>, vea la página de manual para los parámetros concretos. </p></div><div class="sect2" title="6.2.5. Salida en framebuffer (FBdev)"><div class="titlepage"><div><div><h3 class="title"><a name="fbdev"></a>6.2.5. Salida en framebuffer (FBdev)</h3></div></div></div><p> Si se construye o no el objetivo FBdev es autodetectado durante el <tt class="filename">./configure</tt>. Lea la documentación del framebuffer en los fuentes del núcleo (<tt class="filename">Documentation/fb/*</tt>) para más información. </p><p> Si su tarjeta no soporta el estándar VBE 2.0 (tarjetas ISA/PCI antiguas, tales como S3 Trio64), solo VBE 1.2 (¿o anterior?): Bueno, VESAfb sigue funcionando, pero necesitará cargar SciTech Display Doctor (formalmente UniVBE) antes de iniciar Linux. Use un disco de inicio DOS o similar. Y no olvide registrar UniVBE ;)) </p><p> La salida FBdev toma parámetros adicionales sobre los otros: </p><div class="variablelist"><dl><dt><span class="term"><tt class="option">-fb</tt></span></dt><dd><p> especifica el dispositivo framebuffer a usar (<tt class="filename">/dev/fb0</tt>) </p></dd><dt><span class="term"><tt class="option">-fbmode</tt></span></dt><dd><p> nombre del modo a usar (de acuerdo con <tt class="filename">/etc/fb.modes</tt>) </p></dd><dt><span class="term"><tt class="option">-fbmodeconfig</tt></span></dt><dd><p> archivo de configuración de modos (por defecto <tt class="filename">/etc/fb.modes</tt>) </p></dd><dt><span class="term"><tt class="option">-monitor-hfreq</tt>, </span><span class="term"><tt class="option">-monitor-vfreq</tt>, </span><span class="term"><tt class="option">-monitor-dotclock</tt></span></dt><dd><p> valores importantes <span class="bold"><strong>important</strong></span>, vea <tt class="filename">example.conf</tt> </p></dd></dl></div><p> Si desea cambiar a un modo específico, use </p><pre class="screen"> mplayer -vm -fbmode <em class="replaceable"><code>nombre_del_modo</code></em> <em class="replaceable"><code>nombrearchivo</code></em> </pre><p> </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> <tt class="option">-vm</tt> sin más opciones elije el mejor modo desde <tt class="filename">/etc/fb.modes</tt>. Puede usarse junto con las opciones <tt class="option">-x</tt> y <tt class="option">-y</tt> también. La opción <tt class="option">-flip</tt> está soportada solo si el formato de pixel de la película coincide con el formato de pixel del modo de video. Preste atención al valor bpp, el controlador fbdev intentará usar el actual, o si especifica uno con la opción <tt class="option">-bpp</tt>, pues ese. </p></li><li class="listitem"><p> La opción <tt class="option">-zoom</tt> no está soportada (use <tt class="option">-vf scale</tt>). No puede usar modos de 8bpp (o menos). </p></li><li class="listitem"><p> Posiblemente quiera desactivar el cursor: </p><pre class="screen">echo -e '\033[?25l'</pre><p> o </p><pre class="screen">setterm -cursor off</pre><p> y el protector de pantalla: </p><pre class="screen">setterm -blank 0</pre><p> Para volver a activar el cursor: </p><pre class="screen">echo -e '\033[?25h'</pre><p> o </p><pre class="screen">setterm -cursor on</pre><p> </p></li></ul></div><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p> Los cambios de modo de video para FBdev <span class="emphasis"><em>no funcionan</em></span> con el framebuffer VESA, y no nos pida que funcione, porque no es una limitación de <span class="application">MPlayer</span>. </p></div></div><div class="sect2" title="6.2.6. Framebuffer de Matrox (mga_vid)"><div class="titlepage"><div><div><h3 class="title"><a name="mga_vid"></a>6.2.6. Framebuffer de Matrox (mga_vid)</h3></div></div></div><p> Esta sección se encarga de describir el soporte de Matrox G200/G400/G450/G550 BES (Back-End Scaler), el controlador del núcleo mga_vid. Está en activo desarrollo poro A'rpi, y tiene soporte de VSYNC por hardware con triple buffering. Funciona tanto en consola con frambuffer como bajo X. </p><div class="warning" title="Aviso" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Aviso</h3><p> ¡Esto es solo en Linux! En sistemas no-Linux (probado en FreeBSD), puede usar en su lugar <a class="link" href="#vidix" title="6.2.13. VIDIX">VIDIX</a>! </p></div><div class="procedure" title="Instalación:"><a name="id2780028"></a><p class="title"><b>Instalación:</b></p><ol class="procedure" type="1"><li class="step" title="Paso 1"><p> Para usarlo, primero tendrá que compilar <tt class="filename">mga_vid.o</tt>: </p><pre class="screen"> cd drivers make</pre><p> </p></li><li class="step" title="Paso 2"><p> Cree ahora el dispositivo <tt class="filename">/dev/mga_vid</tt>: </p><pre class="screen">mknod /dev/mga_vid c 178 0</pre><p> y cargue el controlador con </p><pre class="screen">insmod mga_vid.o</pre><p> </p></li><li class="step" title="Paso 3"><p> Deberá verificar la autodetección del tamaño de memoria usando la órden <span class="command"><strong>dmesg</strong></span>. Si es incorrecta, use la opción <tt class="option">mga_ram_size</tt> (antes haga <span class="command"><strong>rmmod mga_vid</strong></span>), especifique el tamaño de la memoria de la tarjeta gráfica en MB: </p><pre class="screen">insmod mga_vid.o mga_ram_size=16</pre><p> </p></li><li class="step" title="Paso 4"><p> Para que se cargue/descargue automáticamente cuando sea necesario, primero inserte la siguiente línea al final de <tt class="filename">/etc/modules.conf</tt>: </p><pre class="programlisting">alias char-major-178 mga_vid</pre><p> Después copie el módulo <tt class="filename">mga_vid.o</tt> al lugar apropiado bajo <tt class="filename">/lib/modules<em class="replaceable"><code>versión de kernel</code></em>/<em class="replaceable"><code>dondesea</code></em></tt>. </p><p> Y después ejecute </p><pre class="screen">depmod -a</pre><p> </p></li><li class="step" title="Paso 5"><p> Ahora deberá (re)compilar <span class="application">MPlayer</span>, <tt class="filename">./configure</tt> detectará <tt class="filename">/dev/mga_vid</tt> y construirá el controlador 'mga'. Luego lo podrá usar con <span class="application">MPlayer</span> mediante <tt class="option">-vo mga</tt> si tiene una consola matroxfb, o <tt class="option">-vo xmga</tt> bajo XFree86 3.x.x ó 4.x.x. </p></li></ol></div><p> El controlador mga_vid coopera con Xv. </p><p> El archivo de dispositivo <tt class="filename">/dev/mga_vid</tt> puede ser leído para obtener informaión, por ejemplo mediante </p><pre class="screen">cat /dev/mga_vid</pre><p> y puede se escrito para realizar cambios en el brillo: </p><pre class="screen">echo "brightness=120" > /dev/mga_vid</pre><p> </p></div><div class="sect2" title="6.2.7. Soporte 3Dfx YUV"><div class="titlepage"><div><div><h3 class="title"><a name="tdfxfb"></a>6.2.7. Soporte 3Dfx YUV</h3></div></div></div><p> Este controlador usa el controlador framebuffer del kernel tdfx para reproducir las películas con aceleración YUV. Necesita un kernel con soporte tdfxfb, y recompilar con </p><pre class="screen">./configure --enable-tdfxfb</pre><p> </p></div><div class="sect2" title="6.2.8. Salida OpenGL"><div class="titlepage"><div><div><h3 class="title"><a name="opengl"></a>6.2.8. Salida OpenGL</h3></div></div></div><p> <span class="application">MPlayer</span> permite mostrar películas usando OpenGL, pero si su plataforma/controlador soporta xv como es el caso en un PC con Linux, usa xv en su lugar, el rendimiento en OpenGL es considerablemente peor. Si tiene una implementación de X11 sin soporte para xv, OpenGL es una alternativa viable. </p><p> Desafortunadamente no todos los controladores soportan esta característica. Los controladores Utah-GLX (para XFree86 3.3.6) lo soportan para todas las tarjetas. Vea <a class="ulink" href="http://utah-glx.sourceforge.net" target="_top">http://utah-glx.sourceforge.net</a> para detalles sobre su instalación. </p><p> XFree86(DRI) 4.0.3 o posterior soportan OpenGL con tarjetas Matrox y Radeon, 4.2.0 o posterior soportan Rage128. Vea <a class="ulink" href="http://dri.sourceforge.net" target="_top">http://dri.sourceforge.net</a> para instrucciones de descarga e instalación. </p><p> Un consejo de uno de nuestros usuarios: la salida de video GL puede usarse para obtener salida de TV con sincronización vertical. Puede establecer una variable de entorno (por lo menos con nVidia): </p><p> <span class="command"><strong>export $__GL_SYNC_TO_VBLANK=1</strong></span> </p></div><div class="sect2" title="6.2.9. AAlib - reproduciendo en modo texto"><div class="titlepage"><div><div><h3 class="title"><a name="aalib"></a>6.2.9. AAlib - reproduciendo en modo texto</h3></div></div></div><p> AAlib es una biblioteca para mostrar gráficos en modo texto, usando un render ASCII potente. Hay <span class="emphasis"><em>montones</em></span> de programas que tienen soporte para AAlib, como Doom, Quake, etc. <span class="application">MPlayer</span> contiene un controlador que funciona bastante bien para ello. Si <tt class="filename">./configure</tt> detecta que aalib está instalado, el controlador aalib libvo será compilado. </p><p> Puede usar algunas teclas en la ventana AA para cambiar las opciones de renderizado: </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Tecla</th><th>Acción</th></tr></thead><tbody><tr><td><span class="keycap"><b>1</b></span></td><td> reducir contraste </td></tr><tr><td><span class="keycap"><b>2</b></span></td><td> aumentar contraste </td></tr><tr><td><span class="keycap"><b>3</b></span></td><td> reducir brillo </td></tr><tr><td><span class="keycap"><b>4</b></span></td><td> aumentar brillo </td></tr><tr><td><span class="keycap"><b>5</b></span></td><td> cambiar renderizado rápido activado/desactivado </td></tr><tr><td><span class="keycap"><b>6</b></span></td><td> establece el modo de difuminado (ninguno, distribución de error, Floyd Steinberg) </td></tr><tr><td><span class="keycap"><b>7</b></span></td><td> invierte la imagen </td></tr><tr><td><span class="keycap"><b>8</b></span></td><td> cambia entre control de aa y <span class="application">MPlayer</span> </td></tr></tbody></table></div><div class="variablelist" title="Pueden usarse las siguientes opciones en la línea de órdenes:"><p class="title"><b>Pueden usarse las siguientes opciones en la línea de órdenes:</b></p><dl><dt><span class="term"><tt class="option">-aaosdcolor=<em class="replaceable"><code>V</code></em></tt></span></dt><dd><p> cambia el color OSD </p></dd><dt><span class="term"><tt class="option">-aasubcolor=<em class="replaceable"><code>V</code></em></tt></span></dt><dd><p> cambia el color de los subtítulos </p><p> donde <em class="replaceable"><code>V</code></em> puede ser: <code class="literal">0</code> (normal), <code class="literal">1</code> (oscuro), <code class="literal">2</code> (negrita), <code class="literal">3</code> (tipografía negrita), <code class="literal">4</code> (invertido), <code class="literal">5</code> (especial). </p></dd></dl></div><div class="variablelist" title="AAlib provee por sí mismo una gran cantidad de opciones. Aquí están algunas de las más importantes:"><p class="title"><b>AAlib provee por sí mismo una gran cantidad de opciones. Aquí están algunas de las más importantes:</b></p><dl><dt><span class="term"><tt class="option">-aadriver</tt></span></dt><dd><p> establecer el controlador aa recomendado (X11, curses, Linux) </p></dd><dt><span class="term"><tt class="option">-aaextended</tt></span></dt><dd><p> usar los 256 caracteres </p></dd><dt><span class="term"><tt class="option">-aaeight</tt></span></dt><dd><p> usar ASCII de ocho bit </p></dd><dt><span class="term"><tt class="option">-aahelp</tt></span></dt><dd><p> muestra todas las opciones de aalib </p></dd></dl></div><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p> El renderizado hace un uso intensivo de la CPU, especialmente usando AA-en-X (usando aalib bajo X), y hace un uso menos intenso de CPU en una consola estándar, sin framebuffer. Use SVGATextMode para establecer un modo texto grande, ¡y disfrútelo! (en las tarjetas Hercules con pantalla secundaria queda muy bien :)) (pero en mi humilde opinión puede usar la opción <tt class="option">-vf 1bpp</tt> para obtener gráficos en hgafb :) </p></div><p> Use la opción <tt class="option">-framedrop</tt> si su ordenador no es lo suficientemente rápido para renderizar todos los marcos! </p><p> Al reproducir en un terminal puede obtener mejor velocidad y calidad usando el controlador Linux, en lugar del curses (<tt class="option">-aadriver linux</tt>). Pero lo malo es que necesita permisos de escritura en <tt class="filename">/dev/vcsa<em class="replaceable"><code><terminal></code></em></tt>! Esto no es automáticamente detectado por aalib, pero vo_aa intenta encontrar el mejor modo. Vea <a class="ulink" href="http://aa-project.sourceforge.net/tune" target="_top">http://aa-project.sourceforge.net/tune</a> para más detalles y ajustes. </p></div><div class="sect2" title="6.2.10. libcaca - Biblioteca de Arte AsCii en color"><div class="titlepage"><div><div><h3 class="title"><a name="caca"></a>6.2.10. <code class="systemitem">libcaca</code> - Biblioteca de Arte AsCii en color</h3></div></div></div><p> La biblioteca <a class="ulink" href="http://sam.zoy.org/projects/libcaca/" target="_top"><code class="systemitem">libcaca</code></a> es una biblioteca gráfica que tiene como salida texto en lugar de pixels, de modo que funicona en cualquier tarjeta gráfica antigua o en terminales de texto. No es como la famosa biblioteca <code class="systemitem">AAlib</code>. <code class="systemitem">libcaca</code> necesita un terminal para funcionar, esto es funciona en todo sistema Unix (incluyendo Mac OS X) usando bien la biblioteca <code class="systemitem">slang</code> o bien la biblioteca <code class="systemitem">ncurses</code>, en DOS usando la biblioteca <code class="systemitem">conio.h</code>, y en sistemas Windows usando bien <code class="systemitem">slang</code> o <code class="systemitem">ncurses</code> (a través de emulación Cygwin) o <code class="systemitem">conio.h</code>. Si <tt class="filename">./configure</tt> detecta <code class="systemitem">libcaca</code>, el controlador de salida caca libvo será construido. </p><div class="itemizedlist" title="Las diferencias con AAlib son las siguientes:"><p class="title"><b>Las diferencias con <code class="systemitem">AAlib</code> son las siguientes:</b></p><ul class="itemizedlist" type="disc"><li class="listitem"><p> 16 colores disponibles para la salida de caracteres (256 pares de colores) </p></li><li class="listitem"><p> difuminado del color de la imagen </p></li></ul></div><div class="itemizedlist" title="Pero libcaca también tiene las siguientes limitaciones:"><p class="title"><b>Pero <code class="systemitem">libcaca</code> también tiene las siguientes limitaciones:</b></p><ul class="itemizedlist" type="disc"><li class="listitem"><p> no soporta brillo, contraste, gamma </p></li></ul></div><p> Puede usar algunas teclas en la ventana caca para cambiar opciones de renderizado: </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Tecla</th><th>Acción</th></tr></thead><tbody><tr><td><span class="keycap"><b>d</b></span></td><td> Cambia los métodos de difuminado de <code class="systemitem">libcaca</code>. </td></tr><tr><td><span class="keycap"><b>a</b></span></td><td> Cambia el antialiasing en <code class="systemitem">libcaca</code>. </td></tr><tr><td><span class="keycap"><b>b</b></span></td><td> Cambia el fondo en <code class="systemitem">libcaca</code>. </td></tr></tbody></table></div><div class="variablelist" title="libcaca también mira algunas variables de entorno:"><p class="title"><b><code class="systemitem">libcaca</code> también mira algunas variables de entorno:</b></p><dl><dt><span class="term"><tt class="option">CACA_DRIVER</tt></span></dt><dd><p> Establece el controlador caca recomendado, e.g. ncurses, slang, x11. </p></dd><dt><span class="term"><tt class="option">CACA_GEOMETRY (solo X11)</tt></span></dt><dd><p> Especifica el número de filas y columnas. e.g. 128x50. </p></dd><dt><span class="term"><tt class="option">CACA_FONT (solo X11)</tt></span></dt><dd><p> Especifica la tipografía a usar. e.g. fixed, nexus. </p></dd></dl></div><p> Use la opción <tt class="option">-framedrop</tt> si su ordenador no es suficientemente rápido para renderizar todos los marcos de imagen. </p></div><div class="sect2" title="6.2.11. VESA - salida en VESA BIOS"><div class="titlepage"><div><div><h3 class="title"><a name="vesa"></a>6.2.11. VESA - salida en VESA BIOS</h3></div></div></div><p> Este controlador fue diseñado e introducido como un <span class="bold"><strong>controlador genérico</strong></span> para cualquier tarjeta gráfica que tenga una BIOS compatible con VESA VBE 2.0. Otra ventaja de este controlador es que intenta forzar la activación de la salida de TV. <em class="citetitle">VESA BIOS EXTENSION (VBE) Version 3.0 Fecha: 16 de Septiembre, 1998</em> (Página 70) dice: </p><div class="blockquote"><blockquote class="blockquote"><p title="Diseños de controlador-dual"><b>Diseños de controlador-dual. </b> VBE 3.0 soporta el diseño de controlador-dual asumiendo que ambos controladores norlmanmente son proporcionados por el mismo OEM, bajo el control de una ROM BIOS única en la misma tarjeta gráfica, es posible esconder el hecho de que hay dos controladores presentes para la aplicación. Esto tiene la limitación de prevenir el uso simultáneo de controladores independientes, pero permite a las aplicaciones que se hayan desarrollado antes de la liberación de VBE 3.0 operar normalmente. La función VBE 00h (Devuelve Información sobre el Controlador) devuelve información combinada de ambos controladores, incluyendo una lista combinada de los modos disponibles. Cada una de las funciones VBE restantes operan en el controlador activo. </p></blockquote></div><p> Por ello puede hacer que la salida-TV funcione usando este controlador. (Yo creo que la salida-TV normalmente tiene una cabeza individual o al menos una salida individual.) </p><div class="itemizedlist" title="VENTAJAS"><p class="title"><b>VENTAJAS</b></p><ul class="itemizedlist" type="disc" compact><li class="listitem"><p> Le permite ver sus películas <span class="bold"><strong>incluso si Linux no conoce</strong></span> su hardware de video. </p></li><li class="listitem"><p> No necesita tener instalado nada relacionado con gráficos en su Linux (como X11 (también conocido como XFree86), fbdev ni nada por el estilo). Este controlador puede funcionar en <span class="bold"><strong>modo-texto</strong></span>. </p></li><li class="listitem"><p> Puede hacer <span class="bold"><strong>funcionar la salida-TV</strong></span>. (Esto es conocido al menos para las tarjetas ATI). </p></li><li class="listitem"><p> Este controlador llama al manejador <code class="function">int 10h</code> y no realiza una emulación - hace llamas <span class="bold"><strong>reales</strong></span> de BIOS <span class="emphasis"><em>real</em></span> en <span class="emphasis"><em>modo-real</em></span>. (actualmente en modo vm86). </p></li><li class="listitem"><p> Puede usar VIDIX con él, obteniendo pantalla de gráficos acelerados <span class="bold"><strong>y</strong></span> salida TV al mismo tiempo! (Recomendado para tarjetas ATI.) </p></li><li class="listitem"><p> Si tiene VESA VBE 3.0+, y especifica <code class="systemitem">monitor-hfreq, monitor-vfreq, monitor-dotclock</code> en algún sitio (archivo de configuración, o línea de órdenes) podrá obtener la tasa de refresco mayor posible. (Usando la Fórmula de Temporización General). Para activar ésta característica debe especificar <span class="bold"><strong>todas</strong></span> las opciones de su monitor. </p></li></ul></div><div class="itemizedlist" title="DESVENTAJAS"><p class="title"><b>DESVENTAJAS</b></p><ul class="itemizedlist" type="disc" compact><li class="listitem"><p> Solo funciona en <span class="bold"><strong>sistemas x86</strong></span>. </p></li><li class="listitem"><p> Solo puede ser usado por <code class="systemitem">root</code>. </p></li><li class="listitem"><p> En la actualidad solo está disponible para <span class="bold"><strong>Linux</strong></span>. </p></li></ul></div><div class="important" title="Importante" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Importante</h3><p> No use este controlador con <span class="bold"><strong>GCC 2.96</strong></span>! ¡No funcionará! </p></div><div class="variablelist" title="OPCIONES EN LA LÍNEA DE ÓRDENES PARA VESA"><p class="title"><b>OPCIONES EN LA LÍNEA DE ÓRDENES PARA VESA</b></p><dl><dt><span class="term"><tt class="option">-vo vesa:<em class="replaceable"><code>opts</code></em></tt></span></dt><dd><p> reconocidas actualmente: <code class="literal">dga</code> para forzar el modo dga y <code class="literal">nodga</code> para desactivar el modo dga. En modo dga puede activar doble buffering mediante la opción <tt class="option">-double</tt>. Nota: puede omitir estos parámetros activando <span class="bold"><strong>autodetección</strong></span> del modo dga. </p></dd></dl></div><div class="itemizedlist" title="PROBLEMAS CONOCIDOS Y SUS SOLUCIONES"><p class="title"><b>PROBLEMAS CONOCIDOS Y SUS SOLUCIONES</b></p><ul class="itemizedlist" type="disc" compact><li class="listitem"><p> Si tiene instalada una tipografía <span class="bold"><strong>NLS</strong></span> en su equipo Linux y ejecuta el controlador VESA en modo-texto entonces después de terminar <span class="application">MPlayer</span> tendrá cargada una <span class="bold"><strong>tipografía ROM</strong></span> en lugar de la nacional. Puede cargar de nuevo la tipografía nacional usando la utilidad <span class="command"><strong>setsysfont</strong></span> de la distribución Mandrake por ejemplo. (<span class="bold"><strong>Consejo</strong></span>: La misma utilidad se usa para la localización de fbdev). </p></li><li class="listitem"><p> Algunos <span class="bold"><strong>controladores gráficos para Linux</strong></span> no actualizan el <span class="bold"><strong>modo BIOS</strong></span> activo en la memoria DOS. Si tiene ese problema - use siempre el controlador VESA solo en <span class="bold"><strong>modo-texto</strong></span>. De otro modo el modo texto (#03) será activado de todas maneras y tendrá que reiniciar la computadora. </p></li><li class="listitem"><p> Además puede obtener una pantalla <span class="bold"><strong>negra</strong></span> cuando el controlador VESA termine. Para volver al estado original de la pantalla - símplemente cambie a otra consola (pulsando <span class="keycap"><b>Alt</b></span>+<span class="keycap"><b>F<x></b></span>) y vuelva a la consola original del mismo modo. </p></li><li class="listitem"><p> Para hacer que <span class="bold"><strong>funcione la salida-TV</strong></span> deberá tener conectado el conector de TV antes de iniciar el PC porque la BIOS de video lo inicia automáticamente durante el proceso POST. </p></li></ul></div></div><div class="sect2" title="6.2.12. X11"><div class="titlepage"><div><div><h3 class="title"><a name="x11"></a>6.2.12. X11</h3></div></div></div><p> Evite usarlo si es posible. La salida a X11 (usa la extensión de memoria compartida), sin ninguna aceleración hardware. Soporta (acelerado por MMX/3DNow/SSE, pero sigue siendo lento) escalado por software, use las opciones <tt class="option">-fs -zoom</tt>. La mayoría de las tarjetas tienen soporte de escalado por hardware, use la salida <tt class="option">-vo xv</tt> para obtenerlo, o <tt class="option">-vo xmga</tt> para las Matrox. </p><p> El problema es que la mayoría de los controladores de las tarjetas no soportan aceleración hardware en un monitor/TV secundario. En esos casos, puede ver una ventana de color verde/azul en lugar de la película. Aquí es donde entra en escena este controlador, pero necesitará una CPU potente para escalar por software. No use el escalador+salida por software de SDL, ¡obtendrá una peor calidad de imagen! </p><p> El escalado por software es muy lento, mejor pruebe a cambiar el modo de video. Es muy simple. Vea los <a class="link" href="#dga-modelines" title="CAMBIOS DE RESOLUCIÓN">la sección de modos de DGA</a>, e insertela en su <tt class="filename">XF86Config</tt>. </p><div class="itemizedlist"><ul class="itemizedlist" type="disc" compact><li class="listitem"><p> Si tiene XFree86 4.x.x: use la opcioón <tt class="option">-vm</tt>. Esto cambiará a una resolución donde la película se ajuste. Si no lo hace: </p></li><li class="listitem"><p> Con XFree86 3.x.x: tiene que cambiar entre las resoluciones disponibles con las teclas <span class="keycap"><b>Ctrl</b></span>+<span class="keycap"><b>Alt</b></span>+<span class="keycap"><b>plus</b></span> y <span class="keycap"><b>Ctrl</b></span>+<span class="keycap"><b>Alt</b></span>+<span class="keycap"><b>minus</b></span>. </p></li></ul></div><p> </p><p> Si no puede encontrar los modos que ha insertado, consule la salida de XFree86. Algunos controladores no pueden usar pixelclocks bajos que son necesarios para modos de video de baja resolución. </p></div><div class="sect2" title="6.2.13. VIDIX"><div class="titlepage"><div><div><h3 class="title"><a name="vidix"></a>6.2.13. VIDIX</h3></div></div></div><p title="PREÁMBULO"><b>PREÁMBULO. </b> <acronym class="acronym">VIDIX</acronym> es la abreviatura para <span class="bold"><strong>VID</strong></span>eo<span class="bold"><strong>I</strong></span>nterface para *ni<span class="bold"><strong>X</strong></span>. VIDIX ha sido diseñado e introducido como una interfaz para los controladores de espacio de usuario que proveen tanto rendimiento de video como mga_vid lo hace para las tarjetas Matrox. También es muy portable. </p><p> Esta interfaz ha sido diseñada como un intento por ajustar las interfaces de aceleración de video existentes (conocidas como mga_vid, rage128_vid, radeon_vid, pm3_vid) en un esquema fijo. Provee una interfaz de alto nivel a los chips que es conocida como BES (BackEnd scalers) u OV (Video Overlays). No provee interfaz a bajo nivel de cosas conocidas por los servidores gráficos. (No quiero competir con el equipo X11 en el cambio de modos de gráfidcos). Es decir, el principal objetivo de esta interfaz es maximizar la velocidad de la reproducción de video. </p><div class="itemizedlist" title="USO"><p class="title"><b>USO</b></p><ul class="itemizedlist" type="disc" compact><li class="listitem"><p> Puede usar un controlador de salida de video individual: <tt class="option">-vo xvidix</tt>. Este controlador ha sido desarrollado como u front end de X11 a la tecnología VIDIX. Requiere un servidor X y puede funcionar solo bajo un servidor X. Note que, como accede directamente al hardware y no usa el controlador X, los mapas de pixels en caché en la memoria de la tarjeta gráfica pueden estar corruptos. Puede prevenir esto limitando la cantidad de memoria de video usada por X con la opción "VideoRam" de XF86Config en la sección device. Debe establecer el valor a la cantidad de memoria instalada en su tarjeta menos 4MB. Si tiene menos de 8MB de ram de video, puede usar la opción "XaaNoPixmapCache" en la sección screen en su lugar. </p></li><li class="listitem"><p> Hay un controlador de consola VIDIX: <tt class="option">-vo cvidix</tt>. Requiere un framebuffer inicializado y funcionando para muchas tarjetas (o fastidiará su pantalla), y obtendrá un efecto similar al que se obtiene con <tt class="option">-vo mga</tt> o <tt class="option">-vo fbdev</tt>. Las tarjetas nVidia, sin embargo, son capaces de mostrar gráficos reales de video sobre una consola de texto real. Vea la sección <a class="link" href="#vidix-nvidia" title="6.2.13.5. Tarjetas nVidia">nvidia_vid</a> para más información. </p></li><li class="listitem"><p> Puede usar el subdispositivo VIDIX aplicado a varios controladores de salida de video, tales como: <tt class="option">-vo vesa:vidix</tt> (<span class="bold"><strong>solo en Linux</strong></span>) y <tt class="option">-vo fbdev:vidix</tt>. </p></li></ul></div><p> Como ve no impora qué controlador de salida de video se usa con <span class="bold"><strong>VIDIX</strong></span>. </p><div class="itemizedlist" title="REQUISITOS"><p class="title"><b>REQUISITOS</b></p><ul class="itemizedlist" type="disc" compact><li class="listitem"><p> La tarjeta gráfica debe estar en modo gráfico (excepto las tarjetas nVidia con el controlador de salida <tt class="option">-vo cvidix</tt>. </p></li><li class="listitem"><p> El controlador de salida de video de <span class="application">MPlayer</span> debe conocer el modo de video activo y ser capaz de decir al subdispositivo VIDIX algunas características de video del servidor. </p></li></ul></div><p title="MODOS DE USO"><b>MODOS DE USO. </b> Cuando VIDIX se usa como <span class="bold"><strong>subdispositivo</strong></span> (<tt class="option">-vo vesa:vidix</tt>) entonces la configuración del modo de video es hecha por el dispositivo de salida de video (<span class="bold"><strong>vo_server</strong></span> en pocas palabras). Por ese motivo puede pasar en la línea de órdenes de <span class="application">MPlayer</span> las mismas teclas que para vo_server. Además entiende <tt class="option">-double</tt> como un parámetro visible globalmente. (Recomiendo usar esto con VIDIX por lo menos en tarjetas ATI). Como para <tt class="option">-vo xvidix</tt>, actualmente reconoce las siguientes opciones: <tt class="option">-fs -zoom -x -y -double</tt>. </p><p> También puede especificar el controlador VIDIX directamente con un tercer argumento en la línea de órdenes: </p><pre class="screen">mplayer -vo xvidix:mga_vid.so -fs -zoom -double <em class="replaceable"><code>archivo.avi</code></em></pre><p> o </p><pre class="screen">mplayer -vo vesa:vidix:radeon_vid.so -fs -zoom -double -bpp 32 <em class="replaceable"><code>archivo.avi</code></em></pre><p> Pero esto es peligroso, y no debería hacerlo. En ese caso el controlador se ve forzado y el resultado puede ser impredicible (puede incluso <span class="bold"><strong>dejar colgado</strong></span> su ordenador). Debe hacerlo SOLO si está absolutamente seguro de que funciona, y <span class="application">MPlayer</span> no lo hace automáticamente. Por favor en ese caso dígaselo a los desarrolladores. La manera correcta de usar VIDIX es sin argumentos para activar la autodetección del controlador. </p><p> VIDIX es una tecnología nueva y es extremadamente posible que en su sistema no funcione. En ese caso la única solución para usted es portarlo (principalmente con libdha). Pero se supone que debe de funcionar en los sistemas en los que funciona X11. </p><p> Debido a que VIDIX requiere acceso directo al hardware puede ejecutarlo como root o establecer el bit SUID en el binario de <span class="application">MPlayer</span> (<span class="bold"><strong>Advertencia: ¡eso es un riesgo de seguridad!</strong></span>). De manera alternativa, puede usar un módulo especial del kernel, como esto: </p><div class="procedure"><ol class="procedure" type="1"><li class="step" title="Paso 1"><p> Descargue la <a class="ulink" href="http://www.arava.co.il/matan/svgalib/" target="_top">versión de desarrollo</a> de svgalib (por ejemplo 1.9.17), <span class="bold"><strong>O</strong></span> descargue una versión hecha por Alex especialmente para usar con <span class="application">MPlayer</span> (no necesita el código fuente de svgalib para compilar) desde <a class="ulink" href="http://www.mplayerhq.hu/~alex/svgalib_helper-1.9.17-mplayer.tar.bz2" target="_top">aquí</a>. </p></li><li class="step" title="Paso 2"><p> Compile el módulo en el directorio <tt class="filename">svgalib_helper</tt> (puede encontrarse dentro del directorio <tt class="filename">svgalib-1.9.17/kernel/</tt> si ha descargado el código fuente del sitio de svgalib) e insmodéelo. </p></li><li class="step" title="Paso 3"><p> Para crear los dispositivos necesarios en el directorio <tt class="filename">/dev</tt>, haga un </p><pre class="screen">make device</pre><p> en el directorio <tt class="filename">svgalib_helper</tt> como root. </p></li><li class="step" title="Paso 4"><p> Mueva el directorio <tt class="filename">svgalib_helper</tt> a <tt class="filename">mplayer/main/libdha/svgalib_helper</tt>. </p></li><li class="step" title="Paso 5"><p> Requerido si descarga el código fuente desde el sitio de svgalib: Borre el comentario antes de la línea CFLAGS que contiene la cadena "svgalib_helper" en <tt class="filename">libdha/Makefile</tt>. </p></li><li class="step" title="Paso 6"><p> Recompile e instale libdha. </p></li></ol></div><div class="sect3" title="6.2.13.1. Tarjetas ATI"><div class="titlepage"><div><div><h4 class="title"><a name="vidix-ati"></a>6.2.13.1. Tarjetas ATI</h4></div></div></div><p> Actualmente la mayoría de las tarjetas ATI están soportadas de manera nativa, desde la Mach64 hasta las más nuevas Radeons. </p><p> Hay dos binarios compilados: <tt class="filename">radeon_vid</tt> para Radeon y <tt class="filename">rage128_vid</tt> para tarjetas Rage 128. Puede forzar uno o dejar que el sistema VIDIX pruebe automáticamente todos los controladores disponibles. </p></div><div class="sect3" title="6.2.13.2. Tarjetas Matrox"><div class="titlepage"><div><div><h4 class="title"><a name="vidix-mga"></a>6.2.13.2. Tarjetas Matrox</h4></div></div></div><p> Hemos sido informados de que funcionan Matrox G200, G400, G450 y G550. </p><p> El controlador soporta ecualizadores de video y debe ser casi tan rápido como el <a class="link" href="#mga_vid" title="6.2.6. Framebuffer de Matrox (mga_vid)">Matrox framebuffer</a> </p></div><div class="sect3" title="6.2.13.3. Tarjetas Trident"><div class="titlepage"><div><div><h4 class="title"><a name="vidix-trident"></a>6.2.13.3. Tarjetas Trident</h4></div></div></div><p> Hay un controlador disponible para los chipset Trident Ciberblade/i1, que puede ser encontrado en las placas base VIA Epia. </p><p> El controlador ha sido escrito y es mantenido por, <a class="ulink" href="http://www.blackfiveservices.co.uk/EPIAVidix.shtml" target="_top">Alastair M. Robinson</a>. </p></div><div class="sect3" title="6.2.13.4. Tarjetas 3DLabs"><div class="titlepage"><div><div><h4 class="title"><a name="vidix-3dlabs"></a>6.2.13.4. Tarjetas 3DLabs</h4></div></div></div><p> Aunque hay un controlador para los chips 3DLabs GLINT R3 y Permedia3, ninguno ha sido probado, así que cualquier comentario o informe será bienvenido. </p></div><div class="sect3" title="6.2.13.5. Tarjetas nVidia"><div class="titlepage"><div><div><h4 class="title"><a name="vidix-nvidia"></a>6.2.13.5. Tarjetas nVidia</h4></div></div></div><p> Hay controladores para nVidia relativamente recientes, se sabe que funcionan bien con los chipset Riva 128, TNT y GeForce2, también se nos ha informado de que funciona con otros. </p><div class="itemizedlist" title="LIMITACIONES"><p class="title"><b>LIMITACIONES</b></p><ul class="itemizedlist" type="disc" compact><li class="listitem"><p> Es recomendable usar los controladores binarios de nVidia para X antes de usar el controlador VIDIX, porque algunos de los registros que es necesario inicializar aún no han sido descubiertos, por lo que probablemente falle con el controlador de Código Abierto de XFree86 <tt class="filename">nv.o</tt>. </p></li><li class="listitem"><p> Actualmente solo los codecs que tienen salida en el espacio de color UYVY son los que funcionan junto con este controlador. Desafortunadamente, esto excluye todo decodificador simple de la familia <code class="systemitem">libavcodec</code>. Esto nos deja con los siguientes codecs populares usables: <code class="systemitem">cvid, divxds, xvid, divx4, wmv7, wmv8</code> y algunos otros. Por favor tenga en cuenta que esto es solo algo temporal. La sintaxis de uso es la siguiente: </p><pre class="screen"> mplayer -vf format=uyvy -vc divxds <em class="replaceable"><code>archivodivx3.avi</code></em> </pre><p> </p></li></ul></div><p> Una característica única del controlador nvidia_vid es la habilidad de mostrar video en <span class="bold"><strong>una consola de texto solo, plano y puro</strong></span> - sin framebuffer o X magic ni nada. Para conseguir esto, se ha de usar la salida de video <tt class="option">cvidix</tt>, como muestra el siguiente ejemplo: </p><pre class="screen"> mplayer -vf format=uyvy -vc divxds -vo cvidix ejemplo.avi </pre><p> </p><p> ¡Esperamos que nos informe! </p></div><div class="sect3" title="6.2.13.6. Tarjetas SiS"><div class="titlepage"><div><div><h4 class="title"><a name="vidix-sis"></a>6.2.13.6. Tarjetas SiS</h4></div></div></div><p> Se trata de un código muy experimental, al igual que el nvidia_vid. </p><p> Ha sido probado en SiS 650/651/740 (los chipset más comunes usados en las versiones SiS de las placas base "Shuttle XPC") </p><p> ¡Esperamos que nos informe! </p></div></div><div class="sect2" title="6.2.14. DirectFB"><div class="titlepage"><div><div><h3 class="title"><a name="directfb"></a>6.2.14. DirectFB</h3></div></div></div><div class="blockquote"><blockquote class="blockquote"><p> "DirectFB es una biblioteca de gráficos que ha sido diseñada con los sistemas embebidos en mente. Ofrece el máximo rendimientdo en aceleración hardware con el mínimo uso de recursos y sobrecarga." - cita de <a class="ulink" href="http://www.directfb.org" target="_top">http://www.directfb.org</a> </p></blockquote></div><p>No incluiré las características de DirectFB en esta sección.</p><p> Aunque <span class="application">MPlayer</span> no está reconocido como un "proveedor de video" en DirectFB, este controlador de salida debe activar la reproducción de video a través del DirectFB. Tiene - por supuesto - aceleración, en mi Matrox G400 la velocidad para DirectFB es la misma que con XVideo. </p><p> Intente usar siempre la versión más reciente de DirectFB. Puede usar las opciones de DirectFB en la línea de órdenes, usando la opción <tt class="option">-dfbopts</tt>. La capa de selección puede hacerse con el método de subdispositivo, p.e.: <tt class="option">-vo directfb:2</tt> (la capa -1 se usa por defecto: autodetectado) </p></div><div class="sect2" title="6.2.15. DirectFB/Matrox (dfbmga)"><div class="titlepage"><div><div><h3 class="title"><a name="dfbmga"></a>6.2.15. DirectFB/Matrox (dfbmga)</h3></div></div></div><p> Lea por favor la sección <a class="link" href="#directfb" title="6.2.14. DirectFB">principal de DirectFB</a> para información general. </p><p> Este controlador de salida de video activa CRTC2 (en un segundo monitor) en la tarjeta G400/G450/G550, mostrando video <span class="bold"><strong>independiente</strong></span> en el monitor principal. </p><p> Ville Syrjala tiene un <a class="ulink" href="http://www.sci.fi/~syrjala/directfb/Matrox_TV-out_README.txt" target="_top">LEAME</a> y un <a class="ulink" href="http://www.sci.fi/~syrjala/directfb/matrox_tv-out_howto" target="_top">COMO</a> en su página web que explica cómo sacar salida de TV con DirectFB en tarjetas Matrox. </p><div class="variablelist" title="USO"><p class="title"><b>USO</b></p><dl><dt><span class="term"><tt class="option">(no)bes</tt></span></dt><dd><p>activa el uso de Matrox BES (backend scaler). Da resultados muy buenos en cuanto a velocidad y calidad de salida como procesado de imágenes interpoladas por hardware. Funciona solo en la salida primaria. Por defecto: desactivado</p></dd><dt><span class="term"><tt class="option">(no)spic</tt></span></dt><dd><p>hace uso de la capa de sub imagen para mostrar el OSD de <span class="application">MPlayer</span>. Por defecto: activado</p></dd><dt><span class="term"><tt class="option">(no)crtc2</tt></span></dt><dd><p>activa la salida TV en la segunda salida. La calidad de la salida es sorprendente ya que da una imagen completamente entrelazada con sincronización correcta en cada campo par/impar. Por defecto: activada</p></dd><dt><span class="term"><tt class="option">(no)input</tt></span></dt><dd><p>usa el código de teclado de DirectFB en lugar del código de teclado normal de <span class="application">MPlayer</span>. Por defecto: desactivado</p></dd><dt><span class="term"><tt class="option">buffermode=single|double|triple</tt></span></dt><dd><p>Doble y triple buffer da mejores resultados si quiere evitar problemas de desgarramientos de imagen. Triple buffer es más eficiente que el doble buffer ya que no bloquea <span class="application">MPlayer</span> mientras que espera al refresco vertical. El buffer simple debe evitarse. Por defecto: triple</p></dd><dt><span class="term"><tt class="option">fieldparity=top|bottom</tt></span></dt><dd><p>controla el orden de salida de los marcos de imagen entrelazados. Valores válidos son top = campos superiores primero, bottom = campos inferiores primero. Esta opción no tiene efecto en material de película progresivo como lo son las películas MPEG. Necesitará activar esta opción si tiene problema de desgarros de imagen o movimiento no suave mientras ve material entrelazado. (Buenos ejemplos de material filmográfico entrelazado en DVD son Star Trek Enterprise y Star Trek DS9) Por defecto: desactivado (no establecido)</p></dd><dt><span class="term"><tt class="option">tvnorm=pal|ntsc|auto</tt></span></dt><dd><p>establece la norma de TV en las tarjetas Matrox sin la necesidad de modificar /etc/directfbrc. Normas válidas son pal = PAL, ntsc = NTSC. Una norma especial es auto (auto-ajuste usando PAL/NTSC) porque decide qué norma usar mirando la tasa de imágenes por segundo de la película. Por defecto: desactivado (no establecido)</p></dd></dl></div><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p> La primera versión de DirectFB que hace que esto funcione fue 0.9.17 (tiene fallos, necesita el parche <code class="systemitem">surfacemanager</code> de la URL de más arriba). De todos modos se está trabajando para portar el código de CRTC2 a <span class="bold"><strong>mga_vid</strong></span>. </p></div></div></div><div class="sect1" title="6.3. Decodificadores MPEG"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="mpeg_decoders"></a>6.3. Decodificadores MPEG</h2></div></div></div><div class="sect2" title="6.3.1. DVB salida y entrada"><div class="titlepage"><div><div><h3 class="title"><a name="dvb"></a>6.3.1. DVB salida y entrada</h3></div></div></div><p> <span class="application">MPlayer</span> soporta tarjetas con el chipset Siemens DVB de vendedores como Siemens, Technotrend, Galaxis o Hauppauge. Los últimos controladores DVB están disponibles en <a class="ulink" href="http://www.linuxtv.org" target="_top">el sitio de Linux TV</a>. Si quiere hacer transcoding de software deberá usar al menos una CPU de 1GHz. </p><p> <tt class="filename">configure</tt>debe detectar su tarjeta DVB. Si no lo hace, fuerce la detección con </p><pre class="screen">./configure --enable-dvb</pre><p>Si tiene cabeceras ost en una ruta no estándar, establezca la ruta con</p><pre class="screen">./configure --with-extraincdir=<em class="replaceable"><code>directorio de fuentes de DVB</code></em>/ost/include </pre><p>Y luego compile e instale del modo habitual.</p><p title="USO"><b>USO. </b> Decodificación por hardware (reproducción de archivos estándar MPEG1/2) puede hacerse con esta órden: </p><pre class="screen">mplayer -ao mpegpes -vo mpegpes <em class="replaceable"><code>archivo.mpg|vob</code></em></pre><p> Decodificación software o transcoding de formatos diferentes a MPEG1 puede hacerse usando una órden como esta: </p><pre class="screen"> mplayer -ao mpegpes -vo mpegpes <em class="replaceable"><code>suarchivo.ext</code></em> mplayer -ao mpegpes -vo mpegpes -vf expand <em class="replaceable"><code>yourfile.ext</code></em> </pre><p> Tenga en cuenta que las tarjetas DVB solo soportan altugas de 288 y 576 para PAL o 240 y 480 para NTSC. Usted <span class="bold"><strong>debe</strong></span> escalar para otras alturas añadiendo <tt class="option">scale=ancho:alto</tt> con el ancho y el alto que quiera para la opción <tt class="option">-vf</tt>. Las tarjetas DVB aceptan varios anchos, como 720, 704, 640, 512, 480, 352 etc y hacen el escalado por hardware en dirección horizontal, de modo que no necesita escalar horizontalmente en la mayoría de los casos. Para un DivX de 512x384 (aspecto 4:3) pruebe: </p><pre class="screen">mplayer -ao mpegpes -vo mpegpes -vf scale=512:576</pre><p>Si tiene una película widescreen y no quiere escalar a altura completa, puede usar el filtro <tt class="option">expand=w:h</tt> para añadir bandas negras. Para ver un DivX de 640x384, pruebe: </p><p> </p><pre class="screen"> mplayer -ao mpegpes -vo mpegpes -vf expand=640:576 <em class="replaceable"><code>archivo.avi</code></em> </pre><p> </p><p>Si su CPU es demasiado lenta para un DivX de tamaño completo de 720x576, pruebe a subescalar:</p><p> </p><pre class="screen"> mplayer -ao mpegpes -vo mpegpes -vf scale=352:576 <em class="replaceable"><code>archivo.avi</code></em> </pre><p> </p><p>Si la velocidad no mejora, pruebe a subescalar verticalmente, también:</p><p> </p><pre class="screen"> mplayer -ao mpegpes -vo mpegpes -vf scale=352:288 <em class="replaceable"><code>archivo.avi</code></em> </pre><p> </p><p> For OSD and subtitles use the OSD feature of the expand filter. So, instead of Para OSD y subtítulos use la característica OSD del filtro expand. Para ello, en lugar de <tt class="option">expand=w:h</tt> o <tt class="option">expand=w:h:x:y</tt>, use <tt class="option">expand=w:h:x:y:1</tt> (el 5º parámetro <tt class="option">:1</tt> al final habilitará el renderizado OSD). Puede que quiera mover la imagen hacia arriba un poco para obtener una zona negra más grande para los subtítulos. También puede mover los subtítulos hacia arriba, si quedan fuera de la pantalla de TV, use la opción <tt class="option">-subpos <0-100></tt> para ajustar esto (<tt class="option">-subpos 80</tt>) es una buena elección). </p><p> Para reproducir películas que no sean de 25fps en una TV PAL o con una CPU lenta, añada la opción <tt class="option">-framedrop</tt>. </p><p> Para mantener la razón de aspecto de los archivos DivX y obtener los parámtros óptimos de escalado (escalado horizontal por hardware y escalado vertical por software manteniendo la razón de aspecto correcta), use el filtro dvbscale: </p><pre class="screen"> para una TV 4:3: -vf dvbscale,scale=-1:0,expand=-1:576:-1:-1:1 para una TV 16:9: -vf dvbscale=1024,scale=-1:0,expand=-1:576:-1:-1:1 </pre><p title="TV Digital (módulo de entrada DVB)"><b>TV Digital (módulo de entrada DVB). </b>Puede usar su tarjeta DVB para ver TV Digital.</p><p> Tiene que tener los programas <span class="command"><strong>scan</strong></span> y <span class="command"><strong>szap/tzap/czap</strong></span> intalados; estos están incluidos en el paquete de controladores. </p><p> Verifique que sus controladores están funcionando correctamente con un programa como <a class="ulink" href="http://www.sf.net/projects/dvbtools/" target="_top"><span class="command"><strong>dvbstream</strong></span></a> (que es la base del módulo de entrada DVB). </p><p> Ahora debe compilar un archivo <tt class="filename">~/.mplayer/channels.conf</tt>, con la sintaxis aceptada por <span class="command"><strong>szap/tzap/czap</strong></span>, o tener <span class="command"><strong>scan</strong></span> compilado por usted mismo. </p><p> Si tiene más de un tipo de tarjeta (e.g. Satélite, Terrestre y Cable) puede guardar sus archivos de canales como <tt class="filename">~/.mplayer/channels.conf.sat</tt>, <tt class="filename">~/.mplayer/channels.conf.ter</tt> y <tt class="filename">~/.mplayer/channels.conf.cbl</tt>, respectivamente, de ese modo se indica implícitamente a <span class="application">MPlayer</span> que uso esos archivos en lugar de <tt class="filename">~/.mplayer/channels.conf</tt>, y solo tiene que especificar qué tarjeta usar. </p><p> Asegúrese de que tiene <span class="emphasis"><em>solo</em></span> canales Free to Air en su archivo <tt class="filename">channels.conf</tt>, o <span class="application">MPlayer</span> intentará saltar al siguiente visible, pero puede tardar mucho si hay varios canales consecutivos encriptados. </p><p> Para mostrar el primero de los canales presentes en su lista, ejecute </p><pre class="screen"> mplayer dvb:// </pre><p> Si quiere ver un canal específico, tal como R1, ejecute </p><pre class="screen"> mplayer dvb://R1 </pre><p> Para cambiar canales pulse la teclas <span class="keycap"><b>h</b></span> (siguiente) y <span class="keycap"><b>k</b></span> (previo), o use el menú OSD (requiere un <a class="link" href="#subosd" title="2.4. Subtítulos y OSD">subsistema OSD</a> funcionando). </p><p> Si su <tt class="filename">~/.mplayer/menu.conf</tt> contiene una entrada <code class="literal"><dvbsel></code>, como una del archivo de ejemplo <tt class="filename">etc/dvb-menu.conf</tt> (el cual puede usar para sobreescribir <tt class="filename">~/.mplayer/menu.conf</tt>),el menú principal mostrará una entrada de un submenú que le permitirá elegir uno de los canales presentes en su <tt class="filename">channels.conf</tt>. </p><p> Si quiere grabar un programa en disco puede usar </p><pre class="screen"> mplayer -dumpfile r1.ts -dumpstream dvb://R1 </pre><p> si quiere grabar en un formato diferente (re-codificando) en su lugar puede usar una órden como </p><pre class="screen"> mencoder -o r1.avi -ovc xvid -xvidencopts bitrate=800 -oac mp3lame -lameopts cbr:br=128 -pp=ci dvb://R1 </pre><p> Lea la página de manual para una lista de opciones que puede pasar al módulo de entrada de DVB. </p><p title="FUTURO"><b>FUTURO. </b> Si tiene alguna pregunta o desea oir anuncios sobre características futuas y tomar parte en discusiones acerca de estos asuntos, únase a nuestra lista de correo <a class="ulink" href="http://mplayerhq.hu/mailman/listinfo/mplayer-dvb" target="_top">MPlayer-DVB</a> Por favor, recuerde que el idioma en la lista de correo es el Inglés. </p><p> En el futuro puede esperar la habilidad de mostrar OSD y subtítulos usando las características nativas de OSD de las tarjetas DVB, así como una reproducción más fluida de películas que no estén a 25fps y transcoding en tiempo real entre MPEG2 y MPEG4 (descompresión parcial). </p></div><div class="sect2" title="6.3.2. DXR2"><div class="titlepage"><div><div><h3 class="title"><a name="dxr2"></a>6.3.2. DXR2</h3></div></div></div><p><span class="application">MPlayer</span> soporta reproducción acelerada por hardware con la tarjeta Creative DXR2.</p><p> Lo primero que necesita tener es los controladores DRX2 correctamente instalados. Puede encontrar estos controladores e instrucciones para su instalación en el sitio <a class="ulink" href="http://dxr2.sourceforge.net/" target="_top">DXR2 Resource Center</a>. </p><div class="variablelist" title="USO"><p class="title"><b>USO</b></p><dl><dt><span class="term"><tt class="option">-vo dxr2</tt></span></dt><dd><p>activa la salida TV</p></dd><dt><span class="term"><tt class="option">-vo dxr2:x11</tt> o <tt class="option">-vo dxr2:xv</tt></span></dt><dd><p>activa la salida Overlay en X11</p></dd><dt><span class="term"><tt class="option">-dxr2 <opción1:opción2:...></tt></span></dt><dd><p>Esta opción se usa para manejar el controlador DXR2.</p></dd></dl></div><p> El chipset de overlay usado en DXR2 tiene una calidad bastante mala pero la configuración por defecto debe funcionar para todo el mundo. El OSD puede ser usable con overlay (no en una TV) dibujando sobre el colorkey. Con la configuración de colorkey por defecto puede obtener resultados variables, normalmente verá el colorkey alrededor de los caracteres o algún otro efecto divertido. Pero si ajusta bien la configuración del colorkey debe ser capaz de obtener resultados aceptables. </p><p>Por favor, vea la página de manual para ver las opciones disponibles.</p></div><div class="sect2" title="6.3.3. DXR3/Hollywood+"><div class="titlepage"><div><div><h3 class="title"><a name="dxr3"></a>6.3.3. DXR3/Hollywood+</h3></div></div></div><p> <span class="application">MPlayer</span> soporta reproducción acelerada por hardware con las tarjetas Creative DXR3 y Sigma Designs Hollywood. Ambas tarjetas usan el chip decodificador em8300 MPEG de Sigma Designs. </p><p> Lo primero que necesita es tener el controlador DXR3/H+ correctamente instalado, versión 0.12.0 o posterior. Puede encontrar estos controladores e instrucciones para su instalación en el sitio <a class="ulink" href="http://dxr3.sourceforge.net/" target="_top">DXR3 & Hollywood Plus para Linux</a>. <tt class="filename">configure</tt> debe detectar su tarjeta automáticamente, y la compilación debe funcionar sin problemas. </p><div class="variablelist" title="USO"><p class="title"><b>USO</b></p><dl><dt><span class="term"><tt class="option">-vo dxr3:prebuf:sync:norm=x:<em class="replaceable"><code>dispositivo</code></em></tt></span></dt><dd><p> <tt class="option">overlay</tt> activa overlay en lugar de TVOut. Requiere que tenga una configuración de overlay que funcione correctamente. La manera facil de configurar el overlay es iniciar primero autocal. Después ejecute <span class="application">MPlayer</span> con salida dxr3 y sin overlay, ejecute dxr3view. En dxr3view puede tocar la configuración de overlay y ver los efectos en tiempo real, quizá esta característica esté soportada en el GUI de <span class="application">MPlayer</span> en el futuro. Cuando overlay está correctamente configurado ya no necesitará usar más dxr3view. <tt class="option">prebuf</tt> activa el prebuffering. Prebuffering es una característica del chip em8300 que se activa para mantener más de un marco por video al mismo tiempo. Esto significa que cuando está ejecutando con prebufferint <span class="application">MPlayer</span> intentará mantener lleno el buffer de video con datos todo el tiempo. Si está en una máquina lenta <span class="application">MPlayer</span> probablemente usa un valor cercano a, o totalmente de 100% de CPU. Esto ocurre normalemente si reproduce flujos MPEG (como DVDs, SVCDs a.s.o.) ya que <span class="application">MPlayer</span> no tiene recodificador a MPEG y llena el buffer muy rápido. Con reproducción de video con prebufferint es <span class="bold"><strong> mucho</strong></span> menos sensible a otros programas que quieran uso de CPU, no elimina marcos a menos que alguna aplicación aproveche la CPU un largo periodo de tiempo. Cuando ejecuta sin prebuffering el em8300 es mucho más sensible a cargar la CPU, por lo que le sugerimos que active en <span class="application">MPlayer</span> la opción <tt class="option">-framedrop</tt> para evitar posibles pérdidas de sincronización. <tt class="option">sync</tt> activa el nuevo motor de sincronización. Esta es actualmente una característica experimental. Con la característica de sincronización activada en el reloj interno de em8300 se monitoriza todas las veces, si comienza a desviarse del reloj de <span class="application">MPlayer</span> es puesto a cero causando que em8300 se salte algunos marcos que están comenzando a tener retardo. <tt class="option">norm=x</tt> establece la norma de TV de la tarjeta DXR3 sin la necesidad de herramientas externas como em8300setup. Normas válidas son 5 = NTSC, 4 = PAL-60, 3 = PAL. Normas especiales son 2 (auto-ajuste usando PAL/PAL-60) y 1 (auto-ajuste usando PAL/NTSC) porque deciden qué norma usar consultando la tasa de imágenes por segundo de la película. norm = 0 (por defecto) no cambia la norma actual. <tt class="option"><em class="replaceable"><code>dispositivo</code></em></tt> = número de dispositivo a usar si tiene más de una tarjeta em8300. Cualquiera de esas opciones se pueden dejar sin especificar. <tt class="option">:prebuf:sync</tt> parece que se obtiene un mejor funcionamiento cuando se reproducen películas DivX. La gente ha informado sobre problemas usando la opción prebuf mientras se reproducían archivos MPEG1/2. Puede que desee intentar la reproducción sin ninguna opción primero, y si tiene problemas de sincronía, o problemas con los subtítulos, probar con la opción <tt class="option">:sync</tt>. </p></dd><dt><span class="term"><tt class="option">-ao oss:/dev/em8300_ma-<em class="replaceable"><code>X</code></em></tt></span></dt><dd><p> Para la salida de audio, donde <em class="replaceable"><code>X</code></em> es el número de dispositivo (0 si hay una tarjeta). </p></dd><dt><span class="term"><tt class="option">-aop list=resample:fout=<em class="replaceable"><code>xxxxx</code></em></tt></span></dt><dd><p> El em8300 no puede reproducir tasas de muestreo menores de 44100Hz. Si la tasa de muestreo es mejor que 44100Hz elija 44100Hz o 48000Hz dependiendo de cual se ajuste mejor. P.e. si la pelíula usa 22050Hz use 44100Hz ya que 44100 / 2 = 22050, si es 24000Hz use 48000Hz porque 48000 / 2 = 24000 y de ese modo con cualquier valor que tenga. Esto no funciona con salida de audio digital (<tt class="option">-ac hwac3</tt>). </p></dd><dt><span class="term"><tt class="option">-vf lavc/fame</tt></span></dt><dd><p> Para ver contenido no-MPEG en el em8300 (p.e. DivX o RealVideo) deberá especificar un filtro de video MPEG1 como <code class="systemitem">libavcodec</code> (lavc) o libfame (fame). Actualmente lavc es más rápido y da mejor calidad de imagen, por lo que le sugerimos que lo use a menos que tenga algún problema con él. Vea la página de manual para más información acerca de <tt class="option">-vf lavc/fame</tt>. El uso de lavc es altamente recomendado. Actualmente no hay manera de establecer los fps del em8300 lo que significa que son fijos a 29.97fps. Debido a esto es altamente recomendable que use <tt class="option">-vf lavc=<em class="replaceable"><code>quality</code></em>:25</tt> especialmente si está usando prebuffering. ¿Y por qué 25 y no 29.97? bien, el motivo es que cuando usa 29.97 la imagen se vuelve un poco saltarina. La razón de por qué ocurre esto no la conocemos. Si establece un valor entre 25 y 27 la imagen se vuelve estable. Por ahora todo lo que puede haer es aceptar esto sin preguntarse por qué. </p></dd><dt><span class="term"><tt class="option">-vf expand=-1:-1:-1:-1:1</tt></span></dt><dd><p> A pesar de que el controlador DXR3 puede poner OSD en el video MPEG1/2/4, tiene una calidad mucho peor que el tradicional OSD de <span class="application">MPlayer</span>, además de varios problemas de refresco. La línea de órdenes de arriba convertirá primero la entrada de video a MPEG4 (esto es obligatorio, lo siento), y después aplicará un filtro de expansión que no expandirá nada (-1: por defecto), pero servirá para aplicar OSD normal sobre la imagen (esto es lo que hace el "1" del final). </p></dd><dt><span class="term"><tt class="option">-ac hwac3</tt></span></dt><dd><p> El em8300 permite la reproducción de audio AC3 (sonido surround) a través de la salida de audio digital de la tarjeta. Vea la opción <tt class="option">-ao oss</tt> de más arriba, debe usarse para especificar salida DXR3 en lugar de una tarjeta de sonido. </p></dd></dl></div></div></div><div class="sect1" title="6.4. Otro hardware de visualización"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="other"></a>6.4. Otro hardware de visualización</h2></div></div></div><div class="sect2" title="6.4.1. Zr"><div class="titlepage"><div><div><h3 class="title"><a name="zr"></a>6.4.1. Zr</h3></div></div></div><p> Se trata de un controlador de pantalla (<tt class="option">-vo zr</tt>) para un número de tarjetas de captura/reproducción de MJPEG (probado con DC10+ y Buz, y también debe funcionar con LML33, el DC10). El controlador funciona codificando el marco a JPEG y enviándolo luego a la tarjeta. Para la codificación JPEG se usa <code class="systemitem">libavcodec</code>, y además es obligatorio usarlo. Con el modo especial <span class="emphasis"><em>cinerama</em></span>, puede ver películas en wide screen real suponiendo que tiene dos proyectores y dos tarjetas MJPEG. Dependiendo de la configuración de resolución y calidad, este controlador puede requerir una gran cantidad de potencia de CPU, recuerde especificar <tt class="option">-framedrop</tt> si su máquina es demasiado lenta. Nota: Mi AMD K6-2 350MHz es (con <tt class="option">-framedrop</tt>) bastante adecuada para reproducir material del tamaño de VCD y escalar a menor tamaño del original las películas. </p><p> Este controlador se comunica con el controlador del kernel disponible en <a class="ulink" href="http://mjpeg.sourceforge.net" target="_top">http://mjpeg.sourceforge.net</a>, por eso antes de nada deberá tener este funcionando. La presencia de una tarjeta MJPEG es autodetectada por el script <tt class="filename">configure</tt>, si la autodetección falla, fuércela con </p><pre class="screen">./configure --enable-zr</pre><p> </p><p> La salida puede ser controlada con varias opciones, una descripción larga de las opciones puede encontrarse en la página de manual, una lista corta de las opciones puede verse ejecutando </p><pre class="screen">mplayer -zrhelp</pre><p> </p><p> Piense que el escalado y el OSD (información en pantalla) no son manejados por este controlador pero pueden hacerse usando filtros de video. Por ejemplo, suponta que tiene una película con una resolución de 512x272 y desea verla en pantalla completa con su DC10+. Hay tres posibilidades principalmente, puede escalar la película a un ancho de 768, 384 o 192. Por motivos de rendimiento y calidad, puede que quiera elegir escalar la película a 384x204 usando el escalador por software rápido bilineal. La línea de órdenes es </p><pre class="screen">mplayer -vo zr -sws 0 -vf scale=384:204 <em class="replaceable"><code>película.avi</code></em></pre><p> </p><p> Se puede recortar con el filtro <tt class="option">crop</tt> y también por este controlador directamente. Supongamos que tenemos una película que es demasiado ancha para mostrarla en su Buz y que quiere usar <tt class="option">-zrcrop</tt> para hacer la película menos ancha, entonces puede que le sea útil la siguiente órden </p><pre class="screen">mplayer -vo zr -zrcrop 720x320+80+0 <em class="replaceable"><code>benhur.avi</code></em></pre><p> </p><p> si quiere usar el filtro <tt class="option">crop</tt>, puede que desee hacer </p><pre class="screen">mplayer -vo zr -vf crop=720:320:80:0 <em class="replaceable"><code>benhur.avi</code></em></pre><p> </p><p> Si aparece <tt class="option">-zrcrop</tt> más veces invoca el modo <span class="emphasis"><em>cinerama</em></span>, p.e. si quiere distribuir la película en varias TV's o proyectores para crear una pantalla más grande. Supongamos que tiene dos proyectores. Uno lo conecta a su Buz en <tt class="filename">/dev/video1</tt> y el otro lo conecta a su DC10+ en <tt class="filename">/dev/video0</tt>. La película tiene una resolución de 704x288. Supongamos también que que quiere el proyector de la derecha en blanco y negro y el otro debe tener imágenes JPEG con calidad 10, para todo esto deberá usar la siguiente órden </p><pre class="screen"> mplayer -vo zr -zrdev /dev/video0 -zrcrop 352x288+352+0 -zrxdoff 0 -zrbw \ -zrcrop 352x288+0+0 -zrdev /dev/video1 -zrquality 10 \ <em class="replaceable"><code>movie.avi</code></em> </pre><p> </p><p> Puede ver que las opciones que aparecen antes del segundo <tt class="option">-zrcrop</tt> solo se aplican al DC10+ y que las opciones después del segundo <tt class="option">-zrcrop</tt> se aplican al Buz. El número máximo de tarjetas MJPEG que pueden participar en el modo <span class="emphasis"><em>cinerama</em></span> es cuatro, de modo que puede construirse una pantalla de 2x2. </p><p> Finalmente un apunte importante: No inicie o pare XawTV en el dispositivo de reproduccion durante la misma, porque puede colgar su ordenador. Sin embargo sí va bien si <span class="bold"><strong>PRIMERO</strong></span> inicia XawTV, <span class="bold"><strong>DESPUÉS</strong></span> inicia <span class="application">MPlayer</span>, espera a que <span class="application">MPlayer</span> termine y <span class="bold"><strong>DESPUÉS</strong></span> detiene XawTV. </p></div><div class="sect2" title="6.4.2. Blinkenlights"><div class="titlepage"><div><div><h3 class="title"><a name="blinkenlights"></a>6.4.2. Blinkenlights</h3></div></div></div><p> Este controlador permite la reproducción usando el protocolo UDP Blinkenlinghts. Si no sabe qué es <a class="ulink" href="http://www.blinkenlinghts.de/" target="_top">Blinkenlinghts</a> no necesita este controlador. </p></div></div><div class="sect1" title="6.5. Soporte de salida-TV"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="tvout"></a>6.5. Soporte de salida-TV</h2></div></div></div><div class="sect2" title="6.5.1. Tarjetas Matrox G400"><div class="titlepage"><div><div><h3 class="title"><a name="tvout-mga-g400"></a>6.5.1. Tarjetas Matrox G400</h3></div></div></div><p> Bajo Linux tiene dos maneras de que la salida de TV de la G400 funcione: </p><div class="important" title="Importante" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Importante</h3><p> para instrucciones sobre salida-TV de Matrox G450/G550 , ¡vaya a la sección siguiente! </p></div><div class="variablelist"><dl><dt><span class="term">XFree86</span></dt><dd><p> Usando el controladoro y el módulo HAL, disponible en <a class="ulink" href="http://www.matrox.com" target="_top">el sitio web de Matrox</a>. Esto hará que tenga salida de TV bajo X. </p><p> <span class="bold"><strong>Este método no obtiene reproducción acelerada</strong></span> ¡como bajo Windows! La segunda salida tiene solo framebuffer YUV, el <span class="emphasis"><em>BES</em></span> (Back End Scaler, el escalador YUV en las tarjetas G200/G400/G450/G550) no funciona allí! El controlador de windows arregla esto de algún modo, probablemente usando el motor 3D para el zoom, y el framebuffer YUV para mostrar la imagen ampliada. Si realmente desea usar X, use las opciones <tt class="option">-vo x11 -fs -zoom</tt>, pero irá <span class="bold"><strong>LENTO</strong></span>, y tendrá la protección de <span class="bold"><strong>Macrovision</strong></span> activada (puede saltarse la protección de Macrovisión usando éste <a class="ulink" href="http://avifile.sourceforge.net/mgamacro.pl" target="_top">script en perl</a>). </p></dd><dt><span class="term">Framebuffer</span></dt><dd><p> Usando los <span class="bold"><strong>módulos matroxfb</strong></span> en los kernel 2.4. Los kernel 2.2 no tienen la característica de TVout, por lo que no se pueden usar para esto. Tiene que activar todas las características específicas de matroxfb durante la compilación (excepto MultiHead), ¡y compilarlo como <span class="bold"><strong>módulos</strong></span>! También necesita activar I2C. </p><div class="procedure"><ol class="procedure" type="1"><li class="step" title="Paso 1"><p> Entre en <tt class="filename">TVout</tt> y escriba <span class="command"><strong>./compile.sh</strong></span>. Instale <tt class="filename">TVout/matroxset/matroxset</tt> en cualquier lugar de su <code class="envar">PATH</code>. </p></li><li class="step" title="Paso 2"><p> Si no tiene <span class="command"><strong>fbset</strong></span> instalado, ponga <tt class="filename">TVout/fbset/fbset</tt> en cualquier lugar de su <code class="envar">PATH</code>. </p></li><li class="step" title="Paso 3"><p> Si no tiene <span class="command"><strong>con2fb</strong></span> instalado, ponga <tt class="filename">TVout/con2fb/con2fb</tt> en cualquier lugar de su <code class="envar">PATH</code>. </p></li><li class="step" title="Paso 4"><p> Después entre en el directorio <tt class="filename">TVout/</tt> de los fuentes de <span class="application">MPlayer</span>, y ejecute <tt class="filename">./modules</tt> como root. Su consola de modo-texto entrará en modo framebuffer (¡no hay marcha atrás!). </p></li><li class="step" title="Paso 5"><p> A continuación, EDITE y ejecute el script <tt class="filename">./matroxtv</tt>. Esto mostrará un menú muy simple. Pulse <span class="keycap"><b>2</b></span> y <span class="keycap"><b>Enter</b></span>. Ahora debe tener la misma imagen en su monitor, y TV. Si la imagen TV (PAL por defecto) tiene algunos efectos extraños, el script no ha sido capaz de establecer la resolución correcta (a 640x512 por defecto). Pruebe otras resoluciones desde el menúo experimente un poco con fbset. </p></li><li class="step" title="Paso 6"><p> Bueno. La siguiente tarea es hacer que el cursor en tty1 (o donde sea) desaparezca, y desactive el apagado automático del monitor. Ejecute las siguientes órdenes: </p><pre class="screen"> echo -e '\033[?25l' setterm -blank 0</pre><p> or </p><pre class="screen"> setterm -cursor off setterm -blank 0</pre><p> Probablemente desee poner lo de arriba en un script, y también limpiar la pantalla. Para hacer que regrese el cursor: </p><pre class="screen">echo -e '\033[?25h'</pre><p> o </p><pre class="screen">setterm -cursor on</pre><p> </p></li><li class="step" title="Paso 7"><p> Muy bien chaval. Inicie la reproducción con </p><pre class="screen"> mplayer -vo mga -fs -screenw 640 -screenh 512 <em class="replaceable"><code>nombrearchivo</code></em></pre><p> (Si usa X, ahora cambie a matroxfb con por ejemplo <span class="keycap"><b>Ctrl</b></span>+<span class="keycap"><b>Alt</b></span>+<span class="keycap"><b>F1</b></span>.) Cambie <code class="literal">640</code> y <code class="literal">512</code> si establece otra resolución... </p></li><li class="step" title="Paso 8"><p> <span class="bold"><strong>¡Disfrute de la salida de TV ultra-rápida ultra-buena de Matrox (mejor que Xv)!</strong></span> </p></li></ol></div></dd></dl></div><p title="Fabricando un cable de salida de TV para Matrox"><b>Fabricando un cable de salida de TV para Matrox. </b> Nadie se hace responsable, ni se ofrece ninguna garantía por ningún daño causado por esta documentación. </p><p title="Cable para G400"><b>Cable para G400. </b> El conector de cuatro contactos de CRTC2 es una señal de video compuesto. La toma de tierra son los contactos sexto, séptimo y octavo. (información proporcionada por Balázs Rácz) </p><p title="Cable para G450"><b>Cable para G450. </b> Los cuatro primeros contactos del conector CRTC2 son la señal de video compuesto. La tierra es el quinto, sexto, séptimo, y decimoquinto contactos (5, 6, 7, 15). (información proporcionada por Balázs Kerekes) </p></div><div class="sect2" title="6.5.2. Tarjetas Matrox G450/G550"><div class="titlepage"><div><div><h3 class="title"><a name="tv-out_matrox_g450"></a>6.5.2. Tarjetas Matrox G450/G550</h3></div></div></div><p> El soporte para salida de TV en estas tarjetas ha sido introducido recientemente, y aún no está en la rama principal del kernel. Actualmente el módulo <span class="bold"><strong>mga_vid</strong></span> no puede usarse AFAIK, porque el controlador de G450/G550 funciona solo en una configuración: el primer chip CRTC (con muchas más características) en la primera pantalla (en el monitor), y el segundo CRTC (no <span class="bold"><strong>BES</strong></span> - para explicación sobre BES, vea la sección de G400 más arriba) en TV. Actualmente solo puede usar el controlador de salida <span class="emphasis"><em>fbdev</em></span> de <span class="application">MPlayer</span>. </p><p> Actualmente el primer CRTC no puede ser enrutado hacia el segundo monitor. El autor del controlador del kernel matroxfb - Petr Vandrovec - quizá añada soporte para ello, mostrando la salida del CRTC primario en ambas pantallas al mismo tiempo, como recomendamos actualmente para G400, vea la sección anterior. </p><p> El parche para el kernel necesario y un 'como' detallado es descargable desde <a class="ulink" href="http://www.bglug.ca/matrox_tvout/" target="_top">http://www.bglug.ca/matrox_tvout/</a> </p></div><div class="sect2" title="6.5.3. Tarjetas ATI"><div class="titlepage"><div><div><h3 class="title"><a name="tvout-ati"></a>6.5.3. Tarjetas ATI</h3></div></div></div><p title="PREÁMBULO"><b>PREÁMBULO. </b> Actualmente ATI no soporta ningún chip de salida de TV bajo Linux, debido a los problemas de licencia de la tecnología Macrovision. </p><div class="itemizedlist" title="ESTADO DE LA SALIDA DE TV DE LAS TARJETAS ATI EN LINUX"><p class="title"><b>ESTADO DE LA SALIDA DE TV DE LAS TARJETAS ATI EN LINUX</b></p><ul class="itemizedlist" type="disc"><li class="listitem"><p> <span class="bold"><strong>ATI Mach64</strong></span>: soportado por <a class="ulink" href="http://gatos.sf.net" target="_top">gatos</a>. </p></li><li class="listitem"><p> <span class="bold"><strong>ASIC Radeon VIVO</strong></span>: soportado por <a class="ulink" href="http://gatos.sf.net" target="_top">gatos</a>. </p></li><li class="listitem"><p> <span class="bold"><strong>Radeon</strong></span> y <span class="bold"><strong>Rage128</strong></span>: soportados por <span class="application">MPlayer</span>! Consulte el <a class="link" href="#vesa" title="6.2.11. VESA - salida en VESA BIOS">controlador VESA</a> y la secciones <a class="link" href="#vidix" title="6.2.13. VIDIX">VIDIX</a>. </p></li><li class="listitem"><p> <span class="bold"><strong>Rage Mobility P/M, Radeon, Rage 128, Mobility M3/M4</strong></span>: soportado por <a class="ulink" href="http://www.stud.uni-hamburg.de/users/lennart/projects/atitvout/" target="_top">atitvout</a>. </p></li></ul></div><p> En otras tarjetas, use el controlador <a class="link" href="#vesa" title="6.2.11. VESA - salida en VESA BIOS">VESA</a>, sin VIDIX. Lo malo es que se necesita una CPU potente. </p><p> Lo único que necesita hacer - <span class="bold"><strong>Tener el conector de TV conectado antes de iniciar su PC</strong></span> porque la BIOS de video se inicializa por sí misma solo una vez durante el proceso POST. </p></div><div class="sect2" title="6.5.4. Voodoo 3"><div class="titlepage"><div><div><h3 class="title"><a name="tvout-voodoo"></a>6.5.4. Voodoo 3</h3></div></div></div><p> Consulte <a class="ulink" href="http://www.iki.fi/too/tvout-voodoo3-3000-xfree" target="_top">esta URL</a>. </p></div><div class="sect2" title="6.5.5. nVidia"><div class="titlepage"><div><div><h3 class="title"><a name="tvout-nvidia"></a>6.5.5. nVidia</h3></div></div></div><p> Lo primero, DEBE descargar los controladores de fuente-cerrada desde <a class="ulink" href="http://nvidia.com" target="_top">http://nvidia.com</a>. No voy a describir el proceso de instalación y configuración porque no es el objetivo que pretende cubrir esta documentación. </p><p> Después de que XFree86, XVideo, y la aceleración 3D estén funcionando correctamente, edite su sección Devide sobre la tarjeta en el archivo <tt class="filename">XF86Config</tt>, de acuerdo con el siguiente ejemplo (adaptado para su tarjeta/TV): </p><pre class="programlisting"> Section "Device" Identifier "GeForce" VendorName "ASUS" BoardName "nVidia GeForce2/MX 400" Driver "nvidia" #Option "NvAGP" "1" Option "NoLogo" Option "CursorShadow" "on" Option "TwinView" Option "TwinViewOrientation" "Clone" Option "MetaModes" "1024x768,640x480" Option "ConnectedMonitor" "CRT, TV" Option "TVStandard" "PAL-B" Option "TVOutFormat" "Composite" EndSection </pre><p> </p><p> Por supuesto lo importante es la parte del TwinView. </p></div><div class="sect2" title="6.5.6. Neomagic"><div class="titlepage"><div><div><h3 class="title"><a name="tvout-neomagic"></a>6.5.6. Neomagic</h3></div></div></div><p> Probado en un Toshiba Tecra 8000. Su chip de salida de TV es una cagada miserable. Evítelo si es posible. </p><p> Debe usar <tt class="option">-vo vesa</tt>. El chip probado tiene capacidad solo para una relación de aspecto 1.333333, por lo que debe asegurarse de que usa las opciones <tt class="option">-x</tt>, <tt class="option">-y</tt> y/o los filtros <tt class="option">-vf scale,crop,expand</tt> si la imagen no le deja habilitar la salida de TV. La resolución máxima es 720*576 a 16bpp. </p><p> Problemas conocidos: solo-VESA, limitación 1.33333, la imagen no está siempre centrada, la película aparece en 4bpp cada 10 minutos, y se queda de esa forma. Cuelgues frecuentes de hardware, problemas de representación en pantalla LCD. </p></div></div></div><div class="chapter" title="Capítulo 7. Adaptaciones"><div class="titlepage"><div><div><h2 class="title"><a name="ports"></a>Capítulo 7. Adaptaciones</h2></div></div></div><div class="toc"><dl><dt><span class="sect1"><a href="#linux">7.1. Linux</a></span></dt><dd><dl><dt><span class="sect2"><a href="#debian">7.1.1. Empaquetado para Debian</a></span></dt><dt><span class="sect2"><a href="#rpm">7.1.2. Empaquetado RPM</a></span></dt><dt><span class="sect2"><a href="#arm_linux">7.1.3. ARM Linux</a></span></dt></dl></dd><dt><span class="sect1"><a href="#bsd">7.2. *BSD</a></span></dt><dd><dl><dt><span class="sect2"><a href="#freebsd">7.2.1. FreeBSD</a></span></dt><dt><span class="sect2"><a href="#openbsd">7.2.2. OpenBSD</a></span></dt><dt><span class="sect2"><a href="#darwin">7.2.3. Darwin</a></span></dt></dl></dd><dt><span class="sect1"><a href="#solaris">7.3. Sun Solaris</a></span></dt><dt><span class="sect1"><a href="#hpux">7.4. HP UX</a></span></dt><dt><span class="sect1"><a href="#qnx">7.5. QNX</a></span></dt><dt><span class="sect1"><a href="#windows">7.6. Windows</a></span></dt><dd><dl><dt><span class="sect2"><a href="#cygwin">7.6.1. Cygwin</a></span></dt><dt><span class="sect2"><a href="#mingw">7.6.2. MinGW</a></span></dt></dl></dd><dt><span class="sect1"><a href="#macos">7.7. Mac OS</a></span></dt></dl></div><div class="sect1" title="7.1. Linux"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="linux"></a>7.1. Linux</h2></div></div></div><p> La principal plataforma de desarrollo es Linux en x86, sin embargo <span class="application">MPlayer</span> funciona en muchas otras adaptaciones de Linux. Los paquetes binarios de <span class="application">MPlayer</span> están disponibles desde muchos sitios. Sin embargo <span class="bold"><strong>ninguno de estos paquetes tiene soporte</strong></span>. Reporte los problemas a sus autores, no a nosotros. </p><div class="sect2" title="7.1.1. Empaquetado para Debian"><div class="titlepage"><div><div><h3 class="title"><a name="debian"></a>7.1.1. Empaquetado para Debian</h3></div></div></div><p> Para construir un paquete de Debian, ejecute la siguiente órden en el directorio de fuentes de <span class="application">MPlayer</span>: </p><pre class="screen">fakeroot debian/rules binary</pre><p> Y después puede instalar el paquete <tt class="filename">.deb</tt> como root de la manera habitual: </p><pre class="screen">dpkg -i ../mplayer_<em class="replaceable"><code>version</code></em>.deb</pre><p> </p><p> Christian Marillat ha hecho los paquetes no oficiales de <span class="application">MPlayer</span> para Debian, de <span class="application">MEncoder</span> y de tipografías para que en un momento, pueda (apt-)obtenerlos desde su <a class="ulink" href="http://marillat.free.fr/" target="_top">página personal</a>. </p></div><div class="sect2" title="7.1.2. Empaquetado RPM"><div class="titlepage"><div><div><h3 class="title"><a name="rpm"></a>7.1.2. Empaquetado RPM</h3></div></div></div><p> Dominik Mierzejewski ha creado y mantiene los paquetes oficiales RPM para Red Hat de <span class="application">MPlayer</span>. Están disponibles en su <a class="ulink" href="http://greysector.rangers.eu.org/mplayer.html" target="_top">página personal</a>. </p><p> Los paquetes RPM para Mandrake están disponibles en el <a class="ulink" href="http://plf.zarb.org/" target="_top">P.L.F.</a>. SuSE los usa para incluir una versión mutilada de <span class="application">MPlayer</span> en su distribución. Esta versión será eliminada en sus próximas liberaciones. Puede obtener RPMs que funcionan desde <a class="ulink" href="http://packman.links2linux.de/?action=128" target="_top">links2linux.de</a>. </p></div><div class="sect2" title="7.1.3. ARM Linux"><div class="titlepage"><div><div><h3 class="title"><a name="arm_linux"></a>7.1.3. ARM Linux</h3></div></div></div><p> <span class="application">MPlayer</span> funciona en PDAs con Linux en CPU ARM p.e. Sharp Zaurus, Compaq Ipaq. La manera más facil de obtener <span class="application">MPlayer</span> es bajarlo desde uno de los sitios de paquetes de <a class="ulink" href="http://www.openzaurus.org" target="_top">OpenZaurus</a>. Si desea compilarlo usted mismo, debe mirar en <a class="ulink" href="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html%7Csrc/.%7Csrc/packages" target="_top">mplayer</a> y el directorio <a class="ulink" href="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html%7Csrc/.%7Csrc/packages" target="_top">libavcodec</a> en el raiz de la distribución de OpenZaurus. Ahí siempre tienen los Makefile y parches más recientes usados para construir un <span class="application">MPlayer</span> desde CVS con <code class="systemitem">libavcodec</code>. Si necesita un entorno GUI, puede usar xmms-embebido. </p></div></div><div class="sect1" title="7.2. *BSD"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="bsd"></a>7.2. *BSD</h2></div></div></div><p> <span class="application">MPlayer</span> funciona en FreeBSD, OpenBSD, NetBSD, BSD/OS y Darwin. Hay versiones ports/pkgsrc/fink/etc de <span class="application">MPlayer</span> disponibles que son probablemente más faciles de usar que nuestras fuentes en crudo. </p><p> Para construir <span class="application">MPlayer</span> necesita GNU make (gmake - el make nativo de BSD no funciona) y una versión reciente de binutils. </p><p> Si <span class="application">MPlayer</span> se queja de que no encuentra <tt class="filename">/dev/cdrom</tt> o <tt class="filename">/dev/dvd</tt>, cree un enlace simbólico apropiado: </p><pre class="screen">ln -s /dev/<em class="replaceable"><code>(su_dispositivo_de_cdrom)</code></em> /dev/cdrom</pre><p> </p><p> Para usar DLLs Win32 con <span class="application">MPlayer</span> necesita re-compilar el kernel con la "<code class="envar">opción USER_LDT</code>" (a no ser que ejecute FreeBSD-CURRENT, donde es así por defecto). </p><div class="sect2" title="7.2.1. FreeBSD"><div class="titlepage"><div><div><h3 class="title"><a name="freebsd"></a>7.2.1. FreeBSD</h3></div></div></div><p> Si su CPU tiene SSE, recompile el kernel con "<code class="envar">la opción CPU_ENABLE_SSE</code>" (FreeBSD-STABLE o parches del kernel son requeridos). </p></div><div class="sect2" title="7.2.2. OpenBSD"><div class="titlepage"><div><div><h3 class="title"><a name="openbsd"></a>7.2.2. OpenBSD</h3></div></div></div><p> 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 <code class="envar">$PATH</code> y haz <span class="command"><strong>gmake -k</strong></span>, después asegúrate de que la versión nativa es la que se usa y haz <span class="command"><strong>gmake</strong></span>. </p></div><div class="sect2" title="7.2.3. Darwin"><div class="titlepage"><div><div><h3 class="title"><a name="darwin"></a>7.2.3. Darwin</h3></div></div></div><p> Vea la sección <a class="link" href="#macos" title="7.7. Mac OS">Mac OS</a>. </p></div></div><div class="sect1" title="7.3. Sun Solaris"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="solaris"></a>7.3. Sun Solaris</h2></div></div></div><p> <span class="application">MPlayer</span> debería funcionar en Solaris 2.6 o posterior. </p><p> En <span class="bold"><strong>UltraSPARCs</strong></span>, <span class="application">MPlayer</span> tiene la ventaja de las extensiones <span class="bold"><strong>VIS</strong></span> (equivalentes a MMX), actualmente solo en <code class="systemitem">libmpeg2</code>, <code class="systemitem">libvo</code> y <code class="systemitem">libavcodec</code>, pero no en <code class="systemitem">mp3lib</code>. Puede ver un archivo VOB en una CPU a 400MHz. Necesita tener <a class="ulink" href="http://www.sun.com/sparc/vis/mediaLib.html" target="_top"><code class="systemitem">mLib</code></a> instalado. </p><p> Para contruir el paquete necesita GNU <span class="application">make</span> (<tt class="filename">gmake</tt>, <tt class="filename">/opt/sfw/gmake</tt>), 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: </p><pre class="screen"> % /usr/ccs/bin/make make: Error fatal en lector: Makefile, línea 25: Fin de línea visto inesperado </pre><p> </p><p> 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. </p><p> En Solaris x86, necesita el ensamblador GNU y el compilador GNU C/C++, ¡configurado para usar el ensamblador GNU! El código de <span class="application">MPlayer</span> 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 <tt class="filename">/usr/ccs/bin/as</tt>. </p><p>El script <tt class="filename">configure</tt> intenta encontrarlo, qué programa ensamblador es usado por tu órden "gcc" (en caso de que la autodetección falle, use la opción <tt class="option">--as=<em class="replaceable"><code>/donde/este/instalado/gnu-as</code></em></tt> para decirle al script <tt class="filename">configure</tt> donde puede encontrar el "as" de GNU en su sistema). </p><p> Mensaje de error de <tt class="filename">configure</tt> en un sistema Solaris x86 usando GCC sin el ensamblador GNU: </p><pre class="screen"> % configure ... Comprobando ensamblador (/usr/ccs/bin/as) ... , fallo Por favor, actualice(baje versión) de binutils a 2.10.1... </pre><p> (Solución: Instalar y usar un gcc configurado con <tt class="option">--with-as=gas</tt>) </p><p> Error típico que se obtiene cuando se construye con un compilador GNU C que no usa GNU as: </p><pre class="screen"> % 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" ... </pre><p> </p><p> Debido a fallos en Solaris 8, puede que no se puedan reproducir discos DVD mayores de 4 GB: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> 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. (<a class="ulink" href="http://groups.yahoo.com/group/solarisonintel/message/22516" target="_top">http://groups.yahoo.com/group/solarisonintel/message/22516</a>). Este problema no existe en la versión SPARC de Solaris 8. </p></li><li class="listitem"><p> 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 (<a class="ulink" href="http://groups.yahoo.com/group/solarisonintel/message/22592" target="_top">http://groups.yahoo.com/group/solarisonintel/message/22592</a>). El problema hsfs puede ser corregido instalando el parche 109764-04 (sparc) / 109765-04 (x86). </p></li></ul></div><p> 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 <span class="application">MPlayer</span> llamando a funciones en la <a class="ulink" href="http://www.sun.com/sparc/vis/mediaLib.html" target="_top">mediaLib</a> de Sun. </p><p> 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. </p></div><div class="sect1" title="7.4. HP UX"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="hpux"></a>7.4. HP UX</h2></div></div></div><p> Martin Gansser mantiene un <a class="ulink" href="http://cloud.prohosting.com/patos/docs/mplayer_on_hpux11.htm" target="_top">COMO</a> de mucho valor acerca de cómo compilar <span class="application">MPlayer</span> en HP-UX. ¡Tiene incluso una sección de FAQ! </p><p> De todos modos, nuestro código crudo de <span class="application">MPlayer</span> se usa para compilar en HP-UX sin problemas. </p></div><div class="sect1" title="7.5. QNX"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="qnx"></a>7.5. QNX</h2></div></div></div><p> Funciona. Necesita descargar SDL para QNX, e instalarlo. Después ejecute <span class="application">MPlayer</span> con las opciones <tt class="option">-vo sdl:photon</tt> y <tt class="option">-ao sdl:nto</tt> y debe ir rápido. </p><p> La salida <tt class="option">-vo x11</tt> puede ser más lenta que en Linux, porque QNX solo tiene <span class="emphasis"><em>emulación</em></span> de X que es MUY lenta. Use SDL. </p></div><div class="sect1" title="7.6. Windows"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="windows"></a>7.6. Windows</h2></div></div></div><p>Sí, <span class="application">MPlayer</span> funciona en Windows bajo <a class="ulink" href="http://www.cygwin.com/" target="_top">Cygwin</a> y <a class="ulink" href="http://www.mingw.org/" target="_top">MinGW</a>. No tiene aún una interfaz gráfica (GUI), pero la versión en línea de órdenes es casi completamente funcional. <a class="ulink" href="../../tech/patches.txt" target="_top">Los parches</a> son siempre bienvenidos. Debe consultar también la lista de correo <a class="ulink" href="http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin/" target="_top">mplayer-cygwin</a> para obtener ayuda y la información de última hora.</p><p>Se obtienen mejores resultados con el controlador de salida DirectX nativo (<tt class="option">-vo directx</tt>) y el controlador nativo de salida de audio de Windows (<tt class="option">-ao win32</tt>). 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 <tt class="option">-vo directx:noaccel</tt>. Descargue <a class="ulink" href="http://www.videolan.org/vlc/dx7headers.tgz" target="_top">los archivos de cabecera de DirectX 7</a> para compilar el controlador de salida de video de DirectX.</p><p>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 <tt class="option">--codecsdir=<em class="replaceable"><code>c:/ruta/a/sus/codecs</code></em></tt> (alternativamente <tt class="option">--codecsdir=<em class="replaceable"><code>/ruta/a/sus/codecs</code></em></tt> solo en Cygwin) a <tt class="filename">configure</tt>. Tenemos informes de que las DLLs de Real deben tener permisos de escritura para el usuario que usa <span class="application">MPlayer</span>, 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 (<tt class="filename"><em class="replaceable"><code>C:\Windows\system\</code></em></tt> o similar).</p><p>La consola de Cygwin/MinGW es extrañamente lenta. Redirigir la salida o usar la opción <tt class="option">-quiet</tt> se ha informado que mejora el rendimiento en algunos sistemas. El renderizado directo (<tt class="option">-dr</tt>) también puede ayudar. Puede prevenir el parpadeo de OSD a través de doble buffer con la opción <tt class="option">-double</tt>. Si la reproducción va a saltos, pruebe <tt class="option">-autosync 100</tt>. Si alguna de estas opciones le ayuda, puede que desee ponerlas en su archivo de configuración.</p><p>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 <a class="ulink" href="http://www.mplayerhq.hu/projects.html#windows" target="_top">nuestra página de proyectos</a>.</p><div class="sect2" title="7.6.1. Cygwin"><div class="titlepage"><div><div><h3 class="title"><a name="cygwin"></a>7.6.1. Cygwin</h3></div></div></div><p>Versiones de <span class="application">Cygwin</span> anteriores a la 1.5.0 no incluyen <tt class="filename">inttypes.h</tt>. Ponga esto <a class="ulink" href="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/inttypes.h" target="_top">inttypes.h</a> en <tt class="filename">/usr/include/</tt> para hacer que <span class="application">MPlayer</span> compile.</p><p>Los archivos de cabecera de DirectX han de ser extraidos a <tt class="filename">/usr/include/</tt> o a <tt class="filename">/usr/local/include/</tt>.</p><p>Las instrucciones y los archivos para hacer que SDL funcione bajo Cygwin pueden encontrarse en el <a class="ulink" href="http://www.libsdl.org/extras/win32/cygwin/" target="_top">sitio de libsdl</a>.</p><p>Puede reproducir VCDs reproduciendo los archivos <tt class="filename">.DAT</tt> o <tt class="filename">.MPG</tt> que Windows muestra en los VCDs. Esto funciona de la siguiente manera (ajuste para la letra de unidad de su CD-ROM):</p><pre class="screen">mplayer <em class="replaceable"><code>d:/mpegav/avseq01.dat</code></em></pre><pre class="screen">mplayer <em class="replaceable"><code>/cygdrive/d/MPEG2/AVSEQ01.MPG</code></em></pre><p>Para DVDs también funciona, ajuste <tt class="option">-dvd-device</tt> para la letra de unidad de su DVD-ROM:</p><pre class="screen">mplayer dvd://<em class="replaceable"><code><título></code></em> -dvd-device '\\.\d:'</pre></div><div class="sect2" title="7.6.2. MinGW"><div class="titlepage"><div><div><h3 class="title"><a name="mingw"></a>7.6.2. MinGW</h3></div></div></div><p>Instalar una versión de MinGW que pueda usarse para compilar <span class="application">MPlayer</span> 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.</p><p>Si usa una versión de MinGW anterior a la 3.1.0, necesita reemplazar <tt class="filename">/mingw/include/sys/types.h</tt> con esta <a class="ulink" href="http://www.mplayerhq.hu/MPlayer/releases/win32/contrib/types.h" target="_top"> <tt class="filename">types.h</tt></a>.</p><p>Extraiga los archivos de cabecera de DirectX a <tt class="filename">/mingw/include/</tt>.</p><p>VCDs y DVDs funcionan casi como en Cygwin (ajustando la letra de la unidad de su CD-ROM/DVD-ROM):</p><pre class="screen">mplayer <em class="replaceable"><code>d:/mpegav/avseq01.dat</code></em></pre><pre class="screen">mplayer <em class="replaceable"><code>/d/MPEG2/AVSEQ01.MPG</code></em></pre><pre class="screen">mplayer dvd://i<em class="replaceable"><code><título></code></em> -dvd-device <em class="replaceable"><code>/d/</code></em></pre></div></div><div class="sect1" title="7.7. Mac OS"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="macos"></a>7.7. Mac OS</h2></div></div></div><p> Solo Mac OS X 10.2 y superiores están soportados por el código en crudo de <span class="application">MPlayer</span>. ¡Siéntase libre para añadir soporte para versiones más antiguas de Mac OS y envíe parches! </p><p> El GCC 3.x modificado por Apple es el preferido para compilar <span class="application">MPlayer</span> especialmente usando <code class="systemitem">libavcodec</code> ya que el GCC 2.95.x modificado por Apple no soporta bien la sintaxis C99. </p><p> Solo puede obtener un GUI Aqua para <span class="application">MPlayer</span> junto con los binarios compilados de <span class="application">MPlayer</span> para Mac OS X desde el proyecto <a class="ulink" href="http://mplayerosx.sf.net/" target="_top">MPlayerOSX</a>. </p></div></div><div class="chapter" title="Capítulo 8. Codificando con MEncoder"><div class="titlepage"><div><div><h2 class="title"><a name="mencoder"></a>Capítulo 8. Codificando con <span class="application">MEncoder</span></h2></div></div></div><div class="toc"><dl><dt><span class="sect1"><a href="#menc-feat-divx4">8.1. Codificación MPEG-4 en 2 o 3-pasadas ("DivX")</a></span></dt><dt><span class="sect1"><a href="#menc-feat-mpeg">8.2. Codificando a formato MPEG</a></span></dt><dt><span class="sect1"><a href="#menc-feat-rescale">8.3. Reescalando películas</a></span></dt><dt><span class="sect1"><a href="#menc-feat-streamcopy">8.4. Copia de flujos</a></span></dt><dt><span class="sect1"><a href="#menc-feat-fix-avi">8.5. Arreglando AVIs con índice roto o interpolado</a></span></dt><dd><dl><dt><span class="sect2"><a href="#menc-feat-appending">8.5.1. Uniendo mútiples archivos AVI</a></span></dt></dl></dd><dt><span class="sect1"><a href="#menc-feat-enc-libavcodec">8.6. Codificando con la familia de codecs de <code class="systemitem">libavcodec</code></a></span></dt><dt><span class="sect1"><a href="#menc-feat-enc-images">8.7. Codificando desde múltiples archivos de imágenes de entrada (JPEGs, PNGs o TGAs)</a></span></dt><dt><span class="sect1"><a href="#menc-feat-extractsub">8.8. Extrayendo subtítulos DVD a archivo Vobsub</a></span></dt><dt><span class="sect1"><a href="#aspect">8.9. Preservando relación de aspecto</a></span></dt><dt><span class="sect1"><a href="#custommatrices">8.10. Matrices inter/intra personalizadas</a></span></dt><dt><span class="sect1"><a href="#menc-feat-dvd-mpeg4">8.11. Haciendo un MPEG4 ("DivX") de alta calidad al ripear una película en DVD</a></span></dt><dd><dl><dt><span class="sect2"><a href="#menc-feat-dvd-mpeg4-crop">8.11.1. Recortando</a></span></dt><dt><span class="sect2"><a href="#menc-feat-dvd-mpeg4-quality">8.11.2. Nivel de calidad</a></span></dt><dt><span class="sect2"><a href="#menc-feat-dvd-mpeg4-2gb">8.11.3. Archivos más grandes de 2GB</a></span></dt><dt><span class="sect2"><a href="#menc-feat-dvd-mpeg4-deinterlacing">8.11.4. Desentrelazado</a></span></dt><dt><span class="sect2"><a href="#menc-feat-dvd-mpeg4-telecine">8.11.5. Inversión de telecine</a></span></dt><dt><span class="sect2"><a href="#menc-feat-dvd-mpeg4-scaling">8.11.6. Escalado y razón de aspecto</a></span></dt><dt><span class="sect2"><a href="#menc-feat-dvd-mpeg4-summary">8.11.7. Sumando todo esto</a></span></dt></dl></dd><dt><span class="sect1"><a href="#menc-feat-telecine">8.12. Cómo tratar con telecine y entrelazado con DVDs NTSC</a></span></dt><dd><dl><dt><span class="sect2"><a href="#menc-feat-telecine-ident">8.12.1. Cómo decir el tipo de video que tiene</a></span></dt><dd><dl><dt><span class="sect3"><a href="#menc-feat-telecine-ident-progressive">8.12.1.1. Progresivo</a></span></dt><dt><span class="sect3"><a href="#menc-feat-telecine-ident-telecined">8.12.1.2. Telecine</a></span></dt><dt><span class="sect3"><a href="#menc-feat-telecine-ident-interlaced">8.12.1.3. Entrelazado</a></span></dt><dt><span class="sect3"><a href="#menc-feat-telecine-ident-mixedpt">8.12.1.4. Mezcla progresiva y telecine</a></span></dt><dt><span class="sect3"><a href="#menc-feat-telecine-ident-mixedpi">8.12.1.5. Mezcla de progresivo y entrelazado</a></span></dt></dl></dd><dt><span class="sect2"><a href="#menc-feat-telecine-encode">8.12.2. Cómo codificar cada categoría</a></span></dt><dd><dl><dt><span class="sect3"><a href="#menc-feat-telecine-encode-progressive">8.12.2.1. Progresivo</a></span></dt><dt><span class="sect3"><a href="#menc-feat-telecine-encode-telecined">8.12.2.2. Telecine</a></span></dt><dt><span class="sect3"><a href="#menc-feat-telecine-encode-interlaced">8.12.2.3. Entrelazado</a></span></dt><dt><span class="sect3"><a href="#menc-feat-telecine-encode-mixedpt">8.12.2.4. Mezcla de progresivo y telecine</a></span></dt><dt><span class="sect3"><a href="#menc-feat-telecine-encode-mixedpi">8.12.2.5. Mezcla de progresivo y entrelazado</a></span></dt></dl></dd><dt><span class="sect2"><a href="#menc-feat-telecine-footnotes">8.12.3. Notas a pie de página</a></span></dt></dl></dd></dl></div><p> Para una lista completa de las opciones de <span class="application">MEncoder</span> y ejemplos, vea por favor la página de manual. Para una serie de ejemplos prácticos y guias detalladas usando varios parámetros de codificación, lea los <a class="ulink" href="../../tech/encoding-tips.txt" target="_top">consejos-de-codificación</a> donde se recopilan varias conversaciones en la lista de correo mplayer-users. Busque los <a class="ulink" href="http://mplayerhq.hu/pipermail/mplayer-users/" target="_top">archivos</a> para obtener abundantes discusiones acerca de todos los aspectos y problemas relacionados con la codificación con <span class="application">MEncoder</span>. </p><div class="sect1" title='8.1. Codificación MPEG-4 en 2 o 3-pasadas ("DivX")'><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="menc-feat-divx4"></a>8.1. Codificación MPEG-4 en 2 o 3-pasadas ("DivX")</h2></div></div></div><p title="Codificación en 2-pasadas"><b>Codificación en 2-pasadas. </b> El nombre viene del hecho de que este método codifica el archivo <span class="emphasis"><em>dos veces</em></span>. La primera codificación (pasada aislada) crea algunos archivos temporales (<tt class="filename">*.log</tt>) con un tamaño de unos pocos megabytes, no los borre todavía (puede borrar el AVI). En la segunda pasada, el archivo de salida de 2-pasadas es creado, usando los datos de tasa de bits de los archivos temporales. El archivo resultante debe tener así mucha más calidad de imagen. Si es la primera vez que oye hablar de esto, debería consultar algunas guías disponibles en la Red. </p><p> Este ejemplo muestra como codificar un DVD a AVI MPEG-4 de 2-pasadas ("DivX"). Solo se necesitan dos órdenes: </p><pre class="screen">rm frameno.avi</pre><p> borre este archivo, que puede ser de una codificación previa en 3-pasadas (e interfiere con el actual) </p><pre class="screen"> mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o <em class="replaceable"><code>pelicula.avi</code></em> mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o <em class="replaceable"><code>pelicula.avi</code></em> </pre><p> </p><p title="Codificación en 3-pasadas"><b>Codificación en 3-pasadas. </b> Esta es una extensión de la codificación en 2-pasadas, donde la codificación del au dio se hace en una pasada diferente. Este método estima la tasa de bits de video necesaria para ajustar el tamaño para un CD. Además, el audio es codificado una sola vez, y no como en el modo 2-pasadas. De manera esquemática: </p><div class="procedure"><ol class="procedure" type="1"><li class="step" title="Paso 1"><p> Borre el archivo temporal conflictivo: </p><pre class="screen">rm frameno.avi</pre><p> </p></li><li class="step" title="Paso 2"><p> <span class="emphasis"><em>Primera pasada:</em></span> </p><pre class="screen">mencoder <em class="replaceable"><code>file/DVD</code></em> -ovc frameno -oac mp3lame -lameopts vbr=3 -o frameno.avi</pre><p> Se crea un archivo avi solo-audio, que contiene <span class="bold"><strong>únicamente</strong></span> el flujo de audio requerido. No olvide <tt class="option">-lameopts</tt>, si necesita establecer algunos parámetros. Si está codificando una película larga, <span class="application">MEncoder</span> muestra las tasas de bits recomendadas para tamaños 650MB, 700MB, y 800MB, una vez que finaliza esta pasada. </p></li><li class="step" title="Paso 3"><p> <span class="emphasis"><em>Segunda pasada:</em></span> </p><pre class="screen"> mencoder <em class="replaceable"><code>file/DVD</code></em> -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=<em class="replaceable"><code>bitrate</code></em></pre><p> Esta es la primera pasada de la codificación de video. Opcionalmente puede especificar la tasa de bits de video que predijo <span class="application">MEncoder</span> cuando terminó la primera pasada. </p></li><li class="step" title="Paso 4"><p> <span class="emphasis"><em>Tercera pasada:</em></span> </p><pre class="screen"> mencoder <em class="replaceable"><code>file/DVD</code></em> -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=<em class="replaceable"><code>bitrate</code></em> </pre><p> Esta es la segunda pasada de la codificación del video. Especifique la misma tasa de bits que en la pasada anterior a menos que sepa realmente lo que está haciendo. En esta pasada, el audio de <tt class="filename">frameno.avi</tt> se inserta en el archivo de destino... y ¡ya está todo hecho! </p></li></ol></div><div class="example"><a name="example_3_pass"></a><p class="title"><b>Ejemplo 8.1. Ejemplo de codificación en 3-pasadas</b></p><div class="example-contents"><p> </p><pre class="screen">rm frameno.avi</pre><p> borre este archivo, que puede ser de una codificación en 3-pasadas anterior (e interferir con el actual) </p><pre class="screen"> mencoder dvd://2 -ovc frameno -o frameno.avi -oac mp3lame -lameopts vbr=3 mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o <em class="replaceable"><code>pelicula.avi</code></em> mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o <em class="replaceable"><code>pelicula.avi</code></em> </pre><p> </p></div></div><br class="example-break"></div><div class="sect1" title="8.2. Codificando a formato MPEG"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="menc-feat-mpeg"></a>8.2. Codificando a formato MPEG</h2></div></div></div><p> <span class="application">MEncoder</span> puede crear archivos con formato de salida MPEG (MPEG-PS). Probablemente esto sea util con el codec <span class="emphasis"><em>mpeg1video</em></span> de <code class="systemitem">libavcodec</code>, porque los reproductores - excepto <span class="application">MPlayer</span> - esperan video MPEG1, y audio en MPEG1 layer 2 (MP2) en los archivos MPEG. </p><p> Esta característica no es muy útil ahora, por un lado probablemente tenga muchos fallos, pero lo más importante es porque <span class="application">MEncoder</span> actualmente no codifica audio MPEG1 layer 2 (MP2), que es lo que otros reproductores esperan en los archivos MPEG. </p><p> Para cambiar el formato del archivo de salida de <span class="application">MEncoder</span>, use la opción <tt class="option">-of mpeg</tt>. </p><p> Ejemplo: </p><pre class="screen"> mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video -oac copy <em class="replaceable"><code>otras opciones</code></em> <em class="replaceable"><code>media.avi</code></em> -o <em class="replaceable"><code>output.mpg</code></em> </pre><p> </p></div><div class="sect1" title="8.3. Reescalando películas"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="menc-feat-rescale"></a>8.3. Reescalando películas</h2></div></div></div><p> A menudo surge la necesidad de reescalar el tamaño de las imágenes de las películas. Las razones pueden ser varias: reducir el tamaño del archivo, ancho de banda de la red, etc. La mayoría de la gente incluso reescala cuando convierte DVDs o SVCDs a AVI DIVX. Esto es <span class="bold"><strong>malo</strong></span>. En lugar de hacer eso, lea la sección <a class="link" href="#aspect" title="8.9. Preservando relación de aspecto">Conservando la razón de aspecto</a>. </p><p> El proceso de escalado es manejado por el filtro de video <code class="literal">scale</code>: <tt class="option">-vf scale=<em class="replaceable"><code>ancho</code></em>:<em class="replaceable"><code>alto</code></em></tt>. La calidad puede ser establecida con la opción <tt class="option">-sws</tt>. Si no se especifica, <span class="application">MEncoder</span> usará 0: bilineal rápido. </p><p> Uso: </p><pre class="screen"> mencoder <em class="replaceable"><code>entrada.mpg</code></em> -ovc lavc -lavcopts vcodec=mpeg4 -vf scale=640:480-o <em class="replaceable"><code>salida.avi</code></em> </pre><p> </p></div><div class="sect1" title="8.4. Copia de flujos"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="menc-feat-streamcopy"></a>8.4. Copia de flujos</h2></div></div></div><p> <span class="application">MEncoder</span> puede manejar flujos de entrada de dos maneras: <span class="bold"><strong>codificandolos</strong></span> o <span class="bold"><strong>copiandolos</strong></span>. Esta sección habla del modo <span class="bold"><strong>copiandolos</strong></span>. </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> <span class="bold"><strong>Flujo de video</strong></span> (opción <tt class="option">-ovc copy</tt>): con esto se pueden hacer cosas muy bonitas :) Como, poner (¡convertir no!) ¡video FLI o VIVO o MPEG1 en un archivo AVI! Por supuesto solo <span class="application">MPlayer</span> puede reproducir estos archivos :) Y probablemente no tenga ningún valor en la vida real. Razonadamente: la copia de flujo de video puede ser útil por ejemplo cuando solo ha de ser codificado el flujo de audio (como, PCM sin comprimir a MP3). </p></li><li class="listitem"><p> <span class="bold"><strong>Flujo de audio</strong></span> (opción <tt class="option">-oac copy</tt>): sinceramente. Es posible usar un archivo de audio externo (MP3, WAV) y multiplexarlo dentro del flujo de salida. Use para ello la opción <tt class="option">-audiofile <em class="replaceable"><code>filename</code></em></tt>. </p></li></ul></div></div><div class="sect1" title="8.5. Arreglando AVIs con índice roto o interpolado"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="menc-feat-fix-avi"></a>8.5. Arreglando AVIs con índice roto o interpolado</h2></div></div></div><p> Es lo más facil. Símplemente copia los flujos de audio y video, y <span class="application">MEncoder</span> genera el índice. Por supuesto esto no puede arreglar posibles errores en los flujos de audio y/o video. También arregla archivos con interpolado incorrecto, es decir la opción <tt class="option">-ni</tt> ya no será necesaria nunca más. </p><p> Órden: </p><pre class="screen"> mencoder -idx <em class="replaceable"><code>entrada.avi</code></em> -ovc copy -oac copy -o <em class="replaceable"><code>salida.avi</code></em></pre><p> </p><div class="sect2" title="8.5.1. Uniendo mútiples archivos AVI"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-appending"></a>8.5.1. Uniendo mútiples archivos AVI</h3></div></div></div><p> Como un efecto co-lateral, la función de corregir AVI's sin índice habilita a <span class="application">MEncoder</span> para unir 2 (o más) archivos AVI: </p><p> Órden: </p><pre class="screen">cat 1.avi 2.avi | mencoder -noidx -ovc copy -oac copy -o <em class="replaceable"><code>salida.avi</code></em> -</pre><p> </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p> Esto espera que <tt class="filename">1.avi</tt> y <tt class="filename">2.avi</tt> usen los mismos codecs, resolución, tasa de flujo etc, y al menos <tt class="filename">1.avi</tt> no esté roto. Puede que necesite corregir sus archivos AVI de entrada primero, como se describe <a class="link" href="#menc-feat-fix-avi" title="8.5. Arreglando AVIs con índice roto o interpolado">más arriba</a>. </p></div></div></div><div class="sect1" title="8.6. Codificando con la familia de codecs de libavcodec"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="menc-feat-enc-libavcodec"></a>8.6. Codificando con la familia de codecs de <code class="systemitem">libavcodec</code></h2></div></div></div><p> <code class="systemitem">libavcodec</code> provee un montón de interesantes formatos de video y audio (actualmente sus codecs de audio no están soportados). Puede codificar con los siguientes codecs (más o menos actualizado): </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Nombre del codec</th><th>Descripción</th></tr></thead><tbody><tr><td>mjpeg</td><td> Motion JPEG </td></tr><tr><td>ljpeg</td><td> Lossless JPEG </td></tr><tr><td>h263</td><td> H263 </td></tr><tr><td>h263p</td><td> H263 Plus </td></tr><tr><td>mpeg4</td><td> ISO estándar MPEG-4 (compatible con DivX 5, XVID) </td></tr><tr><td>msmpeg4</td><td> pre-standard MPEG-4 variant by MS, v3 (aka DivX3) </td></tr><tr><td>msmpeg4v2</td><td> pre-standard MPEG-4 by MS, v2 (usado en archivos asf antiguos) </td></tr><tr><td>wmv1</td><td> Windows Media Video, version 1 (aka WMV7) </td></tr><tr><td>wmv2</td><td> Windows Media Video, version 2 (aka WMV8) </td></tr><tr><td>rv10</td><td> un codec RealVideo antiguo </td></tr><tr><td>mpeg1video</td><td> MPEG1 video </td></tr><tr><td>mpeg2video</td><td> MPEG2 video </td></tr><tr><td>huffyuv</td><td> compresión sin pérdidas </td></tr><tr><td>asv1</td><td> ASUS Video v1 </td></tr><tr><td>asv2</td><td> ASUS Video v2 </td></tr><tr><td>ffv1</td><td> codec de video si pérdidas de FFmpeg </td></tr></tbody></table></div><p> La primera columna contiene los nombres de los codecs que deben pasarse después de la configuración <code class="literal">vcodec</code>, como: <tt class="option">-lavcopts vcodec=msmpeg4</tt> </p><div class="informalexample"><p> Un ejemplo, con compresión MJPEG: </p><pre class="screen">mencoder dvd://2 -o título2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy</pre><p> </p></div></div><div class="sect1" title="8.7. Codificando desde múltiples archivos de imágenes de entrada (JPEGs, PNGs o TGAs)"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="menc-feat-enc-images"></a>8.7. Codificando desde múltiples archivos de imágenes de entrada (JPEGs, PNGs o TGAs)</h2></div></div></div><p> <span class="application">MEncoder</span> es capaz de crear películas desde uno o más archivos JPEG, PNG o TGA. Con framecopy simple crea archivos MJPEG (Motion JPEG), MPNG (Motion PNG) o MTGA (Motion TGA). </p><div class="orderedlist" title="Explicación del proceso:"><p class="title"><b>Explicación del proceso:</b></p><ol class="orderedlist" type="1"><li class="listitem"><p> <span class="application">MEncoder</span> <span class="emphasis"><em>decodifica</em></span> las imágenes de entrada con <code class="systemitem">libjpeg</code> (cuando decodifica PNGs, usa <code class="systemitem">libpng</code>). </p></li><li class="listitem"><p> <span class="application">MEncoder</span> alimenta entonces con la imagen decodificada al compresor de video elegido (DivX4, Xvid, ffmpeg msmpeg4, etc.). </p></li></ol></div><p title="Ejemplos"><b>Ejemplos. </b> La explicación de la opción <tt class="option">-mf</tt> puede encontrarse más abajo en la página de manual. </p><div class="informalexample"><p> Creating a DivX4 file from all the JPEG files in the current dir: </p><pre class="screen"> mencoder -mf on:w=800:h=600:fps=25 -ovc divx4 -o output.avi \*.jpg</pre><p> </p></div><p title="Ejemplos"> </p><div class="informalexample"><p> Creando un archivo DivX4 desde algunos archivos JPEG en el directorio actual: </p><pre class="screen"> mencoder -mf on:w=800:h=600:fps=25 -ovc divx4 -o <em class="replaceable"><code>salida.avi</code></em> frame001.jpg,frame002.jpg </pre><p> </p></div><p title="Ejemplos"> </p><div class="informalexample"><p> Creando un archivo Motion JPEG (MJPEG) desde todos los archivos JPEG en el directorio actual: </p><pre class="screen"> mencoder -mf on:w=800:h=600:fps=25 -ovc copy -o <em class="replaceable"><code>salida.avi</code></em> \*.jpg</pre><p> </p></div><p title="Ejemplos"> </p><div class="informalexample"><p> Creando un archivo sin comprimir desde todos los archivos PNG en el directorio actual: </p><pre class="screen"> mencoder -mf on:w=800:h=600:fps=25:type=png -ovc raw -o <em class="replaceable"><code>salida.avi</code></em> \*.png</pre><p> </p></div><p title="Ejemplos"> </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p> El ancho debe ser múltiplo entero de 4, esto es una estimación del formato AVI RAW RGB. </p></div><p title="Ejemplos"> </p><div class="informalexample"><p> Creando un archivo Motion PNG (MPNG) desde todos los archivos PNG en el directorio actual: </p><pre class="screen"> mencoder -mf on:w=800:h=600:fps=25:type=png -ovc copy -o salida.avi \*.png</pre><p> </p></div><p title="Ejemplos"> </p><div class="informalexample"><p> Creando un archivo Motion TGA (MTGA) desde todos los archivos TGA en el directorio actual: </p><pre class="screen"> mencoder -mf on:w=800:h=600:fps=25:type=tga -ovc copy -o salida.avi \*.tga</pre><p> </p></div><p title="Ejemplos"> </p></div><div class="sect1" title="8.8. Extrayendo subtítulos DVD a archivo Vobsub"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="menc-feat-extractsub"></a>8.8. Extrayendo subtítulos DVD a archivo Vobsub</h2></div></div></div><p> <span class="application">MEncoder</span> es capaz de extraer subtítulos desde un DVD a archivos con formato Vobsub. Esto consiste en un par de archivos que terminan en <tt class="filename">.idx</tt> y <tt class="filename">.sub</tt> y normalmente son empaquetados en un archivo <tt class="filename">.rar</tt> simple. <span class="application">MPlayer</span> puede reproducir esto con las opciones <tt class="option">-vobsub</tt> y <tt class="option">-vobsubid</tt>. </p><p> Puede especificar el nombre base (p.e. sin la extensión <tt class="filename">.idx</tt> o <tt class="filename">.sub</tt>) de los archivos de salida con <tt class="option">-vobsubout</tt> y el índice para este subtítulo en los archivos resultantes con <tt class="option">-vobsuboutindex</tt>. </p><p> Si la entrada no es desde un DVD debe usar <tt class="option">-ifo</tt> para indicar el archivo <tt class="filename">.ifo</tt> necesario para reconstruir el archivo resultante <tt class="filename">.idx</tt>. </p><p> Si la entrada no es desde un DVD y no tiene el archivo <tt class="filename">.ifo</tt> necesario deberá usar la opción <tt class="option">-vobsubid</tt> para decir qué id de idioma poner en el archivo <tt class="filename">.idx</tt>. </p><p> Cada ejecución añade el subtítulo que se está usando si los archivos <tt class="filename">.idx</tt> y <tt class="filename">.sub</tt> ya existen. Debería borrarlos antes de comenzar. </p><div class="example"><a name="copiando_dos_subtitulos_dvd_mientras_codificacion"></a><p class="title"><b>Ejemplo 8.2. Copiando dos subtítulos desde un DVD mientras se hace la codificación en 3-pasadas</b></p><div class="example-contents"><pre class="screen"> rm subtitles.idx subtitles.sub mencoder dvd://1 -vobsubout subtitles -vobsuboutindex 0 -sid 2 -o frameno.avi -ovc frameno mencoder dvd://1 -oac copy -ovc divx4 -pass 1 mencoder dvd://1 -oac copy -ovc divx4 -pass 2 -vobsubout subtitles -vobsuboutindex 1 -sid 5</pre></div></div><br class="example-break"><div class="example"><a name="copying_a_french_subtitle_from_an_mpeg_file"></a><p class="title"><b>Ejemplo 8.3. Copiando un subtítulo francés desde un archivo MPEG</b></p><div class="example-contents"><pre class="screen"> rm subtitles.idx subtitles.sub mencoder <em class="replaceable"><code>pelicula.mpg</code></em> -ifo <em class="replaceable"><code>pelicula.ifo</code></em> -vobsubout subtitles -vobsuboutindex 0 -vobsuboutid fr -sid 1</pre></div></div><br class="example-break"></div><div class="sect1" title="8.9. Preservando relación de aspecto"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="aspect"></a>8.9. Preservando relación de aspecto</h2></div></div></div><p> Los archivos de DVDs y SVCDs (p.e. MPEG1/2) contienen un valor sobre la relación de aspecto, que describe cómo debe el reproductor escalar el flujo de video, los humanos tienen un huevo por cabeza (ej.:480x480 + 4:3 = 640x480). Sin embargo cuando se codifica a archivo AVI (DivX), debe estar advertido de que los encabezados AVI no almacenan este valor. Reescalar la película es repugnante y consume tiempo, ¡siempre debe haber un camino mejor! </p><p>Esto es</p><p> MPEG4 tiene una característica única: el flujo de video puede contener la razón de aspecto necesaria. Sí, igual que MPEG1/2 (DVD, SVCD) y los archivos H263. Por lástima, <span class="bold"><strong>no</strong></span> hay reproductores de video ahí fuera que soporten esta característica de MPEG4, excepto <span class="application">MPlayer</span>. </p><p> Esta característica puede ser usada solo con el codec <code class="systemitem">mpeg4</code> de <code class="systemitem">libavcodec</code>. Tenga en mente: aunque <span class="application">MPlayer</span> puede reproducir correctamente el archivo creado, otros reproductores pueden usar una razón de aspecto incorrecta. </p><p> Seriamente debe recortar las bandas negras que hay por encima y por debajo de la imagen. Vea la página de manual para usar los filtros <code class="systemitem">cropdetect</code> y <code class="systemitem">crop</code>. </p><p> Uso </p><pre class="screen">mencoder <em class="replaceable"><code>sample-svcd.mpg</code></em> -ovc lavc -lavcopts vcodec=mpeg4:autoaspect -vf crop=714:548:0:14 -oac copy -o <em class="replaceable"><code>salida.avi</code></em></pre><p> </p></div><div class="sect1" title="8.10. Matrices inter/intra personalizadas"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="custommatrices"></a>8.10. Matrices inter/intra personalizadas</h2></div></div></div><p> Con ésta característica de <code class="systemitem">libavcodec</code> puede personalizar las matrices inter (marcos-I/marcos clave) e intra (marcos-P/marcos de predicción). Está soportado por muchos codecs: <code class="systemitem">mpeg1video</code> y <code class="systemitem">mpeg2video</code> se ha informado que funcionan. </p><p> Un uso normal de esta característica es establecer las matrices preferidas por las especificaciones <a class="ulink" href="http://www.kvcd.net/" target="_top">KVCD</a>. </p><p> La <span class="bold"><strong>Matriz de Cuantización de KVCD "Notch"</strong></span> </p><p> Intra: </p><pre class="screen"> 8 9 12 22 26 27 29 34 9 10 14 26 27 29 34 37 12 14 18 27 29 34 37 38 22 26 27 31 36 37 38 40 26 27 29 36 39 38 40 48 27 29 34 37 38 40 48 58 29 34 37 38 40 48 58 69 34 37 38 40 48 58 69 79 </pre><p> Inter: </p><pre class="screen"> 16 18 20 22 24 26 28 30 18 20 22 24 26 28 30 32 20 22 24 26 28 30 32 34 22 24 26 30 32 32 34 36 24 26 28 32 34 34 36 38 26 28 30 32 34 36 38 40 28 30 32 34 36 38 42 42 30 32 34 36 38 40 42 44 </pre><p> </p><p> Uso: </p><pre class="screen"> $ mencoder <em class="replaceable"><code>input.avi</code></em> -o <em class="replaceable"><code>output.avi</code></em> -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=... </pre><p> </p><p> </p><pre class="screen"> $ mencoder <em class="replaceable"><code>input.avi</code></em> -ovc lavc -lavcopts vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37, 12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27, 29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79 :inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26, 28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34, 36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg </pre><p> </p></div><div class="sect1" title='8.11. Haciendo un MPEG4 ("DivX") de alta calidad al ripear una película en DVD'><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="menc-feat-dvd-mpeg4"></a>8.11. Haciendo un MPEG4 ("DivX") de alta calidad al ripear una película en DVD</h2></div></div></div><p> Ripear un título de DVD en un archivo MPEG4 (DivX) de alta calidad involucra algunas consideraciones. Más abajo encontrará un ejemplo del proceso cuando el objetivo no es conseguir un tamaño determinado para el archivo (sino quizá ajustar el resultado en 2GB). <code class="systemitem">libavcodec</code> será usado para el video, y el audio será copiado como esté sin cambios. </p><div class="sect2" title="8.11.1. Recortando"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-crop"></a>8.11.1. Recortando</h3></div></div></div><p> Reproduzca el DVD y ejecute el filtro de detección de recorte (<tt class="option">-vf cropdetect</tt>) en él. Esto le dará un rectángulo de recorte para usar en la codificación. La razón para el recorte es que muchas películas no están en las relaciones de aspecto estándar (16/9 o 4/3), o, por cualquier razón, la imagen no se ajusta bien dentro del marco de imagen. Además querrá recortar las bandas negras durante el ripeo. También mejora la calidad de la imagen porque el filo de las bandas negras consume un montón de bits. Un aspecto común es 2.35, el que se llama cinemascope. La mayoría de las películas de blockbuster tienen esta razón de aspecto. </p></div><div class="sect2" title="8.11.2. Nivel de calidad"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-quality"></a>8.11.2. Nivel de calidad</h3></div></div></div><p> A continuación debe elegir el nivel de calidad deseado. Cuando no necesite ajustar el tamaño resultante en un CD o en lo que sea, usar una cuantización constante, AKA calidad constante es una buena elección. De este modo cada marco de imagen toma tantos bits como necesite para mantener el nivel de calidad deseado, pero sin necesitar múltiples pasadas en la codificación. Con <code class="systemitem">libavcodec</code>, obtendrá una calidad constante usando <tt class="option">-lavcopts vqscale=<em class="replaceable"><code>N</code></em></tt>. <tt class="option">vqscale=3</tt> debe darle un archivo por debajo de los 2GB de tamaño, dependiendo principalmente de la duración de la película y del ruido en el video (a más ruido, más difícil de comprimir será). </p></div><div class="sect2" title="8.11.3. Archivos más grandes de 2GB"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-2gb"></a>8.11.3. Archivos más grandes de 2GB</h3></div></div></div><p> Si el archivo resultante codificado con calidad constante es más grande de 2GB, deberá crear un índice para poder luego verlos correctamente. Puede </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> reproducir el archivo con <tt class="option">-forceidx</tt> para crear un índice sobre la marcha o bien </p></li><li class="listitem"><p> usar <tt class="option">-saveidx</tt> para escribir un índice a un archivo una sola vez y luego <tt class="option">-loadidx</tt> para usarlo cuando reproduzca el archivo. </p></li></ul></div><p> Si esto le incomoda, quizá quiera mantener el tamaño por debajo de los 2GB. </p><p> Hay tres maneras de evitar esto. Puede intentar codificar de nuevo usando <tt class="option">vqscale=4</tt> y ver si tiene el tamaño de archivo y la calidad de imagen aceptables. También peude usar <a class="link" href="#menc-feat-divx4" title='8.1. Codificación MPEG-4 en 2 o 3-pasadas ("DivX")'>codificación en 2 pasadas</a>. Como va a copiar la pista de audio como está y conoce por eso su tasa de bits, y además sabe la duración de la película, puede calcular la tasa de bits de video requerida para dar a la opción <tt class="option">-lavcopts vbitrate=<em class="replaceable"><code>bitrate</code></em></tt> sin usar <a class="link" href="#menc-feat-divx4" title='8.1. Codificación MPEG-4 en 2 o 3-pasadas ("DivX")'>codificación en 3 pasadas</a>. </p><p> La tercera y posiblemente la mejor opción puede ser rebajar ligeramente la resolución. El rebajado suaviza ligeramente y la pérdida de detalle es visualmente menos dañina que el ver bloques y otros artifactos causados por la compresión MPEG. Escalar a un tamaño menor también reduce de manera efectiva el ruido en la imagen, lo que es aún mejor, ya que el ruido es más dificil de comprimir. </p></div><div class="sect2" title="8.11.4. Desentrelazado"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-deinterlacing"></a>8.11.4. Desentrelazado</h3></div></div></div><p> Si la película está entrelazada, puede que quiera desentrelazarla como parte del ripeo. Es debatible si debe desentrelazarse en esta etaba. El beneficio es que al desentrelazar mientras convierte a MPEG4 ocasiona una mejor compresión, y luego es más fácil de ver con menos CPU en monitores de ordenador ya que no es necesario el desentrelazado en ese momento. </p><p> Desentrelazar durante la etapa de ripeo es una buena idea dependiendo del DVD. Si el DVD está hecho desde una película, y tiene 24 fps, puede desentrelazar durante el ripeo. Si, sin embargo, el original es un video a 50/60 fps, convertirlo en un video desentrelazado a 23.976/25 fps puede perder información. Si decide desentrelazar, puede experimentar con distintos filtros de desentrelazado después. Vea <a class="ulink" href="http://www.wieser-web.de/MPlayer/" target="_top">http://www.wieser-web.de/MPlayer/</a> para ejemplos. Un buen punto de partida es <tt class="option">-vf pp=fd</tt>. </p><p> Si está haciendo las dos cosas, recortando y desentrelazando, desentrelace <span class="emphasis"><em>antes</em></span> de recortar. Actualmente, no es necesario si el desplazamiento de recorte es vertical y múltiplo de 2 pixels. Sin embargo con algunos otros filtros, como dering, deberá siempre hacer el recorte lo último, es un buen hábito poner el filtro de recortado el último. </p></div><div class="sect2" title="8.11.5. Inversión de telecine"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-telecine"></a>8.11.5. Inversión de telecine</h3></div></div></div><p> Si está ripeando un DVD PAL, con 25 fps, no necesita pensar en los fps. Use directamente 25 fps. Los DVDs NTSC por otro lado están a 29.97 fps (a menudo rondan los 30 fps, pero no tiene por qué). Si la película fue grabada desde TV, no necesita de nuevo tocar los fps. Pero si la película fue grabada desde una película, y por lo tanto a (exactamente) 24 fps, debe ser convertida a 29.97 fps cuando haga el DVD. Esta conversión donde se añaden 12 campos a cada 24 marcos de imagen de la película se llama telecine. Para más información acerca de telecine, vea una <a class="ulink" href="http://www.google.com/search?q=telecine+field+23.976" target="_top"> búsqueda en Google de "telecine field 23.976"</a>. </p><p> En caso de que tenga un DVD telecine, puede que quiera hacer inversión del telecine, lo que significa convertir la película a 23.976 fps (29.97*4/5). De otro modo las panorámicas de cámara irán a trompicones y muy mal. Puede usar <tt class="option">-ofps 23.976</tt> para ello. Cualquier cosas que esté en películas y necesite telecine inverso, no se mostrará en TV. </p></div><div class="sect2" title="8.11.6. Escalado y razón de aspecto"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-scaling"></a>8.11.6. Escalado y razón de aspecto</h3></div></div></div><p> Para mejor calidad, no escale la película durante el ripeo. El escalado a tamaño menor obviamente pierde detalle, y el escalado a mayor tamaño causa artefactos y hace el archivo mayor en tamaño. Los pixels en las películas DVD no son cuadrados, por eso las películas en DVD incluyen información acerca de la razón de aspecto correcta. Es posible almacenar la razón de aspecto en la cabecera del archivo de salida MPEG4. La mayoría de los reproductores de video ignoran esta información pero <span class="application">MPlayer</span> la usará. Si solo va a usar <span class="application">MPlayer</span> para ver el archivo ripeado, no necesitará escalar la película, solo pase <tt class="option">-lavcopts autoaspect</tt> a <span class="application">MEncoder</span> y las cosas funcionarán bien automágicamente. Si debe escalar la película, tenga cuidado con el tamaño dado especialmente si está recortándola. </p></div><div class="sect2" title="8.11.7. Sumando todo esto"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-dvd-mpeg4-summary"></a>8.11.7. Sumando todo esto</h3></div></div></div><p> Con todo lo mencionado más arriba en mente, se puede usar una órden de codificación como la siguiente </p><pre class="screen"> mencoder dvd://1 -aid 128 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vqscale=3:vhq:v4mv:trell:autoaspect \ -ofps 23.976 -vf crop=720:364:0:56 -o Harry_Potter_2.avi </pre><p> Aquí <tt class="option">dvd://1</tt> indica el título de DVD a ripear. La opción <tt class="option">-aid 128</tt> indica el uso de la pista 128, y <tt class="option">-oac copy</tt> para copiarla como está. Puede usar <span class="application">MPlayer</span> para encontrar los valores correctos para las opciones. </p><p> Las opciones <tt class="option">vhq:v4mv:trell</tt> para <tt class="option">-lavcopts</tt> mejoran la calidad frente a la tasa de bits, pero hacen que la codificacion dure más. Especialmente <tt class="option">trell</tt> ralentiza la codificación pero incrementa la calidad visiblemente. Si quiere desentrelazar, añada un filtro <tt class="option">pp</tt> a <tt class="option">-vf</tt>, por ejemplo <tt class="option">-vf pp=fd,crop=720:364:0:56</tt> (en ese orden). Si no necesita invertir el telecine, quite <tt class="option">-ofps 23.976</tt>. </p></div></div><div class="sect1" title="8.12. Cómo tratar con telecine y entrelazado con DVDs NTSC"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="menc-feat-telecine"></a>8.12. Cómo tratar con telecine y entrelazado con DVDs NTSC</h2></div></div></div><p title="Introducción"><b>Introducción. </b> Le sugiero que visite esta página si no entiende mucho lo que está escrito en este documento: <a class="ulink" href="http://www.divx.com/support/guides/guide.php?gid=10" target="_top">http://www.divx.com/support/guides/guide.php?gid=10</a> Esta URL enlaza a una descripción de lo que es telecine inteligible y razonablemente comprensible. </p><p> Por razones técnicas pertinentes a las limitaciones de reciente hardware de televisión, todos los videos que están pensados para ser reproducidos en una televisión NTSC deben tener 59.94 campos por segundo. Las películas hechas-para-TV y los espectáculos son grabados directamente a 24 o 23.976 marcos por segundo. Cuando una película para cine DVD es masterizada, el video es entonces convertido para la televisión usando un proceso llamado telecine. </p><p> En un DVD, el video nunca se almacena como 59.94 campos por segundo. Para video que es originalmente a 59.94, cada par de campos es combinado para formar un marco de imagen, resultando en 29.97 marcos por segundo. Los reproductores de DVD por hardware entonces leen un indicador embebido en el flujo de video para determinar si son las líneas pares o las impares las que deben formar el primer campo. </p><p> Normalmente, 23.976 marcos de imagen por segundo se mantienen así cuando son codificados en un DVD, y el reproductor de DVD debe realizar el telecine sobre la marcha. Algunas veces, sin embargo, el video es pasado por el proceso de telecine <span class="emphasis"><em>antes</em></span> de ser almacenado en el DVD; incluso aunque tenga originalmente 23.976 marcos de imagen por segundo, se hace que tenga 59.94 campos por segundo, y es almacenado en disco como 29.97 marcos de imagen por segundo. </p><p> Cuando se observan como marcos individuales formados por 59.94 campos por segundo de video, telecine o viceversa, el entrelazado es claramente visible en cuanto hay movimiento, porque un campo (digamos, las líneas numeradas pares) representa un momento en el tiempo 1/59.94 de un segundo después de otro. Al reproducir video entrelazado en un ordenador se ve mal porque el monitor tiene una resolución mayor y porque el video es mostrado marco-tras-marco en lugar de campo-tras-campo. </p><p> Notas: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Esta sección solo se aplica a DVDs NTSC, y no a PAL. </p></li><li class="listitem"><p> El ejemplo <span class="application">MEncoder</span> que hay a lo largo del documento <span class="bold"><strong>no</strong></span> está comprendido para uso normal. Símplemente tiene lo mínimo requerido para codificar la categoría de video pertinente. Cómo hacer ripeados de DVD buenos o ajuste fino de <code class="systemitem">libavcodec</code> para máxima calidad no es el objetivo de este documento. </p></li><li class="listitem"><p> Hay un montón de notas a pie de página específicas en esta guia, enlazadas como esto: <a class="link" href="#menc-feat-telecine-footnotes" title="8.12.3. Notas a pie de página">[1]</a> </p></li></ul></div><div class="sect2" title="8.12.1. Cómo decir el tipo de video que tiene"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-telecine-ident"></a>8.12.1. Cómo decir el tipo de video que tiene</h3></div></div></div><div class="sect3" title="8.12.1.1. Progresivo"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-telecine-ident-progressive"></a>8.12.1.1. Progresivo</h4></div></div></div><p> Video progresivo fue grabado originalmente a 23.976 fps, y almacenado en el DVD sin alteración. </p><p> Cuando reproduce un DVD progresivo en <span class="application">MPlayer</span>, <span class="application">MPlayer</span> mostrará la siguiente línea tan pronto como comience la película: </p><pre class="screen"> demux_mpg: 24fps progressive NTSC content detected, switching framerate.</pre><p> Desde este punto de vista, demux_mpg nunca debe decir que encuentra "contenido a 30fps NTSC." </p><p> Cuando vea video progresivo, nunca debe ver ningún entrelazado. Tenga cuidado, sin embargo, porque algunas veces hay un poco de telecine mezclado, donde no se lo espera. He encontrado DVDs de espectáculos de TV que tienen un segundo de telecine en cada cambio de escena, o en lugares aleatorios incluso. Una vez vi un DVD que tenía el primer campo progresivo, y el segundo campo era telecine. Si quiere <span class="emphasis"><em>realmente</em></span> saberlo, puede escanear la película entera: </p><pre class="screen">mplayer dvd://1 -nosound -vo null -benchmark</pre><p> Usando <tt class="option">-benchmark</tt> hace que <span class="application">MPlayer</span> reproduzca la película tan rápido como pueda; tenga en cuenta, dependiendo de su hardware, puede tardar bastante. Cada vez que demux_mpg informa de un cambio de tasa de bits, la línea inmediatamente por encima le dirá el tiempo en el que el cambio ha ocurrido. </p><p> Algunas veces el video progresivo es referido como "soft-telecine" porque está pensado para ser procesado en telecine por el reproductor de DVD. </p></div><div class="sect3" title="8.12.1.2. Telecine"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-telecine-ident-telecined"></a>8.12.1.2. Telecine</h4></div></div></div><p> Video con telecine fue grabado originalmente a 23.976 fps, pero fue pasado por proceso de telecine <span class="emphasis"><em>antes</em></span> de ser escrito en el DVD. </p><p> <span class="application">MPlayer</span> no (nunca) informa de cambios en la tasa de bits cuando reproduce video con telecine. </p><p> Al ver video con telecine, verá artefactos de entrelazado, que parecen "parpadear": repetidamente aparecen y desaparecen. Puede verlo de cerca con </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><pre class="screen">mplayer dvd://1 -speed 0.1</pre></li><li class="listitem"><p> Busque una parte con movimiento. </p></li><li class="listitem"><p> Localice un patrón de búsqueda-entrelazada y búsqueda-progresiva en marcos de imagen. Si el patrón que ve es PPPII,PPPII,PPPII,... entonces el video es con telecine. Si ve algún otro patrón, entonces el video puede que esté con telecine usando algún método no estándar y <span class="application">MEncoder</span> no puede convertirlo sin pérdidas en progresivo. Si no ve ningún patrón, entonces lo más seguro es que sea entrelazado. </p></li></ol></div><p> </p><p> Algunas veces el video telecine es referido como "hard-telecine". </p></div><div class="sect3" title="8.12.1.3. Entrelazado"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-telecine-ident-interlaced"></a>8.12.1.3. Entrelazado</h4></div></div></div><p> El video entrelazado fue originalmente grabado a 59.94 campos por segundo, y almacenado en el DVD como 29.97 marcos por segundo. El entreñazado es el resultado de combinar pares de campos en marcos, porque en cada marco de imagen, cada campo ocupa 1/59.94 segundos. </p><p> Como en el video en telecine, <span class="application">MPlayer</span> nunca debe informar de ningún cambio en la tasa de bits mientras reproduce contenido entrelazado. </p><p> Cuando ve video entrelazado de cerca con <tt class="option">-speed 0.1</tt>, puede ver que cada marco simple es entrelazado. </p></div><div class="sect3" title="8.12.1.4. Mezcla progresiva y telecine"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-telecine-ident-mixedpt"></a>8.12.1.4. Mezcla progresiva y telecine</h4></div></div></div><p> Todo video "mezcla progresivo y telecine" originalmente es a 23.976 marcos por segundo, pero algunas partes de él terminan siendo en telecine. </p><p> Cuando <span class="application">MPlayer</span> reproduce esta categoria, (a menudo de forma repetida) cambia entre "30fps NTSC" y "24fps progresivo NTSC". Consulte la parte de abajo de la salida de <span class="application">MPlayer</span> para ver estos mensajes. </p><p> Deberá consultar las secciones de "30fps NTSC" para asegurarse de que es telecine, y no simplemente entrelazado. </p></div><div class="sect3" title="8.12.1.5. Mezcla de progresivo y entrelazado"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-telecine-ident-mixedpi"></a>8.12.1.5. Mezcla de progresivo y entrelazado</h4></div></div></div><p> En el contenido "mezcla de progresivo y entrelazado", el video progresivo y entrelazado se colocan juntos. </p><p> Esta categoría es similar a "mezcla progresivo y telecine", hasta que examine las secciones de 30fps y vea que no tiene el patrón de telecine. </p></div></div><div class="sect2" title="8.12.2. Cómo codificar cada categoría"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-telecine-encode"></a>8.12.2. Cómo codificar cada categoría</h3></div></div></div><p> Como dije antes al principio, las líneas de ejemplo de <span class="application">MEncoder</span> de más abajo <span class="bold"><strong>no</strong></span> son para ser usadas; solo son para demostrar los parámetros mínimos para codificar en cada categoría. </p><div class="sect3" title="8.12.2.1. Progresivo"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-telecine-encode-progressive"></a>8.12.2.1. Progresivo</h4></div></div></div><p> El video progresivo no requiere un filtrado especial para codificarlo. El único parámetro que seguramente necesita usar es <tt class="option">-ofps 23.976</tt>. Si no lo hace, <span class="application">MEncoder</span> intentará codificar a 29.97 fps y marcos duplicados. </p><p> </p><pre class="screen">mencoder dvd://1 -nosound -ovc lavc -ofps 23.976</pre><p> </p></div><div class="sect3" title="8.12.2.2. Telecine"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-telecine-encode-telecined"></a>8.12.2.2. Telecine</h4></div></div></div><p> Telecine puede ser invertido para obtener el contenido 23.976 original, usando un proceso llamado telecine-inverso. <span class="application">MPlayer</span> contiene dos filtros para conseguir esto: <tt class="option">detc</tt> y <tt class="option">ivtc</tt>. Puede leer la página de manual para ver las diferencias, pero para DVDs nunca he tenido problemas con <tt class="option">ivtc</tt>. Note que <span class="bold"><strong>siempre</strong></span> deberá hacer telecine-inverso antes de cualquier reescalado; a menos que realmente sepa lo que está haciendo, telecine-inverso antes de recortar también <a class="link" href="#menc-feat-telecine-footnotes" title="8.12.3. Notas a pie de página">[1]</a>. De nuevo, necesitará <tt class="option">-ofps 23.976</tt> también. </p><p> </p><pre class="screen">mencoder dvd://1 -nosound -vf ivtc=1 -ovc lavc -ofps 23.976</pre><p> </p></div><div class="sect3" title="8.12.2.3. Entrelazado"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-telecine-encode-interlaced"></a>8.12.2.3. Entrelazado</h4></div></div></div><p> Para la mayor parte de los casos prácticos no es posible obtener un video progresivo completo de un contenido entrelazado. La única manera de hacerlo sin perder la mitad de la resolución vertical es doblar la tasa de imágenes por segundo e intentar "adivinar" como se obtienen las correspondientes líneas para cada campo (esto ocasiona problemas - vea el método 3). </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p> Codifique el video en formato entrelazado. Normalmente, el entrelazado permite al codificador comprimir bien, pero <code class="systemitem">libavcodec</code> tiene dos parámetros específicos para jugar con video entrelazado un poco mejor: <tt class="option"> ildct</tt> y <tt class="option">ilme</tt>. Además, es altamente recomendable usar <tt class="option">mbd=2</tt> <a class="link" href="#menc-feat-telecine-footnotes" title="8.12.3. Notas a pie de página">[2] </a> porque codifica los macrobloques como no entrelazados en lugares donde no hay movimiento. Note que <tt class="option">-ofps</tt> NO es necesario aquí. </p><pre class="screen">mencoder dvd://1 -nosound -ovc lavc -lavcopts ildct:ilme:mbd=2</pre><p> </p></li><li class="listitem"><p> Use un filtro de desentrelazado antes de codificar. Hay varios filtros disponibles para elegir, cada uno con sus ventajas y sus desventajas. Consulte <tt class="option">mplayer -pphelp</tt> para ver qué hay disponible (grep "deint"), y busque en las <a class="ulink" href="http://www.mplayerhq.hu/design7/info.html#mailing_lists" target="_top"> listas de correo <span class="application">MPlayer</span></a> para encontrar discusiones acerca de varios filtros. De nuevo, la tasa de bits por segundo no cambia, nada de <tt class="option">-ofps</tt>. Además, el desentrelazado debe hacerse después del recortado <a class="link" href="#menc-feat-telecine-footnotes" title="8.12.3. Notas a pie de página"> [1]</a> y antes del escalado. </p><pre class="screen">mencoder dvd://1 -nosound -vf pp=lb -ovc lavc</pre><p> </p></li><li class="listitem"><p> Desafortunadamente, esta opción tiene fallos con <span class="application">MEncoder</span>; funcionará bien con <span class="application">MEncoder G2</span>, pero todavía no está disponible. Puede experimentar cuelgues del sistema. De todos modos, el propósito de <tt class="option">-vf tfields</tt> es crear una tasa de bits completa por campo, que haga que la tasa completa sea de 59.94. La ventaja de esta aproximación es que no hay pérdida de datos; sin embargo, como cada marco viene solo con un campo, las líneas que faltan tienen que se interpoladas de alguna manera. No hay buenos métodos para generar estos datos que faltan, y el resultado será un poco similar al que se obtiene cuando se usan algunos filtros de desentrelazado. La generación de las líneas que faltan crean otros problemas, símplemente porque se dobla la cantidad de datos. Por eso, tasas de bits más altas para la codificación son requeridas para mantener la calidad, y se usa más potencia de CPU para la codificación y la decodificación. tfields tiene varias opciones distintas para crear las líneas que faltan en cada marco. Si usa este método, refiérase al manual, y elija la opción que mejor se ajuste para su material. Note que cuando use <tt class="option">tfields</tt> <span class="bold"><strong>tiene que</strong></span> especificar <tt class="option">-fps</tt> y <tt class="option">-ofps</tt> para doblar la tasa de bits de su fuente original. </p><pre class="screen">mencoder dvd://1 -nosound -vf tfields=2 -ovc lavc -fps 59.94 -ofps 59.94</pre><p> </p></li><li class="listitem"><p> Si planea subescalar dramáticamente, puede codificar solo uno de los dos campos. Por supuesto, perderá la mitad de la resolución vertical, pero si planea subescalar a al menos 1/2 del original, la pérdida no importa mucho. El resultado será un archivo progresivo de 29.97 marcos por segundo. El procedimiento es usar <tt class="option">-vf field</tt>, entonces recortar <a class="link" href="#menc-feat-telecine-footnotes" title="8.12.3. Notas a pie de página">[1]</a> y escalar apropiadamente. Recuerde que tiene que ajustar la escala para compensar la resolución vertical que está siendo perdida. </p><pre class="screen">mencoder dvd://1 -nosound -vf field=0 -ovc lavc</pre><p> </p></li></ol></div></div><div class="sect3" title="8.12.2.4. Mezcla de progresivo y telecine"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-telecine-encode-mixedpt"></a>8.12.2.4. Mezcla de progresivo y telecine</h4></div></div></div><p> Para mezclar video progresivo y telecine en un video completamente progresivo, las partes en telecine tienen que pasar por el proceso de telecine-inverso. Hay dos filtros que realizan esto nativamente, pero una solución mejor casi siempre es usar dos filtros conjuntamente (lea más adelante para más detalles). </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Actualmente el método más fiable para tratar este tipo de video es, en lugar de hacer telecine-inverso con las partes en telecine, pasar a telecine las partes que no lo son y luego hacer telecine-inverso del video completo. ¿Suena confuso? softpulldown es un filtro que hadce que el video se haga completamente en telecine. Si se sigue softpulldown con alguno de entre <tt class="option">detc</tt> o <tt class="option">ivtc</tt>, el resultado final será completamente progresivo. El recortado y el escalado debe hacerse después de las operaciones de telecine-inverso, y <tt class="option">-ofps 23.976</tt> es necesario. </p><pre class="screen">mencoder dvd://1 -nosound -vf softpulldown,ivtc=1 -ovc lavc -ofps 23.976</pre><p> </p></li><li class="listitem"><p> <tt class="option">-vf pullup</tt> está diseñado para hacer telecine-inverso con material en telecine mientras que deja el video progresivo como datos aislados. Pullup no funciona muy bien con el <span class="application">MEncoder</span> actual, realmente está hecho para ser usado con <span class="application">MEncoder G2</span> (cuando esté listo). Funciona bien sin <tt class="option">-ofps</tt>, pero <tt class="option">-ofps</tt> se necesita para prevenir salida con saltos. Con <tt class="option">-ofps</tt>, algunas veces falla. Los problemas vienen de mantener la sincronización entre el audio y el video: elimina marcos antes de enviarlos a la cadena de filtros, en lugar de después. Como resultado, <tt class="option">pullup</tt> algunas veces pierde los datos que necesita. </p><p> Si <span class="application">MEncoder</span> descarta demasiados marcos de imagen en una fila, se carga los buffers <tt class="option">pullup</tt> y causa el fallo del programa. </p><p> Incluso si <span class="application">MEncoder</span> solo descarta un marco, <tt class="option">pullup</tt> sigue sin verse bien, y puede resultar en una secuencia incorrecta de marcos de imagen. Incluso si no causa un fallo del sistema, <tt class="option">pullup</tt> es capaz de hacer decisión de correcciones sobre como reensamblar los marcos progresivos, y hacer coincidir campos juntos de manera incorrecta o descargar algunos campos para compensar. </p></li><li class="listitem"><p> Recientemente he usado <tt class="option">-vf filmdint</tt> yo mismo, pero esto es lo que dice D Richard Felker III: </p><div class="blockquote"><blockquote class="blockquote"><p>Está bien, pero IMO (en mi opinión) intenta densentrelazar en lugar de hacer inversión del telecine demasiado a menudo (muy similar a los reproductores de sobremesa de DVD y TVs progresivas) que causan parpadeos que afean y otros artefactos. Si está haciendo uso de esto, necesita por lo menos perder algún tiempo haciendo un ajuste fino de las opciones y viendo la salida para asegurarse de que no está haciendolo mal. </p></blockquote></div><p> </p></li></ul></div></div><div class="sect3" title="8.12.2.5. Mezcla de progresivo y entrelazado"><div class="titlepage"><div><div><h4 class="title"><a name="menc-feat-telecine-encode-mixedpi"></a>8.12.2.5. Mezcla de progresivo y entrelazado</h4></div></div></div><p> Hay dos opciones para tratar esta categoría, cada una con sus compromisos. Debe decidir si se quiere basar en la duración o localización de cada tipo. </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Trátelo como progresivo. Las partes entrelazadas parecen entrelazadas, y algunos campos entrelazados son descartados, resultando en un poco dispares y con saltos. Puede usar un filtro de postprocesado si quiere, pero degradará ligeramente las partes progresivas. </p><p> Definitivamente esta opción no debe ser usada si quiere eventualmente mostrar el video en un dispositivo entrelazado (con una tarjeta de TV, por ejemplo). Si tiene marcos entrelazados en un video de 23.976 marcos por segundo, deben ponerse en telecine junto con los marcos progresivos. La mitad de los "marcos" entrelazados serán mostrados en duración de tres campos (3/59.94 segundos), resultando en un efecto de parpadeo "con salto atrás en el tiempo" lo que hace que se vea bastante mal. Si quiere intentarlo, <span class="bold"><strong>debe</strong></span> usar un filtro de desentrelazado como <tt class="option">lb</tt> o <tt class="option">l5</tt>. </p><p> También puede ser una mala idea para una pantalla progresiva. Descartará pares de campos consecutivos entrelazados, resultando en una discontinuidad que puede ser más visible que con el segundo método, el cual muestra algunos marcos progresivos dos veces. El video entrelazado a 29.97 marcos por segundo ya se ve realmente con saltitos porque debe ser mostrado a 59.94 campos por segundo, lo que hace que los marcos duplicados no estén durante mucho tiempo en pantalla. </p><p> En cualquier caso, es mejor considerar su contenido y cómo quiere mostrarlo. Si su video es 90% progresivo y no tiene intención de mostrarlo en una TV, debería usar una aproximación progresiva. Si es solo la mitad progresivo, probablemente querrá codificarlo como está si todo está entrelazado. </p></li><li class="listitem"><p> Trátelo como entrelazado. Algunas características de las partes progresivas serán tratadas por duplicado, resultando en una imagen a saltos. De nuevo, los filtros de desentrelazado pueden degradar ligeramente las partes progresivas. </p></li></ul></div></div></div><div class="sect2" title="8.12.3. Notas a pie de página"><div class="titlepage"><div><div><h3 class="title"><a name="menc-feat-telecine-footnotes"></a>8.12.3. Notas a pie de página</h3></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p title="Acerca del recortado:"><b>Acerca del recortado: </b> Los datos de video de los DVDs son almacenados en un formato llamado YUV 4:2:0. En video YUV, la luminancia ("brillo") y la crominancia ("color") se almacenan por separado. Debido a que el ojo humano es menos sensible al color que al brillo, en una imagen YUV 4:2:0 hay solo un pixel de crominancia por cada cuatro de luminancia (dos por lado) teniendo el pixel de crominancia común. Debe recortar YUV progresivo 4:2:0 a resoluciones pares, e incluso usar desplazamientos pares. Por ejemplo, <tt class="option">crop=716:380:2:26</tt> es CORRECTO pero <tt class="option">crop=716:380:3:26</tt> no lo es. </p><p> Cuando esté tratando con YUV 4:2:0 entrelazado, la situación es un poco más complicada. En lugar de cada cuatro pixels de luminancia en el <span class="emphasis"><em>marco</em></span> compartiendo uno de crominancia, cada cuatro de luminancia en cada <span class="emphasis"><em>campo</em></span> comparten un pixel de crominancia. Cuando los campos son entrelazados para formar un marco, cada scanline es un pixel de alta. Ahora, en lugar de cada cuatro pixels de luminancia en un cuadrado, hay dos pixels lado-a-lado, y los otros dos pixels están lado-a-lado dos scanlines más abajo. Los dos pixels de luminancia en la scanline intermedia son del otro campo, y por eso comparten un pixel distinto de crominancia con dos pixels de luminancia dos scanlines más allá. Toda esta confusión hace necesario tener dimensiones y desplazamientos de recorte vertical en múltiplos de cuatro. El horizontal puede quedarse igual. </p><p> Para video en telecine, recomiendo que se recorte después de hacer la inversión del telecine. Una vez que el video es progresivo solo necesita recortar con números pares. Si realmente quiere ganar algo de velocidad más que lo que el primer recortado puede ofrecer, debe recortar verticalmente en múltiplos de cuatro o bien usar el filtro de telecine-inverso con los datos apropiados. </p><p> Para video entrelazado (no telecine), siempre debe recortar verticalmente por múltiplos de cuatro a menos que use <tt class="option">-vf field</tt> antes de recortar. </p></li><li class="listitem"><p title="Acerca de los parámetros de codificado y la calidad:"><b>Acerca de los parámetros de codificado y la calidad: </b> Solo porque yo recomiendo <tt class="option">mbd=2</tt> aquí no significa que deba ser usado siempre. Junto con <tt class="option">trell</tt>, <tt class="option">mbd=2</tt> es una de las dos opciones de <code class="systemitem">libavcodec</code> que pueden incrementar la calidad, y siempre debe usar al menos estos dos a menos que la pérdida de velocidad sea prohibitiva (e.g. codificación en tiempo real). Hay muchas otras opciones para <code class="systemitem">libavcodec</code> que incrementan la calidad de la codificación (e incrementa la velocidad de la codificación) pero eso queda más allá del objeto de este documento. </p></li></ol></div></div></div></div><div class="chapter" title="Capítulo 9. Preguntas de Usuario Frecuentes"><div class="titlepage"><div><div><h2 class="title"><a name="faq"></a>Capítulo 9. Preguntas de Usuario Frecuentes</h2></div></div></div><div class="qandaset" title="Frequently Asked Questions"><a name="id2799725"></a><dl><dt>9.1. <a href="#faq-development">Desarrollo</a></dt><dd><dl><dt>P: <a href="#id2799739"> ¿Cómo puedo crear un parche para MPlayer? </a></dt><dt>P: <a href="#id2800374"> ¿Cómo puedo traducir MPlayer a un nuevo idioma? </a></dt><dt>P: <a href="#id2800408"> ¿Cómo puedo ayudar al desarrollo de MPlayer? </a></dt><dt>P: <a href="#id2800443"> ¿Cómo puedo convertirme en un desarrollador de MPlayer? </a></dt><dt>P: <a href="#id2800489"> ¿Por qué no usan autoconf/automake? </a></dt></dl></dd><dt>9.2. <a href="#faq-compilation">Compilación</a></dt><dd><dl><dt>P: <a href="#id2800525"> ¿Hay paquetes binarios (RPM/deb) de MPlayer? </a></dt><dt>P: <a href="#id2800559"> La compilación se detiene con un mensaje de error similar a este: cfft.c: In function`passf2': cfft.c:556: unable to find a register to spill in class `FLOAT_REGS' cfft.c:556: this is the insn: (insn 235 233 246 (set (subreg:SF (reg/v:DI 29 rmm0 [110]) 0) (minus:SF (mem:SF (plus:SI (mult:SI (reg:SI 1 edx [112]) (const_int 8 [0x8])) (reg/v/f:SI 3 ebx [62])) [4 S4 A32]) (reg:SF 8 st(0) [132]))) 533 {*fop_sf_1_nosse} (insn_list 232 (nil)) (expr_list:REG_DEAD (reg:SF 8 st(0) [132]) (nil))) cfft.c:556: confused by earlier errors, bailing out </a></dt><dt>P: <a href="#id2800606"> La compilación se detiene con un mensaje de error similar a este: En el archivo incluído en mplayer.c:34: mw.h: En función `mplMainDraw': mw.h:209: Error interno del compilador en print_rtl_and_abort, at flow.c:6458 Por favor envíe un informe de error completo, con código preprocesado si es necesario. </a></dt><dt>P: <a href="#id2800642"> Configure termina con este texto, y ¡MPlayer no compila! Su gcc no soporta ni un i386 para '-march' and '-mcpu' </a></dt><dt>P: <a href="#id2800677"> La salida de SDL no funciona o no compila. El problema es ... </a></dt><dt>P: <a href="#id2800699"> Sigo teniendo problemas compilando con soporte para SDL, gcc dice algo acerca de referencia no definida a `SDL_EnableKeyRepeat'. ¿Ahora qué? </a></dt><dt>P: <a href="#id2800756"> Tengo una Matrox G200/G400/G450/G550, ¿cómo puedo compilar/usar el controlador mga_vid? </a></dt><dt>P: <a href="#id2800778"> Hmm, extraño. Cuando cargo el módulo del kernel mga_vid.o, encuentro esto en los historiales: Advertencia: cargando mga_vid.o puede corromper el kernel: no hay licencia </a></dt><dt>P: <a href="#id2800819"> Durante 'make', MPlayer se queja de algunas bibliotecas de X11. No lo entiendo, ¡yo TENGO X instalado!? </a></dt><dt>P: <a href="#id2800890"> No puedo compilar SVGAlib. Estoy usando kernel 2.3/2.4 ... </a></dt><dt>P: <a href="#id2800916"> He compilado MPlayer con soporte libdvdcss/libdivxdecore, pero cuanto intento iniciarlo, me dice: error cargando bibliotecas compartidas: lib*.so.0: no se puede cargar el archivo objeto compartido: No se encuentra el archivo o directorio He comprobado el archivo y ESTÁ en /usr/local/lib ... </a></dt><dt>P: <a href="#id2800974"> Compilando MEncoder, da segfaults al linkar! </a></dt><dt>P: <a href="#id2801003"> ¡MPlayer muere con segmentation fault durante la comprobación pthread! </a></dt><dt>P: <a href="#id2801029"> ¡Me gustaria compilar MPlayer en Minix! </a></dt></dl></dd><dt>9.3. <a href="#faq-general">Preguntas generales</a></dt><dd><dl><dt>P: <a href="#id2801059"> ¿Hay alguna lista de correo en MPlayer? </a></dt><dt>P: <a href="#id2801085"> He encontrado un error molestro mientras reproducía mi ¡video favorito! ¿A quién debo informar? </a></dt><dt>P: <a href="#id2801110"> Tengo problemas reproduciendo archivos con el codec .... ¿Puedo usarlo? </a></dt><dt>P: <a href="#id2801139"> Cuando inicio la reproducción, obtenego este mensaje pero todo parece ir bien: Linux RTC init: ioctl (rtc_pie_on): Permiso denegado </a></dt><dt>P: <a href="#id2801173"> Hay un cronómetro en la esquina superior izquierda. ¿Cómo puedo quitarlo? </a></dt><dt>P: <a href="#id2801197"> Las opciones -xy o -fs no funcionan con el controlador x11 (-vo x11) ... </a></dt><dt>P: <a href="#id2801263"> ¿Qué significan los números de la línea de estado? </a></dt><dt>P: <a href="#id2801362"> ¿Qué pasa si no quiero que aparezcan? </a></dt><dt>P: <a href="#id2801380"> ¿Por qué está la CPU usada a cero (0%) para algunos archivos? </a></dt><dt>P: <a href="#id2801418"> Hay mensajes de error archivo no encontrado /usr/local/lib/codecs/ ... </a></dt><dt>P: <a href="#id2801446"> Umm, ¿qué es "IdegCounter"? </a></dt><dt>P: <a href="#id2801464"> ¿Y qué es "Faszom(C)ounter"? </a></dt><dt>P: <a href="#id2801490"> LIRC no funciona, ¿por qué? ... </a></dt><dt>P: <a href="#id2801530"> Los subtitulos son muy bonitos, los mas bonitos que jamás he visto, ¡pero retrasan la reproducción! Sé que es poco probable ... </a></dt><dt>P: <a href="#id2801572"> ¡Las funciones de pantalla (OSD) parpadean! </a></dt><dt>P: <a href="#id2801596"> ¡La barra the tareas de Icewm sigue cubriendo la pelicula cuande se usa la funcion pantalla completa! </a></dt><dt>P: <a href="#id2801625"> No puedo acceder al menú del GUI. Intento dar al botón derecho, ¡pero no puedo acceder a ningún objeto del menú! </a></dt><dt>P: <a href="#id2801671"> ¿Cómo puedo hacer que MPlayer funcione en segundo plano? </a></dt></dl></dd><dt>9.4. <a href="#faq-playback">Problemas de reproducción</a></dt><dd><dl><dt>P: <a href="#id2801715"> No puedo identificar la causa de algun extraño problema de reproduccion. </a></dt><dt>P: <a href="#id2801769"> ¿Por qué no funciona MPlayer en Fedora Core? </a></dt><dt>P: <a href="#id2801939"> ... funciona con xine/avifile/... pero no con MPlayer. </a></dt><dt>P: <a href="#id2801997"> Audio se sale de sincronizacion mientras reproduzco un archivo AVI. </a></dt><dt>P: <a href="#id2802025"> MPlayer sale con algun error cuando uso l3codeca.acm. </a></dt><dt>P: <a href="#id2802111"> Mi ordenador reproduce MS DivX AVIs con resoluciones ~ 640x300 y sonido mp3 en estéreo demasiado lento. Cuando uso la opción -nosound todo va bien (pero sin sonido). </a></dt><dt>P: <a href="#id2802137"> MPlayer falla con MPlayer interrupted by signal 4 in module: decode_video. </a></dt><dt>P: <a href="#id2802187"> Tengo un problema con [su administrador de ventanas] y reproducción en pantalla completa con modo xv/xmga/sdl/x11 ... </a></dt><dt>P: <a href="#id2802211"> Me salió esto reproduciendo archivos MPEG: Can't find codec for video format 0x10000001! </a></dt><dt>P: <a href="#id2802270"> Cuando empiezo MPlayer bajo KDE solo recibo una pantalla negra y nada pasa. Aproximadamente un minuto después la imagen empieza a salir. </a></dt><dt>P: <a href="#id2802319"> Tengo un AVI que produce una pantalla gris cuando intento reproducirlo con -vc odivx y una verde con -vc divx4. </a></dt><dt>P: <a href="#id2802372"> Cuando reproduzco esta pelicula sale el video-audio fuera de sincronizacion y/o MPlayer falla con el siguiente mensaje: DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer! </a></dt><dt>P: <a href="#id2802460"> Tengo un archivo MJPEG que funciona con otros reproductores pero solo muestra imagen negra en MPlayer </a></dt><dt>P: <a href="#id2802484"> Cuando intento recibir de mi sintonizador, funciona, pero los colores son extraños. Con otras aplicaciones funciona bien. </a></dt><dt>P: <a href="#id2802513"> ¡Tengo problemas con sincronizacion A/V. Algunos de mis archivos AVI reproducen bien, pero algunos con velocidad doble! </a></dt><dt>P: <a href="#id2802532"> ¡Todos los archivos WMV (o otros..) que reproduzco crean un ventana verde/gris y solo hay sonido! MPlayer dice: Detected video codec: [null] drv:0 (NULL codec (no decoding)) </a></dt><dt>P: <a href="#id2802592"> Recibo valores de porcentaje muy extraños (demasiado grandes) mientras reproduzco archivos en mi portátil. </a></dt><dt>P: <a href="#id2802626"> El audio/video pierde la sincronización totalmente cuando ejecuto MPlayer como root en mi portatil. Cuando lo ejecuto como usuario normal funciona correctamente. </a></dt><dt>P: <a href="#id2802662"> Durante la reproducción de una película, de repente recibo el siguiente mensaje: Badly interleaved AVI file detected - switching to -ni mode... </a></dt><dt>P: <a href="#id2802692"> ¿Cómo puedo reproducir archivos de audio MPEG Layer 2 (mp2)? </a></dt></dl></dd><dt>9.5. <a href="#faq-driver">Problemas del manejador de video/audio (vo/ao)</a></dt><dd><dl><dt>P: <a href="#id2802722"> No tengo sonido cuando reproduzco un video y me sale un error parecido a este: AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian) audio_setup: Can't open audio device /dev/dsp: Device or resource busy couldn't open/init audio device -> NOSOUND Audio: no sound!!! Start playing... </a></dt><dt>P: <a href="#id2802761"> ¿Que pasa con el controlador DGA? ¡No los puedo encontrar! </a></dt><dt>P: <a href="#id2802806"> Vale, -vo help encuentra un controlador DGA, pero se queja sobre sus permisos. ¡Ayúdenme! </a></dt><dt>P: <a href="#id2802881"> Cuando uso Xvideo, mi Voodoo 3/Banshee dice: X Error of failed request: BadAccess (attempt to access private resource denied) Major opcode of failed request: 147 (MIT-SHM) Minor opcode of failed request: 1 (X_ShmAttach) Serial number of failed request: 26 Current serial number in output stream:27 </a></dt><dt>P: <a href="#id2802928"> La salida de OpenGL (-vo gl no funciona (se cuelga/ventana negra/errores X11/...). </a></dt><dt>P: <a href="#id2802956"> Yo tengo una tarjeta TNT/TNT2 de nVidia, y tengo una banda con colores extraña, ¡justo debajo de la pelicula! ¿De quién es la culpa de esto? </a></dt><dt>P: <a href="#id2802982"> Tengo una tarjeta XYZ de nVidia, y cuando aprieto el raton en la ventanilla del GUI para mostrar el panel del GUI, un cuadrado negro aparece donde hice clic. Tengo el controldor más reciente. </a></dt><dt>P: <a href="#id2803012"> ¡Oh que cruel es el mundo ...! ¡SDL solo tiene x11 de destino, pero no xv! </a></dt></dl></dd><dt>9.6. <a href="#faq-dvd">Reproducción DVD</a></dt><dd><dl><dt>P: <a href="#id2803075"> ¿Qué pasa con navegación DVD? </a></dt><dt>P: <a href="#id2803117"> Mientras reproduzco un DVD, he encontrado este error: mplayer: ifo_read.c:1143: ifoRead_C_ADT_internal: Assertion nfo_length / sizeof(cell_adr_t) >= c_adt->nr_of_vobs' failed. </a></dt><dt>P: <a href="#id2803152"> ¿Puedo compilar libdvdread y libdvdcss en me querido SPARC bajo Solaris? </a></dt><dt>P: <a href="#id2803186"> ¿Qué pasa con subtítulos? ¿Puede MPlayer reproducirlos? </a></dt><dt>P: <a href="#id2803213"> ¿Cómo puedo fijar el código de región en mi lector de DVD? ¡Yo no tengo Windows! </a></dt><dt>P: <a href="#id2803236"> ¿Necesito ser (setuid) root/setuid fibmap_mplayer para poder reproducir un DVD? </a></dt><dt>P: <a href="#id2803260"> ¿De donde puedo obtener los paquetes libdvdread y libdvdcss? </a></dt><dt>P: <a href="#id2803295"> ¿Es posible reproducir/codificar solo unos capítulos seleccionados? </a></dt><dt>P: <a href="#id2803314"> ¡Mi reproducción DVD es lenta! </a></dt></dl></dd><dt>9.7. <a href="#faq-features">Solicitando prestaciones</a></dt><dd><dl><dt>P: <a href="#id2803357"> Si MPlayer esta pausado e intento buscar o apretar cualquier tecla, MPlayer abandona el estado de pausa. Me gustaría poder buscar mientras está la película pausada. </a></dt><dt>P: <a href="#id2803390"> Me gustaría poder buscar +/- 1 cuadros en lugar de 10 segundos. </a></dt><dt>P: <a href="#id2803410"> ¿Como puedo hacer que MPlayer recuerde la opción que usé para un archivo en particular? </a></dt></dl></dd><dt>9.8. <a href="#faq-encoding">Codificando</a></dt><dd><dl><dt>P: <a href="#id2803458"> ¿Como puedo codificar? </a></dt><dt>P: <a href="#id2803481"> ¿Como puedo crear un VCD? </a></dt><dt>P: <a href="#id2803512"> ¿Como puedo juntar dos archivos? </a></dt><dt>P: <a href="#id2803578"> Mi sintonizador funciona, puedo oir el sonido y ver la película con MPlayer, ¡pero MEncoder no codifica el audio! </a></dt><dt>P: <a href="#id2803609"> ¡No puedo codificar subtítulos del DVD en el AVI! </a></dt><dt>P: <a href="#id2803628"> ¡Al empezar MEncoder produce un fallo de segmentación! </a></dt><dt>P: <a href="#id2803649"> ¿Cómo puedo codificar solo capítulos seleccionados de un DVD? </a></dt><dt>P: <a href="#id2803672"> Estoy intentando trabajar con archivos de 2GB+ en un sistema de archivos VFAT. ¿Funciona? </a></dt><dt>P: <a href="#id2803687"> ¿Por qué la tasa de bits que recomienda MEncoder es negativa? </a></dt><dt>P: <a href="#id2803710"> ¿No puedo codificar archivos ASF a AVI/DivX porque usa 1000 fps? </a></dt><dt>P: <a href="#id2803729"> ¿Como puedo poner subtítulos en el archivo de salida? </a></dt></dl></dd></dl><table border="0" width="100%" summary="Q and A Set"><col align="left" width="1%"><col><tbody><tr class="qandadiv"><td align="left" valign="top" colspan="2"><h3 class="title"><a name="faq-development"></a>9.1. Desarrollo</h3></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>P: <a href="#id2799739"> ¿Cómo puedo crear un parche para MPlayer? </a></dt><dt>P: <a href="#id2800374"> ¿Cómo puedo traducir MPlayer a un nuevo idioma? </a></dt><dt>P: <a href="#id2800408"> ¿Cómo puedo ayudar al desarrollo de MPlayer? </a></dt><dt>P: <a href="#id2800443"> ¿Cómo puedo convertirme en un desarrollador de MPlayer? </a></dt><dt>P: <a href="#id2800489"> ¿Por qué no usan autoconf/automake? </a></dt></dl></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2799739"></a><a name="id2799741"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Cómo puedo crear un parche para <span class="application">MPlayer</span>? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Hemos hecho<a class="ulink" href="../../tech/patches.txt" target="_top">un pequeño documento</a> describiendo todos los detalles necesarios. Por favor siga las instrucciones. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2800374"></a><a name="id2800376"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Cómo puedo traducir <span class="application">MPlayer</span> a un nuevo idioma? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Lea el <a class="ulink" href="../../tech/translations.txt" target="_top">COMO sobre traducciones</a>, ahí debe estar todo explicado. Puede obtener más ayuda en la lista de correo <a class="ulink" href="http://mplayerhq.hu/mailman/listinfo/mplayer-docs" target="_top">mplayer-docs</a>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2800408"></a><a name="id2800410"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Cómo puedo ayudar al desarrollo de <span class="application">MPlayer</span>? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Estamos más que felices de aceptar sus <a class="ulink" href="http://www.mplayerhq.hu/donations.html" target="_top">donaciones</a> de hardware y software. Eso nos ayuda a mejorar contínuamente <span class="application">MPlayer</span>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2800443"></a><a name="id2800445"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Cómo puedo convertirme en un desarrollador de <span class="application">MPlayer</span>? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Siempre son bienvenidos codeadores y documentadores. Lea la <a class="ulink" href="../../tech/" target="_top">documentación técnica</a> para obtener una primera impresión. Deberá suscribirse a la lista de correo <a class="ulink" href="http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng" target="_top">mplayer-dev-eng</a> y comenzar a escribir código. Si quiere ayudar con la documentación, únase a la lista de correo <a class="ulink" href="http://mplayerhq.hu/mailman/listinfo/mplayer-docs" target="_top">mplayer-docs</a>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2800489"></a><a name="id2800491"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Por qué no usan autoconf/automake? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Tenemos un sistema modular, escrito a mano. Hace un trabajo razonablemente bueno, ¿por qué cambiar? Además, no nos gustan las herramientas auto*, como a <a class="ulink" href="http://freshmeat.net/articles/view/889/" target="_top">otra gente</a>. </p></td></tr><tr class="qandadiv"><td align="left" valign="top" colspan="2"><h3 class="title"><a name="faq-compilation"></a>9.2. Compilación</h3></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>P: <a href="#id2800525"> ¿Hay paquetes binarios (RPM/deb) de MPlayer? </a></dt><dt>P: <a href="#id2800559"> La compilación se detiene con un mensaje de error similar a este: cfft.c: In function`passf2': cfft.c:556: unable to find a register to spill in class `FLOAT_REGS' cfft.c:556: this is the insn: (insn 235 233 246 (set (subreg:SF (reg/v:DI 29 rmm0 [110]) 0) (minus:SF (mem:SF (plus:SI (mult:SI (reg:SI 1 edx [112]) (const_int 8 [0x8])) (reg/v/f:SI 3 ebx [62])) [4 S4 A32]) (reg:SF 8 st(0) [132]))) 533 {*fop_sf_1_nosse} (insn_list 232 (nil)) (expr_list:REG_DEAD (reg:SF 8 st(0) [132]) (nil))) cfft.c:556: confused by earlier errors, bailing out </a></dt><dt>P: <a href="#id2800606"> La compilación se detiene con un mensaje de error similar a este: En el archivo incluído en mplayer.c:34: mw.h: En función `mplMainDraw': mw.h:209: Error interno del compilador en print_rtl_and_abort, at flow.c:6458 Por favor envíe un informe de error completo, con código preprocesado si es necesario. </a></dt><dt>P: <a href="#id2800642"> Configure termina con este texto, y ¡MPlayer no compila! Su gcc no soporta ni un i386 para '-march' and '-mcpu' </a></dt><dt>P: <a href="#id2800677"> La salida de SDL no funciona o no compila. El problema es ... </a></dt><dt>P: <a href="#id2800699"> Sigo teniendo problemas compilando con soporte para SDL, gcc dice algo acerca de referencia no definida a `SDL_EnableKeyRepeat'. ¿Ahora qué? </a></dt><dt>P: <a href="#id2800756"> Tengo una Matrox G200/G400/G450/G550, ¿cómo puedo compilar/usar el controlador mga_vid? </a></dt><dt>P: <a href="#id2800778"> Hmm, extraño. Cuando cargo el módulo del kernel mga_vid.o, encuentro esto en los historiales: Advertencia: cargando mga_vid.o puede corromper el kernel: no hay licencia </a></dt><dt>P: <a href="#id2800819"> Durante 'make', MPlayer se queja de algunas bibliotecas de X11. No lo entiendo, ¡yo TENGO X instalado!? </a></dt><dt>P: <a href="#id2800890"> No puedo compilar SVGAlib. Estoy usando kernel 2.3/2.4 ... </a></dt><dt>P: <a href="#id2800916"> He compilado MPlayer con soporte libdvdcss/libdivxdecore, pero cuanto intento iniciarlo, me dice: error cargando bibliotecas compartidas: lib*.so.0: no se puede cargar el archivo objeto compartido: No se encuentra el archivo o directorio He comprobado el archivo y ESTÁ en /usr/local/lib ... </a></dt><dt>P: <a href="#id2800974"> Compilando MEncoder, da segfaults al linkar! </a></dt><dt>P: <a href="#id2801003"> ¡MPlayer muere con segmentation fault durante la comprobación pthread! </a></dt><dt>P: <a href="#id2801029"> ¡Me gustaria compilar MPlayer en Minix! </a></dt></dl></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2800525"></a><a name="id2800527"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Hay paquetes binarios (RPM/deb) de <span class="application">MPlayer</span>? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Vea las secciones de <a class="link" href="#debian" title="7.1.1. Empaquetado para Debian">Debian</a> y <a class="link" href="#rpm" title="7.1.2. Empaquetado RPM">RPM</a> para más detalles. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2800559"></a><a name="id2800561"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> La compilación se detiene con un mensaje de error similar a este: </p><pre class="screen"> cfft.c: In function`passf2': cfft.c:556: unable to find a register to spill in class `FLOAT_REGS' cfft.c:556: this is the insn: (insn 235 233 246 (set (subreg:SF (reg/v:DI 29 rmm0 [110]) 0) (minus:SF (mem:SF (plus:SI (mult:SI (reg:SI 1 edx [112]) (const_int 8 [0x8])) (reg/v/f:SI 3 ebx [62])) [4 S4 A32]) (reg:SF 8 st(0) [132]))) 533 {*fop_sf_1_nosse} (insn_list 232 (nil)) (expr_list:REG_DEAD (reg:SF 8 st(0) [132]) (nil))) cfft.c:556: confused by earlier errors, bailing out </pre><p> </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Este es un problema conocido de <span class="application">gcc</span> 3.2, actualice a 3.3 para solucionar el problema. Alternativamente puede usar una biblioteca FAAD externa como se describe en la sección <a class="link" href="#aac" title="2.5.2. AAC">AAC</a>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2800606"></a><a name="id2800608"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> La compilación se detiene con un mensaje de error similar a este: </p><pre class="screen"> En el archivo incluído en mplayer.c:34: mw.h: En función `mplMainDraw': mw.h:209: Error interno del compilador en print_rtl_and_abort, at flow.c:6458 Por favor envíe un informe de error completo, con código preprocesado si es necesario. </pre><p> </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Este es un problema conocido de <span class="application">gcc</span> 3.0.4, actualice a 3.1 para solucionar el problema. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2800642"></a><a name="id2800644"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Configure termina con este texto, y ¡<span class="application">MPlayer</span> no compila! </p><pre class="screen">Su gcc no soporta ni un i386 para '-march' and '-mcpu'</pre><p> </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Si su gcc no está instalado correctamente, compruebe el archivo <tt class="filename">configure.log</tt> para más detalles. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2800677"></a><a name="id2800679"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> La salida de SDL no funciona o no compila. El problema es ... </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Se ha comprobado que funciona con SDL 1.2.x y puede funcionar en SDL 1.1.7+. <span class="bold"><strong>No</strong></span> funciona con versiones anteriores. Si decide usar esas versiones que no funcionan, haga lo que le de la gana. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2800699"></a><a name="id2800701"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Sigo teniendo problemas compilando con soporte para SDL, gcc dice algo acerca de </p><pre class="screen">referencia no definida a `SDL_EnableKeyRepeat'</pre><p>. ¿Ahora qué? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> ¿Dónde ha instalado la biblioteca SDL? Si la ha instalado en <tt class="filename">/usr/local</tt> (por defecto) entonces edite el archivo de primer nivel <tt class="filename">config.mak</tt> y añada <code class="systemitem">-L/usr/local/lib</code> después de <code class="systemitem">X_LIBS=</code>. Ahora escriba <span class="command"><strong>make</strong></span>. ¡Ya lo tiene! </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2800756"></a><a name="id2800758"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Tengo una Matrox G200/G400/G450/G550, ¿cómo puedo compilar/usar el controlador mga_vid? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Lea la sección <a class="link" href="#mga_vid" title="6.2.6. Framebuffer de Matrox (mga_vid)">mga_vid</a>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2800778"></a><a name="id2800780"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Hmm, extraño. Cuando cargo el módulo del kernel <tt class="filename">mga_vid.o</tt>, encuentro esto en los historiales: </p><pre class="screen">Advertencia: cargando mga_vid.o puede corromper el kernel: no hay licencia</pre><p> </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Los últimos modutils del kernel requieren una bandera indicando la licencia (principalmente para evitar a hackers del kernel hacer ingeniería inversa de controladores de código cerrado). Actualice su kernel, modutils y <span class="application">MPlayer</span>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2800819"></a><a name="id2800821"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Durante 'make', <span class="application">MPlayer</span> se queja de algunas bibliotecas de X11. No lo entiendo, ¡yo TENGO X instalado!? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> ... pero no tiene los paquetes de desarrollo de X instalados. O no de la manera correcta. Se llaman <tt class="filename">XFree86-devel*</tt> bajo Red Hat, y <tt class="filename">xlibs-dev</tt> bajo Debian. Compruebe también si los enlaces simbólicos <tt class="filename">/usr/X11</tt> y <tt class="filename">/usr/include/X11</tt> existen (esto puede ser un problema en sistemas Mandrake). Pueden crearse con éstas órdenes: </p><pre class="screen"> # ln -sf /usr/X11R6 /usr/X11 # ln -sf /usr/X11R6/include/X11 /usr/include/X11 </pre><p> Su distribución puede diferir del <a class="ulink" href="http://www.pathname.com/fhs/" target="_top">Filesystem Hierarchy Standard</a>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2800890"></a><a name="id2800892"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> No puedo compilar SVGAlib. Estoy usando kernel 2.3/2.4 ... </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Debe editar los <tt class="filename">Makefile.cfg</tt> de SVGAlib y dejar como comentario <code class="systemitem">BACKGROUND = y</code>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2800916"></a><a name="id2800918"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> He compilado <span class="application">MPlayer</span> con soporte libdvdcss/libdivxdecore, pero cuanto intento iniciarlo, me dice: </p><pre class="screen"> error cargando bibliotecas compartidas: lib*.so.0: no se puede cargar el archivo objeto compartido: No se encuentra el archivo o directorio </pre><p> He comprobado el archivo y ESTÁ en <tt class="filename">/usr/local/lib</tt> ... </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Añada <tt class="filename">/usr/local/lib</tt> a <tt class="filename">/etc/ld.so.conf</tt> y ejecute <span class="command"><strong>ldconfig</strong></span>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2800974"></a><a name="id2800976"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Compilando <span class="application">MEncoder</span>, da segfaults al linkar! </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Este es un problema del linkador. Actualizar binutils puede ayudar (2.11.92.* o posterior deben ir bien). Ya que no es un problema nuestro, ¡por favor <span class="bold"><strong>no</strong></span> nos informe de él! </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801003"></a><a name="id2801006"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¡<span class="application">MPlayer</span> muere con segmentation fault durante la comprobación pthread! </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> <span class="command"><strong>chmod 644 /usr/lib/libc.so</strong></span> </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801029"></a><a name="id2801032"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¡Me gustaria compilar <span class="application">MPlayer</span> en Minix! </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> A mí también. :) </p></td></tr><tr class="qandadiv"><td align="left" valign="top" colspan="2"><h3 class="title"><a name="faq-general"></a>9.3. Preguntas generales</h3></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>P: <a href="#id2801059"> ¿Hay alguna lista de correo en MPlayer? </a></dt><dt>P: <a href="#id2801085"> He encontrado un error molestro mientras reproducía mi ¡video favorito! ¿A quién debo informar? </a></dt><dt>P: <a href="#id2801110"> Tengo problemas reproduciendo archivos con el codec .... ¿Puedo usarlo? </a></dt><dt>P: <a href="#id2801139"> Cuando inicio la reproducción, obtenego este mensaje pero todo parece ir bien: Linux RTC init: ioctl (rtc_pie_on): Permiso denegado </a></dt><dt>P: <a href="#id2801173"> Hay un cronómetro en la esquina superior izquierda. ¿Cómo puedo quitarlo? </a></dt><dt>P: <a href="#id2801197"> Las opciones -xy o -fs no funcionan con el controlador x11 (-vo x11) ... </a></dt><dt>P: <a href="#id2801263"> ¿Qué significan los números de la línea de estado? </a></dt><dt>P: <a href="#id2801362"> ¿Qué pasa si no quiero que aparezcan? </a></dt><dt>P: <a href="#id2801380"> ¿Por qué está la CPU usada a cero (0%) para algunos archivos? </a></dt><dt>P: <a href="#id2801418"> Hay mensajes de error archivo no encontrado /usr/local/lib/codecs/ ... </a></dt><dt>P: <a href="#id2801446"> Umm, ¿qué es "IdegCounter"? </a></dt><dt>P: <a href="#id2801464"> ¿Y qué es "Faszom(C)ounter"? </a></dt><dt>P: <a href="#id2801490"> LIRC no funciona, ¿por qué? ... </a></dt><dt>P: <a href="#id2801530"> Los subtitulos son muy bonitos, los mas bonitos que jamás he visto, ¡pero retrasan la reproducción! Sé que es poco probable ... </a></dt><dt>P: <a href="#id2801572"> ¡Las funciones de pantalla (OSD) parpadean! </a></dt><dt>P: <a href="#id2801596"> ¡La barra the tareas de Icewm sigue cubriendo la pelicula cuande se usa la funcion pantalla completa! </a></dt><dt>P: <a href="#id2801625"> No puedo acceder al menú del GUI. Intento dar al botón derecho, ¡pero no puedo acceder a ningún objeto del menú! </a></dt><dt>P: <a href="#id2801671"> ¿Cómo puedo hacer que MPlayer funcione en segundo plano? </a></dt></dl></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801059"></a><a name="id2801061"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Hay alguna lista de correo en <span class="application">MPlayer</span>? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Sí. Vea la sección <a class="ulink" href="http://www.mplayerhq.hu/design7/mailing_lists.html" target="_top">listas de correo</a> de nuestro homepage. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801085"></a><a name="id2801088"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> He encontrado un error molestro mientras reproducía mi ¡video favorito! ¿A quién debo informar? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Por favor lea las <a class="link" href="#bugreports" title="Apéndice A. Cómo reportar errores">guías para informar de fallos</a> y siga las instrucciones. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801110"></a><a name="id2801112"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Tengo problemas reproduciendo archivos con el codec .... ¿Puedo usarlo? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Compruebe el <a class="ulink" href="../../codecs-status.html" target="_top">estado del codec</a>, si no contiene su codec, lea el <a class="ulink" href="../../tech/win32-codec-howto" target="_top">COMO importar codecs Win32</a> y contacte con nosotros. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801139"></a><a name="id2801141"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Cuando inicio la reproducción, obtenego este mensaje pero todo parece ir bien: </p><pre class="screen">Linux RTC init: ioctl (rtc_pie_on): Permiso denegado</pre><p> </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Necesita privilegios de root o establecer un kernel especial para usar el nuevo código de temporización. Para más detalles vea la sección<a class="link" href="#rtc" title="2.6. RTC">RTC</a> de la documentación. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801173"></a><a name="id2801175"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Hay un cronómetro en la esquina superior izquierda. ¿Cómo puedo quitarlo? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Pulse <span class="keycap"><b>o</b></span> y pruebe la opción <tt class="option">-osdlevel</tt>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801197"></a><a name="id2801200"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Las opciones <tt class="option">-xy</tt> o <tt class="option">-fs</tt> no funcionan con el controlador x11 (<tt class="option">-vo x11</tt>) ... </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Sí funciona, pero debe especificar un escalado por software (muy lento) con la opción <tt class="option">-zoom</tt>. Mejor use soporte XF86VidMode: Debe especificar la opción <tt class="option">-vm</tt> y la opción <tt class="option">-fs</tt>, y ya está. Asegúrese de tener los modelines correctos en su archivo <tt class="filename">XF86Config</tt>, e intente que el <a class="link" href="#dga" title="6.2.2. DGA">controlador DGA</a> y el <a class="link" href="#sdl" title="6.2.3. SDL">controlador SDL DGA</a> funcionen para usted. Es mucho más rápido. Si SDL DGA funciona, úselo, será incluso más rápido. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801263"></a><a name="id2801265"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Qué significan los números de la línea de estado? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Ejemplo: </p><pre class="screen">A: 2.1 V: 2.2 A-V: -0.167 ct: 0.042 57/57 41% 0% 2.6% 0 4 49%</pre><p> </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>A: posición de audio en segundos</p></li><li class="listitem"><p>V: posición de video en segundos</p></li><li class="listitem"><p>A-V: diferencia audio-video en segundos (retardo)</p></li><li class="listitem"><p>ct: corrección completa de sincronización A-V</p></li><li class="listitem"><p>cuadros reproducidos (contando desde la ultima busceda)</p></li><li class="listitem"><p>cuadros descifrados (contando desde la ultima busceda)</p></li><li class="listitem"><p>porcentaje cpu usado por video codec (para trozos y DR esto incluye video_out)</p></li><li class="listitem"><p>porcentaje cpu usado por video_out</p></li><li class="listitem"><p>porcentaje cpu usado por audio codec</p></li><li class="listitem"><p>cuadros dejados para mantener sincronización A-V</p></li><li class="listitem"><p>nivel actual de procesamiento posterior de imagen (mientras usando<tt class="option">-autoq</tt>)</p></li><li class="listitem"><p>nivel de cache usado (aproximadamente 50% es normal)</p></li></ul></div><p> La mayoría de ellos tiened utilidad de depurar y serán suprimidos en cierto punto. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801362"></a><a name="id2801364"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Qué pasa si no quiero que aparezcan? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Use la opción <tt class="option">-quiet</tt> y lea las páginas man. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801380"></a><a name="id2801382"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Por qué está la CPU usada a cero (0%) para algunos archivos? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> No esta a cero, pero es recojido del codec osea que no se puede medir por separado. Debería intentar reproducir el archivo usando <tt class="option">-vo null</tt> y luego <tt class="option">-vo ...</tt> y observar la diferencia para ver la velocidad de video_out. </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Está usando Direct Rendering, en este caso el codec renderiza por sí mismo sobre la memoria de video. En este caso, el porcentaje descifrado contiene también el porcentaje reproducido. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801418"></a><a name="id2801420"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Hay mensajes de error archivo no encontrado <tt class="filename">/usr/local/lib/codecs/</tt> ... </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Descargue los codecs Win32 de nuestra <a class="ulink" href="http://www.mplayerhq.hu/MPlayer/releases/codecs/" target="_top">página de codecs</a> (el paquete de codecs avifile contiene un conjunto diferente de DLL's) e instálelo. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801446"></a><a name="id2801448"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Umm, ¿qué es "IdegCounter"? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Una combinación de una palabra en Húngaro y una Inglesa. "Ideg" en Húngaro quiere decir lo mismo que "nervio" en Español, y es pronunciado algo parecido a "ydaegh". Al principio fue usado para medir el nivel de Nervios de A'rpi, después de la (umm) "misteriosa" desaparición de codigo CVS ;) </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801464"></a><a name="id2801466"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Y qué es "Faszom(C)ounter"? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> "Fasz" es una palabra Húngara que no quieres saber, las otras están conectadas a las mentes pervertidas de los desarrolladores de <span class="application">MPlayer</span>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801490"></a><a name="id2801492"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> LIRC no funciona, ¿por qué? ... </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> ¿Está seguro que está usando <span class="command"><strong>mplayer</strong></span> en lugar de <span class="command"><strong>mplayer_lirc</strong></span>? Toma nota que solia ser <span class="command"><strong>mplayer_lirc</strong></span> por bastante tiempo, version 0.60 incluida, pero esto fue cambiado recientemente a <span class="command"><strong>mplayer</strong></span>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801530"></a><a name="id2801532"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Los subtitulos son muy bonitos, los mas bonitos que jamás he visto, ¡pero retrasan la reproducción! Sé que es poco probable ... </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Después de ejecutar <tt class="filename">./configure</tt>, tiene que editar <tt class="filename">config.h</tt> y sustituir <code class="systemitem">#undef FAST_OSD</code> con <code class="systemitem">#define FAST_OSD</code>. Y volver a compilar. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801572"></a><a name="id2801574"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¡Las funciones de pantalla (OSD) parpadean! </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Está usando el controlador vo con un solo buffer (x11,xv). Con xv, use la opción <tt class="option">-double</tt>. Pruebe también <tt class="option">-vf expand</tt>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801596"></a><a name="id2801598"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¡La barra the tareas de Icewm sigue cubriendo la pelicula cuande se usa la funcion pantalla completa! </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Esto ya no deberia ocurrir, si aún sigue use la opción de capa <tt class="option">-fstype</tt> y comuníquelo a la lista de correo <a class="ulink" href="http://mplayerhq.hu/pipermail/mplayer-users/" target="_top">mplayer-users</a>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801625"></a><a name="id2801627"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> No puedo acceder al menú del GUI. Intento dar al botón derecho, ¡pero no puedo acceder a ningún objeto del menú! </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> ¿Está usando FVWM? Intente la siguiente: </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Start -> Settings -> Configuration -> Base Configuration</p></li><li class="listitem"><p>Cambie <code class="systemitem">Use Applications position hints</code> a <code class="systemitem">Yes</code></p></li></ol></div><p> </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801671"></a><a name="id2801673"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Cómo puedo hacer que <span class="application">MPlayer</span> funcione en segundo plano? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Use: </p><pre class="screen">mplayer <em class="replaceable"><code>opciones</code></em> <em class="replaceable"><code>archivo</code></em> < /dev/null &</pre><p> </p></td></tr><tr class="qandadiv"><td align="left" valign="top" colspan="2"><h3 class="title"><a name="faq-playback"></a>9.4. Problemas de reproducción</h3></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>P: <a href="#id2801715"> No puedo identificar la causa de algun extraño problema de reproduccion. </a></dt><dt>P: <a href="#id2801769"> ¿Por qué no funciona MPlayer en Fedora Core? </a></dt><dt>P: <a href="#id2801939"> ... funciona con xine/avifile/... pero no con MPlayer. </a></dt><dt>P: <a href="#id2801997"> Audio se sale de sincronizacion mientras reproduzco un archivo AVI. </a></dt><dt>P: <a href="#id2802025"> MPlayer sale con algun error cuando uso l3codeca.acm. </a></dt><dt>P: <a href="#id2802111"> Mi ordenador reproduce MS DivX AVIs con resoluciones ~ 640x300 y sonido mp3 en estéreo demasiado lento. Cuando uso la opción -nosound todo va bien (pero sin sonido). </a></dt><dt>P: <a href="#id2802137"> MPlayer falla con MPlayer interrupted by signal 4 in module: decode_video. </a></dt><dt>P: <a href="#id2802187"> Tengo un problema con [su administrador de ventanas] y reproducción en pantalla completa con modo xv/xmga/sdl/x11 ... </a></dt><dt>P: <a href="#id2802211"> Me salió esto reproduciendo archivos MPEG: Can't find codec for video format 0x10000001! </a></dt><dt>P: <a href="#id2802270"> Cuando empiezo MPlayer bajo KDE solo recibo una pantalla negra y nada pasa. Aproximadamente un minuto después la imagen empieza a salir. </a></dt><dt>P: <a href="#id2802319"> Tengo un AVI que produce una pantalla gris cuando intento reproducirlo con -vc odivx y una verde con -vc divx4. </a></dt><dt>P: <a href="#id2802372"> Cuando reproduzco esta pelicula sale el video-audio fuera de sincronizacion y/o MPlayer falla con el siguiente mensaje: DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer! </a></dt><dt>P: <a href="#id2802460"> Tengo un archivo MJPEG que funciona con otros reproductores pero solo muestra imagen negra en MPlayer </a></dt><dt>P: <a href="#id2802484"> Cuando intento recibir de mi sintonizador, funciona, pero los colores son extraños. Con otras aplicaciones funciona bien. </a></dt><dt>P: <a href="#id2802513"> ¡Tengo problemas con sincronizacion A/V. Algunos de mis archivos AVI reproducen bien, pero algunos con velocidad doble! </a></dt><dt>P: <a href="#id2802532"> ¡Todos los archivos WMV (o otros..) que reproduzco crean un ventana verde/gris y solo hay sonido! MPlayer dice: Detected video codec: [null] drv:0 (NULL codec (no decoding)) </a></dt><dt>P: <a href="#id2802592"> Recibo valores de porcentaje muy extraños (demasiado grandes) mientras reproduzco archivos en mi portátil. </a></dt><dt>P: <a href="#id2802626"> El audio/video pierde la sincronización totalmente cuando ejecuto MPlayer como root en mi portatil. Cuando lo ejecuto como usuario normal funciona correctamente. </a></dt><dt>P: <a href="#id2802662"> Durante la reproducción de una película, de repente recibo el siguiente mensaje: Badly interleaved AVI file detected - switching to -ni mode... </a></dt><dt>P: <a href="#id2802692"> ¿Cómo puedo reproducir archivos de audio MPEG Layer 2 (mp2)? </a></dt></dl></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801715"></a><a name="id2801717"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> No puedo identificar la causa de algun extraño problema de reproduccion. </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> ¿Tiene algún archivo <tt class="filename">codecs.conf</tt> extraviado en <tt class="filename">~/.mplayer/</tt>, <tt class="filename">/etc/</tt>, <tt class="filename">/usr/local/etc/</tt> o lugar similar? Quítelo, archivos <tt class="filename">codecs.conf</tt> anticuados pueden causar problemas extraños. <span class="application">MPlayer</span> usará uno que tiene incorporado en su lugar. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801769"></a><a name="id2801772"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Por qué no funciona <span class="application">MPlayer</span> en Fedora Core? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Hay una mala interacción en Fedora entre exec-shield, prelink, y cualquier aplicación que use DLLs de Windows (tales como <span class="application">MPlayer</span>). </p><p> El problema es que exec-shield aleatoriza la dirección de carga de todas las bibliotecas del sistema. Esta aleatorización ocurre en el tiempo del prelink (una vez cada dos semanas). </p><p> Cuando <span class="application">MPlayer</span> intenta cargar una DLL de Windows intenta colocarla en una dirección específica (0x400000). Si una biblioteca importante del sistema resulta que está en esa dirección, <span class="application">MPlayer</span> fallará. (Un síntoma típico es un fallo de segmentación cuando se intentan reproducir archivos Windows Media 9.) </p><p> Si le ocurre este problema tiene dos opciones: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Esperar dos semanas. Puede que vuelva a funcionar de nuevo.</p></li><li class="listitem"><p>Hacer el relink de todos los binarios del sistema con diferentes opciones del prelink. Aquí tiene las instrucciones paso a paso:</p><p> </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Edite <tt class="filename">/etc/sysconfig/prelink</tt> y cambie</p><p> </p><pre class="programlisting"> PRELINK_OPTS=-mR </pre><p> </p><p> a </p><pre class="programlisting"> PRELINK_OPTS="-mR --no-exec-shield" </pre><p> </p></li><li class="listitem"><p><span class="command"><strong>touch /var/lib/misc/prelink.force</strong></span></p></li><li class="listitem"><p><span class="command"><strong>/etc/cron.daily/prelink</strong></span> (Esto relinka todas las aplicaciones, y tardará un buen rato.)</p></li><li class="listitem"><p><span class="command"><strong>execstack -s <em class="replaceable"><code>/ruta/a/</code></em>mplayer</strong></span> (Esto desactiva el execshield para el binario de <span class="application">MPlayer</span>.) </p></li></ol></div><p> </p></li></ul></div><p> </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801939"></a><a name="id2801941"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ... funciona con <span class="application">xine/avifile/...</span> pero no con <span class="application">MPlayer</span>. </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> <span class="application">MPlayer</span> no es <span class="application">xine/avifile/...</span>. Aunque estos reproductores tienen algún código en común, el grupo de codecs (DLL), sincronización, demultiplexores etc es diferente y no debería ser comparado. Si tiene un archivo que <span class="application">MPlayer</span> falla en reproducir correctamente pero que funciona con otro reproductor, por favor lea la <a class="link" href="#bugreports" title="Apéndice A. Cómo reportar errores">guía para reportar errores</a> y suba el archivo a nuestro servidor FTP. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2801997"></a><a name="id2801999"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Audio se sale de sincronizacion mientras reproduzco un archivo AVI. </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Intenta la <tt class="option">-bps</tt> o <tt class="option">-nobps</tt> opcion. Si todavia no mejora, lea <a class="link" href="#bugreports" title="Apéndice A. Cómo reportar errores">esto</a> y sube el archivo a FTP. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802025"></a><a name="id2802027"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> <span class="application">MPlayer</span> sale con algun error cuando uso <tt class="filename">l3codeca.acm</tt>. </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Compruebe la salida<span class="command"><strong>ldd /usr/local/bin/mplayer</strong></span>. Si contiene </p><pre class="screen">libc.so.6 => /lib/libc.so.6 (0x4???????)</pre><p> donde "?" es cualquier número entonces está bien, el error no es de ahí. Si es: </p><pre class="screen">libc.so.6 => /lib/libc.so.6 (0x00??????)</pre><p> hay un problema con su kernel/libc. Quizas esté usando algún parche de seguridad (por ejemplo el parche de Solar Designer's OpenWall) que fuerza la carga de librerías a direcciones bajas. Al ser un DLL non-relocable,<tt class="filename">l3codeca.acm</tt> debe ser cargado a <code class="literal">0x00400000</code>, no podemos cambiar esto. Debería usar un kernel sin parchear, o use la opción <tt class="option">-afm 1</tt> de <span class="application">MPlayer</span> para dejar de usar <tt class="filename">l3codeca.acm</tt>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802111"></a><a name="id2802113"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Mi ordenador reproduce MS DivX AVIs con resoluciones ~ 640x300 y sonido mp3 en estéreo demasiado lento. Cuando uso la opción <tt class="option">-nosound</tt> todo va bien (pero sin sonido). </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Su ordenador es demasiado lento o su tarjeta de sonido está estropeada. Consulte la documentación de la misma para ver si hay forma de mejorar el rendimiento. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802137"></a><a name="id2802139"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> <span class="application">MPlayer</span> falla con </p><pre class="screen">MPlayer interrupted by signal 4 in module: decode_video</pre><p>. </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Intente ejecutar <span class="application">MPlayer</span> en la máquina en la que fue compilado. O recompile con detección de CPU en tiempo de ejecución (<span class="command"><strong>./configure --enable-runtime-cpudetection</strong></span>). No use <span class="application">MPlayer</span> en un CPU diferente a en el que fue compilado, sin usar esta opción que se acaba de mencionar. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802187"></a><a name="id2802189"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Tengo un problema con [su administrador de ventanas] y reproducción en pantalla completa con modo xv/xmga/sdl/x11 ... </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Lea <a class="link" href="#bugreports" title="Apéndice A. Cómo reportar errores">la guía para informar de errores</a> y mande un informe de error. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802211"></a><a name="id2802214"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Me salió esto reproduciendo archivos MPEG: Can't find codec for video format 0x10000001! </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Tiene una version vieja de <tt class="filename">codecs.conf</tt> en <tt class="filename">~/.mplayer/</tt>, <tt class="filename">/etc/</tt>, <tt class="filename">/usr/local/etc/</tt> o similar. Bórrelo, ya no sigue siendo necesario. <span class="bold"><strong>O</strong></span> tiene la opción <tt class="option">vc=</tt> o algo parecido en su archivo(s) de configuración. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802270"></a><a name="id2802273"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Cuando empiezo <span class="application">MPlayer</span> bajo KDE solo recibo una pantalla negra y nada pasa. Aproximadamente un minuto después la imagen empieza a salir. </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> El demonio de sonido arts de KDE esta bloqueando la tarjeta de sonido. Puedes esperar hasta que la imagen empiece o desactivar arts-daemon en el centro de control. Si quiere usar sonido arts, especifique la salida de audio a través de nuestro manejador nativo de audio para arts (<tt class="option">-ao arts</tt>). Si esto falla o no esta compilado, pruebe SDL (<tt class="option">-ao sdl</tt>) y asegúrese de que su SDL puede manejar sonido arts. Otra opción es ejecutar <span class="application">MPlayer</span> con artsdsp. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802319"></a><a name="id2802321"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Tengo un AVI que produce una pantalla gris cuando intento reproducirlo con <tt class="option">-vc odivx</tt> y una verde con <tt class="option">-vc divx4</tt>. </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> No es un archivo DivX, sino un MS MPEG4v3. Si tiene una version antigua de <tt class="filename">codecs.conf</tt> en <tt class="filename">~/.mplayer/</tt>, <tt class="filename">/etc/</tt>, <tt class="filename">/usr/local/etc/</tt> o similar, bórrela. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802372"></a><a name="id2802374"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Cuando reproduzco esta pelicula sale el video-audio fuera de sincronizacion y/o <span class="application">MPlayer</span> falla con el siguiente mensaje: </p><pre class="screen">DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!</pre><p> </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Esto puede ser por varias razones. </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Su CPU <span class="bold"><strong>y/o</strong></span> tarjeta de video <span class="bold"><strong>y/o</strong></span> sonido es damasiado lenta. <span class="application">MPlayer</span> mostrará un mensaje si el motivo es ese (y el contador de imágenes saltadas subirá rápidamente). </p></li><li class="listitem"><p> Si es un AVI, igual tiene interleaving malo. Intente la opción <tt class="option">-ni</tt>. </p></li><li class="listitem"><p> Si su manejador de sonido tiene errores, o usa ALSA 0.5 con <tt class="option">-ao oss</tt>. </p></li><li class="listitem"><p> El AVI tiene una cabecera errónea malo, pruebe la opción <tt class="option">-nobps</tt>, y/o <tt class="option">-mc 0</tt>. </p></li></ul></div><p> </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802460"></a><a name="id2802463"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Tengo un archivo MJPEG que funciona con otros reproductores pero solo muestra imagen negra en <span class="application">MPlayer</span> </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Use otro codec para reproducir el archivo, pruebe <tt class="option">-vc ffmjpeg</tt>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802484"></a><a name="id2802486"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Cuando intento recibir de mi sintonizador, funciona, pero los colores son extraños. Con otras aplicaciones funciona bien. </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Probablemente su tarjeta esté representando la actividad del espacio de color de manera incorrecta. Pruebe con YUY2 en lugar del YV12 por defecto (consulte la sección <a class="link" href="#tv-input" title="5.1. Entrada de TV">TV</a>). </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802513"></a><a name="id2802515"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¡Tengo problemas con sincronizacion A/V. Algunos de mis archivos AVI reproducen bien, pero algunos con velocidad doble! </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> El controlador de su tarjeta de sonido tiene errores. Probablemente funciona a 44100Hz, e intenta reproducir un archivo que tiene audio a 22050Hz. Pruebe el plugin que cambia la frecuencia de muestreo del audio. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802532"></a><a name="id2802534"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¡Todos los archivos WMV (o otros..) que reproduzco crean un ventana verde/gris y solo hay sonido! <span class="application">MPlayer</span> dice: </p><pre class="screen">Detected video codec: [null] drv:0 (NULL codec (no decoding))</pre><p> </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Si tiene una versión antigua de <tt class="filename">codecs.conf</tt> en <tt class="filename">~/.mplayer/</tt>, <tt class="filename">/etc/</tt>, <tt class="filename">/usr/local/etc/</tt> o similar, bórrela. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802592"></a><a name="id2802595"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Recibo valores de porcentaje muy extraños (demasiado grandes) mientras reproduzco archivos en mi portátil. </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Es debido al administrador de energia / sistema de ahorro de energia de su portatil (BIOS, no kernel). Enchufe el conector de energia exterior <span class="bold"><strong>antes</strong></span> de encender su portatil. También puede probar si si <a class="ulink" href="http://www.brodo.de/cpufreq/" target="_top">cpufreq</a> (un interfaz SpeedStep para Linux) le puede ser de ayuda. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802626"></a><a name="id2802628"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> El audio/video pierde la sincronización totalmente cuando ejecuto <span class="application">MPlayer</span> como root en mi portatil. Cuando lo ejecuto como usuario normal funciona correctamente. </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Se trata de otro efecto del administrador de energía (mire más arriba). Enchufe el conector de energía externa <span class="bold"><strong>antes</strong></span> de encender su portátil. o use la opción <tt class="option">-nortc</tt>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802662"></a><a name="id2802664"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Durante la reproducción de una película, de repente recibo el siguiente mensaje: </p><pre class="screen">Badly interleaved AVI file detected - switching to -ni mode...</pre><p> </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Archivos malamente interleaved y la opción <tt class="option">-cache</tt> no funcionan bien juntas. Pruebe <tt class="option">-nocache</tt>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802692"></a><a name="id2802695"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Cómo puedo reproducir archivos de audio MPEG Layer 2 (mp2)? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Debe usar <tt class="option">-rawaudio on:format=0x50</tt>. </p></td></tr><tr class="qandadiv"><td align="left" valign="top" colspan="2"><h3 class="title"><a name="faq-driver"></a>9.5. Problemas del manejador de video/audio (vo/ao)</h3></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>P: <a href="#id2802722"> No tengo sonido cuando reproduzco un video y me sale un error parecido a este: AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian) audio_setup: Can't open audio device /dev/dsp: Device or resource busy couldn't open/init audio device -> NOSOUND Audio: no sound!!! Start playing... </a></dt><dt>P: <a href="#id2802761"> ¿Que pasa con el controlador DGA? ¡No los puedo encontrar! </a></dt><dt>P: <a href="#id2802806"> Vale, -vo help encuentra un controlador DGA, pero se queja sobre sus permisos. ¡Ayúdenme! </a></dt><dt>P: <a href="#id2802881"> Cuando uso Xvideo, mi Voodoo 3/Banshee dice: X Error of failed request: BadAccess (attempt to access private resource denied) Major opcode of failed request: 147 (MIT-SHM) Minor opcode of failed request: 1 (X_ShmAttach) Serial number of failed request: 26 Current serial number in output stream:27 </a></dt><dt>P: <a href="#id2802928"> La salida de OpenGL (-vo gl no funciona (se cuelga/ventana negra/errores X11/...). </a></dt><dt>P: <a href="#id2802956"> Yo tengo una tarjeta TNT/TNT2 de nVidia, y tengo una banda con colores extraña, ¡justo debajo de la pelicula! ¿De quién es la culpa de esto? </a></dt><dt>P: <a href="#id2802982"> Tengo una tarjeta XYZ de nVidia, y cuando aprieto el raton en la ventanilla del GUI para mostrar el panel del GUI, un cuadrado negro aparece donde hice clic. Tengo el controldor más reciente. </a></dt><dt>P: <a href="#id2803012"> ¡Oh que cruel es el mundo ...! ¡SDL solo tiene x11 de destino, pero no xv! </a></dt></dl></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802722"></a><a name="id2802724"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> No tengo sonido cuando reproduzco un video y me sale un error parecido a este: </p><pre class="screen"> AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian) audio_setup: Can't open audio device /dev/dsp: Device or resource busy couldn't open/init audio device -> NOSOUND Audio: no sound!!! Start playing... </pre><p> </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> ¿Está usando KDE o GNOME con el demonio ARTS o ESD? Pruebe a no utilizar el demonio de sonido o use la opcion <tt class="option">-ao arts</tt> o <tt class="option">-ao esd</tt> para hacer que <span class="application">MPlayer</span> use ARTS o ESD. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802761"></a><a name="id2802763"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Que pasa con el controlador DGA? ¡No los puedo encontrar! </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> <tt class="filename">./configure</tt> autodetecta tu controlador DGA. Si <tt class="option">-vo help</tt> no detecta DGA, entonces hay un problema con la instalación de X. Pruebe <span class="command"><strong>./configure --enable-dga</strong></span> y lea la sección <a class="link" href="#dga" title="6.2.2. DGA">DGA</a>. Si no, pruebe el controlador DGA de SDL con la opción <tt class="option">-vo sdl:dga</tt>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802806"></a><a name="id2802808"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Vale, <tt class="option">-vo help</tt> encuentra un controlador DGA, pero se queja sobre sus permisos. ¡Ayúdenme! </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> ¡Solo funciona ejecutandolo siendo root! Es una limitacion de DGA. Necesita volverse root (<span class="command"><strong>su -</strong></span>), e intentalo otra vez. Otra solución es hacer <span class="application">MPlayer</span> SUID root, ¡pero no es recomendable! </p><pre class="screen"> chown root /usr/local/bin/mplayer chmod 755 /usr/local/bin/mplayer chmod +s /usr/local/bin/mplayer </pre><p> </p><div class="warning" title="Aviso" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Aviso</h3><p> ¡Esto un <span class="bold"><strong>gran</strong></span> riesgo de seguridad! <span class="bold"><strong>Nunca</strong></span> lo haga en un servidor o en un ordenador del que no tiene control completo porque otros usuarios pueden conseguir privilegios root por SUID root <span class="application">MPlayer</span>. <span class="bold"><strong>Ha sido advertido</strong></span>. </p></div><p> </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802881"></a><a name="id2802883"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Cuando uso Xvideo, mi Voodoo 3/Banshee dice: </p><pre class="screen"> X Error of failed request: BadAccess (attempt to access private resource denied) Major opcode of failed request: 147 (MIT-SHM) Minor opcode of failed request: 1 (X_ShmAttach) Serial number of failed request: 26 Current serial number in output stream:27 </pre><p> </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> El controlador <code class="systemitem">tdfx</code> en XFree86 4.0.2/4.0.3 tiene este error. Está arreglado en <a class="ulink" href="http://www.xfree86.org/cvs/changes_4_1.html" target="_top">bugfix #621 del CVS log XFree86 4.1.0 CVS</a>. Osea que actualice a XFree86 4.1.0 o posterior. Otras opciones son, descargar (por lo menos) DRI version 0.6 de la <a class="ulink" href="http://dri.sourceforge.net" target="_top">pagina DRI</a>, o usar CVS DRI. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802928"></a><a name="id2802930"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> La salida de OpenGL (<tt class="option">-vo gl</tt> no funciona (se cuelga/ventana negra/errores X11/...). </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Su controlador OpenGL no soporta cambios dinámicos de textura (glTexSubImage). No es conocido que funcione con la porqueria binaria de nVidia. Se sabe que funciona con Utah-GLX/DRI y tarjetas Matrox G400. También con DRI y tarjetas Radeon. No funcionará con DRI y otras tarjetas. Tampoco funcionará con tarjetas 3DFX porque tienen un tamaño de textura limitado a 256x256. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802956"></a><a name="id2802958"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Yo tengo una tarjeta TNT/TNT2 de nVidia, y tengo una banda con colores extraña, ¡justo debajo de la pelicula! ¿De quién es la culpa de esto? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Esto es un error del controlador X binario de nVidia. Estos errores ocuren SOLO con las tarjetas TNT/TNT2, y no podemos hacer nada sobre ello. Para resolver el problema, descargue la última versión del controlador binario de nVidia. Si todavia sigue mal, ¡quejese a nVidia! </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2802982"></a><a name="id2802984"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Tengo una tarjeta XYZ de nVidia, y cuando aprieto el raton en la ventanilla del GUI para mostrar el panel del GUI, un cuadrado negro aparece donde hice clic. Tengo el controldor más reciente. </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Si, nVidia corregió el error previo (arriba), e introdujo uno nuevo. Vamos a felicitarlos. ÚLTIMAS NOTICIAS: Según <a class="link" href="#nvidia" title="6.2.1.3. Tarjetas nVidia">nVidia</a>, esto ya esta resuelto. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803012"></a><a name="id2803015"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¡Oh que cruel es el mundo ...! ¡SDL solo tiene <code class="systemitem">x11</code> de destino, pero no <code class="systemitem">xv</code>! </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Pruebe <code class="systemitem">x11</code> otra vez. Ahora pruebe <tt class="option">-vo x11 -fs -zoom</tt>. ¿Ve la diferencia? No?! Vale, aquí viene la aclaración: La salida <code class="systemitem">x11</code> de SDL usa xv cuando lo puede conseguir, no se tiene que precupar de ello ... Nota: Con SDL puede forzar/desactivar Xv usando <tt class="option">-forcexv</tt> y <tt class="option">-noxv</tt> </p></td></tr><tr class="qandadiv"><td align="left" valign="top" colspan="2"><h3 class="title"><a name="faq-dvd"></a>9.6. Reproducción DVD</h3></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>P: <a href="#id2803075"> ¿Qué pasa con navegación DVD? </a></dt><dt>P: <a href="#id2803117"> Mientras reproduzco un DVD, he encontrado este error: mplayer: ifo_read.c:1143: ifoRead_C_ADT_internal: Assertion nfo_length / sizeof(cell_adr_t) >= c_adt->nr_of_vobs' failed. </a></dt><dt>P: <a href="#id2803152"> ¿Puedo compilar libdvdread y libdvdcss en me querido SPARC bajo Solaris? </a></dt><dt>P: <a href="#id2803186"> ¿Qué pasa con subtítulos? ¿Puede MPlayer reproducirlos? </a></dt><dt>P: <a href="#id2803213"> ¿Cómo puedo fijar el código de región en mi lector de DVD? ¡Yo no tengo Windows! </a></dt><dt>P: <a href="#id2803236"> ¿Necesito ser (setuid) root/setuid fibmap_mplayer para poder reproducir un DVD? </a></dt><dt>P: <a href="#id2803260"> ¿De donde puedo obtener los paquetes libdvdread y libdvdcss? </a></dt><dt>P: <a href="#id2803295"> ¿Es posible reproducir/codificar solo unos capítulos seleccionados? </a></dt><dt>P: <a href="#id2803314"> ¡Mi reproducción DVD es lenta! </a></dt></dl></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803075"></a><a name="id2803078"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Qué pasa con navegación DVD? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> El soporte para dvdnav en <span class="application">MPlayer</span> no funciona, aunque la reproducción normal sí funciona. Si quiere tener menús elaborados, tendrá que usar otro reproductor como <span class="application">xine</span> o <span class="application">Ogle</span>. Si le preocupa la navegacion DVD, mande un <a class="ulink" href="../../tech/patches.txt" target="_top">parche</a>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803117"></a><a name="id2803120"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Mientras reproduzco un DVD, he encontrado este error: </p><pre class="screen">mplayer: ifo_read.c:1143: ifoRead_C_ADT_internal: Assertion nfo_length / sizeof(cell_adr_t) >= c_adt->nr_of_vobs' failed.</pre><p> </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Esto es un error conocido de libdvdread 0.9.1/0.9.2. Use <span class="bold"><strong>libmpdvdkit2</strong></span>, que esta presente en la fuente de <span class="application">MPlayer</span>, y es usado por defecto. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803152"></a><a name="id2803154"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Puedo compilar libdvdread y libdvdcss en me querido SPARC bajo Solaris? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Quién sabe ... Se ha oido que sí funciona, osea que por favor pruébelo y denos información. Véase la documentacién de libdvdread y su página web también. Nosotros no somos los autores de libdvdread. Use <span class="bold"><strong>libmpdvdkit2</strong></span>, que esta presente en la fuente de <span class="application">MPlayer</span>, y es usado por defecto. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803186"></a><a name="id2803189"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Qué pasa con subtítulos? ¿Puede <span class="application">MPlayer</span> reproducirlos? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Sí. Mire la <a class="link" href="#dvd" title="4.2. Reproducción de DVD">sección DVD</a>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803213"></a><a name="id2803216"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Cómo puedo fijar el código de región en mi lector de DVD? ¡Yo no tengo Windows! </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Use la <a class="ulink" href="http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz" target="_top">heramienta de fijar región</a>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803236"></a><a name="id2803238"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Necesito ser (setuid) root/setuid fibmap_mplayer para poder reproducir un DVD? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> No. Sin embargo debe tener los permisos adecuados en el archivo del DVD en (en <tt class="filename">/dev/</tt>). </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803260"></a><a name="id2803262"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿De donde puedo obtener los paquetes libdvdread y libdvdcss? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> No necesita obtenerlos. Use <span class="bold"><strong>libmpdvdkit2</strong></span>, que está presente en la fuente de <span class="application">MPlayer</span>, y es usado por defecto. Puede obtener los paquetes mencionados de la <a class="ulink" href="http://www.dtek.chalmers.se/groups/dvd/" target="_top">página de Ogle</a>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803295"></a><a name="id2803298"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Es posible reproducir/codificar solo unos capítulos seleccionados? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Si, pruebe la opción <tt class="option">-chapter</tt>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803314"></a><a name="id2803316"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¡Mi reproducción DVD es lenta! </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Use la opción <tt class="option">-cache</tt> (definido en la pagina man) y pruebe a activar DMA para el aparato DVD con la heramienta <span class="command"><strong>hdparm</strong></span> (definido en el <a class="link" href="#drives" title="4.1. Unidades de CD/DVD">capitulo CD</a>). </p></td></tr><tr class="qandadiv"><td align="left" valign="top" colspan="2"><h3 class="title"><a name="faq-features"></a>9.7. Solicitando prestaciones</h3></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>P: <a href="#id2803357"> Si MPlayer esta pausado e intento buscar o apretar cualquier tecla, MPlayer abandona el estado de pausa. Me gustaría poder buscar mientras está la película pausada. </a></dt><dt>P: <a href="#id2803390"> Me gustaría poder buscar +/- 1 cuadros en lugar de 10 segundos. </a></dt><dt>P: <a href="#id2803410"> ¿Como puedo hacer que MPlayer recuerde la opción que usé para un archivo en particular? </a></dt></dl></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803357"></a><a name="id2803359"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Si <span class="application">MPlayer</span> esta pausado e intento buscar o apretar cualquier tecla, <span class="application">MPlayer</span> abandona el estado de pausa. Me gustaría poder buscar mientras está la película pausada. </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Esto es muy dificil de implementar sin perder sincronizacion A/V. Todos los intentos han fallado, pero se agradece cualquier colaboración en forma de parche. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803390"></a><a name="id2803393"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Me gustaría poder buscar +/- 1 cuadros en lugar de 10 segundos. </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Esto no se hará nunca. Sí estaba, pero luego estropeó la sincronización A/V. Siéntase libre de implemetarlo, y mande un parche. No pregunte por ello. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803410"></a><a name="id2803412"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Como puedo hacer que <span class="application">MPlayer</span> recuerde la opción que usé para un archivo en particular? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Cree un archivo llamado <tt class="filename">movie.avi.conf</tt> con las opciones archivo-específico en el, y póngalo en <tt class="filename">~/.mplayer</tt> o en el mismo lugar que el archivo. </p></td></tr><tr class="qandadiv"><td align="left" valign="top" colspan="2"><h3 class="title"><a name="faq-encoding"></a>9.8. Codificando</h3></td></tr><tr class="toc"><td align="left" valign="top" colspan="2"><dl><dt>P: <a href="#id2803458"> ¿Como puedo codificar? </a></dt><dt>P: <a href="#id2803481"> ¿Como puedo crear un VCD? </a></dt><dt>P: <a href="#id2803512"> ¿Como puedo juntar dos archivos? </a></dt><dt>P: <a href="#id2803578"> Mi sintonizador funciona, puedo oir el sonido y ver la película con MPlayer, ¡pero MEncoder no codifica el audio! </a></dt><dt>P: <a href="#id2803609"> ¡No puedo codificar subtítulos del DVD en el AVI! </a></dt><dt>P: <a href="#id2803628"> ¡Al empezar MEncoder produce un fallo de segmentación! </a></dt><dt>P: <a href="#id2803649"> ¿Cómo puedo codificar solo capítulos seleccionados de un DVD? </a></dt><dt>P: <a href="#id2803672"> Estoy intentando trabajar con archivos de 2GB+ en un sistema de archivos VFAT. ¿Funciona? </a></dt><dt>P: <a href="#id2803687"> ¿Por qué la tasa de bits que recomienda MEncoder es negativa? </a></dt><dt>P: <a href="#id2803710"> ¿No puedo codificar archivos ASF a AVI/DivX porque usa 1000 fps? </a></dt><dt>P: <a href="#id2803729"> ¿Como puedo poner subtítulos en el archivo de salida? </a></dt></dl></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803458"></a><a name="id2803460"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Como puedo codificar? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Lea la sección <a class="link" href="#mencoder" title="Capítulo 8. Codificando con MEncoder"><span class="application">MEncoder</span></a>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803481"></a><a name="id2803483"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Como puedo crear un VCD? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Pruebe el script <tt class="filename">mencvcd.sh</tt> del subdirectorio <tt class="filename">TOOLS</tt>. Con él puede codificar DVDs u otras peliculas al formato VCD o SVCD e incluso grabarlo directamente a CD. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803512"></a><a name="id2803514"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Como puedo juntar dos archivos? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Esta ha sido discutido constantemente en mplayer-users. Busque en los <a class="ulink" href="http://mplayerhq.hu/cgi-bin/s-arch.cgi?sbm=mplayer-users" target="_top">archivos</a> para una respuesta completa. Se trata de un asunto complicado y sus resultados variarán dependiendo mucho en qué tipo de archivos quiere juntar. MPEGs pueden ser unidos a un solo archivo con suerte. Para AVIs hay dos aplicaciones, <a class="ulink" href="http://fixounet.free.fr/avidemux/" target="_top">avidemux</a> y <span class="application">avimerge</span> (parte del conjunto de herramientas <a class="ulink" href="http://www.theorie.physik.uni-goettingen.de/~ostreich/transcode/" target="_top">transcode</a>), disponibles que pueden hacer el trabajo. También puede probar <span class="application">MEncoder</span> si tiene dos archivos compartiendo las mismas dimensiones y codec. Pruebe </p><pre class="screen"> cat archivo1 archivo2 > archivo3 mencoder -ovc copy -oac copy -o salida.avi -forceidx archivo3.avi </pre><p> </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803578"></a><a name="id2803580"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Mi sintonizador funciona, puedo oir el sonido y ver la película con <span class="application">MPlayer</span>, ¡pero <span class="application">MEncoder</span> no codifica el audio! </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> La codificación de audio de TV para Linux no está implementada de momento, estamos trabajando en ello. Por el momento solo funciona en BSD. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803609"></a><a name="id2803611"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¡No puedo codificar subtítulos del DVD en el AVI! </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> ¡Tiene que especificar la opción <tt class="option">-sid</tt> correctamente! </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803628"></a><a name="id2803630"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¡Al empezar <span class="application">MEncoder</span> produce un fallo de segmentación! </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Descargue la última version de DivX4Linux. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803649"></a><a name="id2803651"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Cómo puedo codificar solo capítulos seleccionados de un DVD? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Use la opción <tt class="option">-chapter</tt> correctamente, por ejemplo: <tt class="option">-chapter 5-7</tt> </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803672"></a><a name="id2803674"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> Estoy intentando trabajar con archivos de 2GB+ en un sistema de archivos VFAT. ¿Funciona? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> No, VFAT no soporta archivos 2GB+. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803687"></a><a name="id2803689"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Por qué la tasa de bits que recomienda <span class="application">MEncoder</span> es negativa? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Porque la tasa de bits en la que codificaste el audio es demasiado grande para caber la pelicula en un CD. Mire a ver si tienes libmp3lame instalado correctamente. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803710"></a><a name="id2803712"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿No puedo codificar archivos ASF a AVI/DivX porque usa 1000 fps? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> ASF usa una tasa de cuadros variable pero AVI usa una fija, debe fijarlo a mano usando <tt class="option">-ofps</tt>. </p></td></tr><tr class="question" title="P:"><td align="left" valign="top"><a name="id2803729"></a><a name="id2803731"></a><p><b>P:</b></p></td><td align="left" valign="top"><p> ¿Como puedo poner subtítulos en el archivo de salida? </p></td></tr><tr class="answer"><td align="left" valign="top"><p><b>R:</b></p></td><td align="left" valign="top"><p> Simplemente pase la opción <tt class="option">-sub <filename></tt> (o <tt class="option">-sid</tt>, <tt class="option">-vobsub</tt>, respectivamente) a <span class="application">MEncoder</span>. </p></td></tr></tbody></table></div></div><div class="appendix" title="Apéndice A. Cómo reportar errores"><div class="titlepage"><div><div><h2 class="title"><a name="bugreports"></a>Apéndice A. Cómo reportar errores</h2></div></div></div><div class="toc"><dl><dt><span class="sect1"><a href="#bugreports_fix">A.1. Cómo corregir fallos</a></span></dt><dt><span class="sect1"><a href="#bugreports_report">A.2. Cómo informar de errores</a></span></dt><dt><span class="sect1"><a href="#bugreports_where">A.3. Dónde informar de los errores</a></span></dt><dt><span class="sect1"><a href="#bugreports_what">A.4. De qué informar</a></span></dt><dd><dl><dt><span class="sect2"><a href="#bugreports_system">A.4.1. Información del Sistema</a></span></dt><dt><span class="sect2"><a href="#bugreports_hardware">A.4.2. Hardware y controladores</a></span></dt><dt><span class="sect2"><a href="#bugreports_configure">A.4.3. Problemas de configuración</a></span></dt><dt><span class="sect2"><a href="#bugreports_conpilation">A.4.4. Problemas de compilación</a></span></dt><dt><span class="sect2"><a href="#bugreports_playback">A.4.5. Problemas de reproducción</a></span></dt><dt><span class="sect2"><a href="#bugreports_crash">A.4.6. Cuelgues</a></span></dt><dd><dl><dt><span class="sect3"><a href="#bugreports_debug">A.4.6.1. Cómo conservar información acerca de un error reproducible</a></span></dt><dt><span class="sect3"><a href="#bugreports_core">A.4.6.2. Cómo extraer información significativa desde un volcado core</a></span></dt></dl></dd></dl></dd><dt><span class="sect1"><a href="#bugreports_advusers">A.5. Yo sé lo que estoy haciendo...</a></span></dt></dl></div><p> Informes de errores buenos son una contribución muy valiosa para el desarrollo de cualquier proyecto de software. Pero solo por escribir buen software, buenos informes de problemas involucran algún trabajo. Por favor tenga en cuenta que la mayoría de los desarrolladores están extremadamente ocupados y reciben cantidades inmensas de correo. La realimentación es crucial para mejorar <span class="application">MPlayer</span> y es muy apreciada, por favor entienda todo lo que tiene que hacer para proveer <span class="bold"><strong>toda</strong></span> la información que le pedimos y siga las instrucciones de este documento al pie de la letra. </p><div class="sect1" title="A.1. Cómo corregir fallos"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="bugreports_fix"></a>A.1. Cómo corregir fallos</h2></div></div></div><p> Si tiene los conocimientos necesarios está invitado a corregir los fallos usted mismo. ¿O quizá ya lo ha hecho? Por favor lea <a class="ulink" href="../../tech/patches.txt" target="_top">este pequeño documento</a> para ver cómo obtener el código incluido en <span class="application">MPlayer</span>. La gente de la lista de correo <a class="ulink" href="http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng" target="_top">mplayer-dev-eng</a> le ayudará si aún le quedan dudas. </p></div><div class="sect1" title="A.2. Cómo informar de errores"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="bugreports_report"></a>A.2. Cómo informar de errores</h2></div></div></div><p> Lo primero de todo pruebe la última versión CVS de <span class="application">MPlayer</span> por si el fallo ya está arreglado allí. El desarrollo se mueve extremadamente rápido, la mayoría de los problemas en las liberaciones oficiales son reportados en pocos dias e incluso en horas, use por favor <span class="bold"><strong>solo CVS</strong></span> para informar de fallos. Esto incluye los paquetes binarios de <span class="application">MPlayer</span>. Instrucciones para el CVS pueden encontrarse al final de <a class="ulink" href="http://www.mplayerhq.hu/dload.html" target="_top">esta página</a> o en el README. Si esto no le ayuda diríjase al resto de la documentación. Si su problema no es conocido o no se puede solucionar siguiendo nuestras instrucciones, entonces informe por favor del error. </p><p> Por favor, no envíe informes de errores de manera privada a desarrolladores individuales. Esto es trabajo en común y puede haber más gente interesada en él. Algunas veces otros usuarios han experimentado los mismos problemas y saben como solucionar el problema incluso aun siendo un error en el código de <span class="application">MPlayer</span>. </p><p> Por favor, describa su problema con tanto detalle como sea posible. Haga un pequeño trabajo de detective para arrinconar las circunstancias bajo las que el problema ocurre. ¿El error solo ocurre en determinadas situaciones? ¿Es específico de cierto tipo de archivos o con archivos concretos? ¿Ocurre con un codec específico o es independiente del codec? ¿Puede reproducirse con todos los controladores de salida? Cuanta más información nos proporcione mejor podremos actuar para arreglar su problema. Por favor, no olvide también incluir la información valiosa que se indica más abajo, en caso contrario será más dificil diagnosticar el problema correctamente. </p><p> Una guía excelente y bien escrita para hacer preguntas en foros públicos es <a class="ulink" href="http://www.sindominio.net/ayuda/preguntas-inteligentes.html" target="_top"> Cómo hacer preguntas inteligentes</a> por <a class="ulink" href="http://www.catb.org/~esr/" target="_top">Eric S. Raymond</a>. Hay otra llamada <a class="ulink" href="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html" target="_top">Cómo informar de errores de manera efectiva</a> por <a class="ulink" href="http://www.chiark.greenend.org.uk/~sgtatham/" target="_top">Simon Tatham</a>. Si sigue los pasos de estas guías deberás ser capaz de obtener ayuda. Pero por favor entienda que la lista de correo la siguen voluntarios en su tiempo libre. Estamos muy ocupados y no podemos garantizar que tengamos una solución para su problema o ni tan siquiera una respuesta. </p></div><div class="sect1" title="A.3. Dónde informar de los errores"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="bugreports_where"></a>A.3. Dónde informar de los errores</h2></div></div></div><p> Suscríbase a la lista de correo mplayer-users: <a class="ulink" href="http://mplayerhq.hu/mailman/listinfo/mplayer-users" target="_top">http://mplayerhq.hu/mailman/listinfo/mplayer-users</a> y envíe su informe de error a: <a class="ulink" href="mailto:mplayer-users@mplayerhq.hu" target="_top">mailto:mplayer-users@mplayerhq.hu</a> </p><p> El idioma de esta lista es <span class="bold"><strong>Inglés</strong></span>. Por favor siga las <a class="ulink" href="http://www.ietf.org/rfc/rfc1855.txt" target="_top">Netiquette Guidelines</a> estandar y <span class="bold"><strong>no envíe correo en HTML</strong></span> a ninguna de nuestras listas de correo. Si lo hace puede ser ignorado o expulsado. Si no sabe qué es el correo HTML o por qué es el demonio, lea este <a class="ulink" href="http://efn.no/html-bad.html" target="_top">buen documento</a>. Explica todos los detalles y las instrucciones para desactivar el correo HTML. Note también que no debe hacer CC (carbon-copy) a personas individuales no es buena idea si quiere recibir una respuesta. </p></div><div class="sect1" title="A.4. De qué informar"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="bugreports_what"></a>A.4. De qué informar</h2></div></div></div><p> Necesita incluir un historial, archivos de configuración o muestras en su informe de error. Si alguno de estos es muy grande entonces es mejor subirlos a nuestro <a class="ulink" href="ftp://upload.mplayerhq.hu/MPlayer/incoming/" target="_top">servidor FTP</a> en un formato comprimido (gzip y bzip2 preferentemente) e incluir solo la ruta al nombre del archivo en su informe de error. Nuestras listas de correo tienen un límite en el tamaño del mensaje de 80k, si tiene algo más grande entonces deberá comprimirlo y subirlo. </p><div class="sect2" title="A.4.1. Información del Sistema"><div class="titlepage"><div><div><h3 class="title"><a name="bugreports_system"></a>A.4.1. Información del Sistema</h3></div></div></div><p> </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Si distribución de Linux o sistema operativo y versión p.e.: </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>Red Hat 7.1</p></li><li class="listitem"><p>Slackware 7.0 + devel packs from 7.1 ...</p></li></ul></div><p> </p></li><li class="listitem"><p> versión del kernel: </p><pre class="screen">uname -a</pre><p> </p></li><li class="listitem"><p> versión de libc: </p><pre class="screen">ls -l /lib/libc[.-]*</pre><p> </p></li><li class="listitem"><p> versiones de gcc y ld: </p><pre class="screen"> gcc -v ld -v </pre><p> </p></li><li class="listitem"><p> versión de binutils: </p><pre class="screen"> as --version </pre><p> </p></li><li class="listitem"><p> Si tiene problemas con el modo de pantalla completa: </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>Administrador de ventanas, tipo y versión</p></li></ul></div><p> </p></li><li class="listitem"><p> Si tiene problemas con XVIDIX: </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>Profundidad de color de las X: </p><pre class="screen">xdpyinfo | grep "depth of root"</pre><p> </p></li></ul></div><p> </p></li><li class="listitem"><p> Si solo el GUI está fallando: </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>versión de GTK</p></li><li class="listitem"><p>versión de GLIB</p></li><li class="listitem"><p>versión de libpng</p></li><li class="listitem"><p>situación del GUI cuando ocurre el error</p></li></ul></div><p> </p></li></ul></div><p> </p></div><div class="sect2" title="A.4.2. Hardware y controladores"><div class="titlepage"><div><div><h3 class="title"><a name="bugreports_hardware"></a>A.4.2. Hardware y controladores</h3></div></div></div><p> </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> Información de la CPU (esto funciona solo en Linux): </p><pre class="screen">cat /proc/cpuinfo</pre><p> </p></li><li class="listitem"><p> Fabricante de la tarjeta gráfica y modelo, p.e.: </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM</p></li><li class="listitem"><p>Matrox G400 DH 32MB SGRAM</p></li></ul></div><p> </p></li><li class="listitem"><p> Tipo y versión del controlador de video, p.e.: </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>X built-in driver</p></li><li class="listitem"><p>nVidia 0.9.623</p></li><li class="listitem"><p>Utah-GLX CVS 2001-02-17</p></li><li class="listitem"><p>DRI from X 4.0.3</p></li></ul></div><p> </p></li><li class="listitem"><p> Tipo y controlador de la tarjeta de sonido, p.e.: </p><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>Creative SBLive! Gold con controlador OSS de oss.creative.com</p></li><li class="listitem"><p>Creative SB16 con controlador del kernel OSS</p></li><li class="listitem"><p>GUS PnP con emulación ALSA OSS</p></li></ul></div><p> </p></li><li class="listitem"><p> En caso de duda incluya la salida de <span class="command"><strong>lspci -vv</strong></span> en sistemas Linux. </p></li></ul></div><p> </p></div><div class="sect2" title="A.4.3. Problemas de configuración"><div class="titlepage"><div><div><h3 class="title"><a name="bugreports_configure"></a>A.4.3. Problemas de configuración</h3></div></div></div><p> Si obtiene errores cuando ejecuta <span class="command"><strong>./configure</strong></span>, o la autodetección o algo falla, lea <tt class="filename">configure.log</tt>. Puede encontrar la respuesta ahí, por ejemplo múltiples versiones de la misma biblioteca mezcladas en su sistema, o ha olvidado instalar los paquetes de desarrollo (los que tienen el sufijo -dev). Si cree que puede ser un error, incluya <tt class="filename">configure.log</tt> en su informe. </p></div><div class="sect2" title="A.4.4. Problemas de compilación"><div class="titlepage"><div><div><h3 class="title"><a name="bugreports_conpilation"></a>A.4.4. Problemas de compilación</h3></div></div></div><p> Por favor incluya los siguientes archivos: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>config.h</p></li><li class="listitem"><p>config.mak</p></li></ul></div><p> Solo si falla la compilación bajo uno de los siguientes directorios, incluya estos archivos: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Gui/config.mak</p></li><li class="listitem"><p>libvo/config.mak</p></li><li class="listitem"><p>libao2/config.mak</p></li></ul></div><p> </p></div><div class="sect2" title="A.4.5. Problemas de reproducción"><div class="titlepage"><div><div><h3 class="title"><a name="bugreports_playback"></a>A.4.5. Problemas de reproducción</h3></div></div></div><p> Por favor incluya la salida de <span class="application">MPlayer</span> con nivel de prolijo 1, pero recuerde <span class="bold"><strong>no truncar la salida</strong></span> cuando pegue esto en su correo. Los desarrolladores necesitan todos los mensajes para diagnosticar correctamente el problema. Puede dirigir la salida a un archivo así: </p><pre class="screen">mplayer -v <em class="replaceable"><code>opciones</code></em> <em class="replaceable"><code>nombre-archivo</code></em> > mplayer.log 2>&1</pre><p> </p><p> Si su problema es específico con uno o más archivos, suba las víctimas a: <a class="ulink" href="ftp://mplayerhq.hu/MPlayer/incoming/" target="_top">ftp://mplayerhq.hu/MPlayer/incoming/</a> </p><p> Suba también un pequeño archivo de texto que tenga la misma base en el nombre de su archivo con una extensión .txt. Describa el problema que tiene con el archivo en particular e incluya su dirección de correo electrónico así como la salida de <span class="application">MPlayer</span> con nivel de prolijo 1. Usualmente los primeros 1-5 MB del archivo son suficientes para reproducir el problema, pero para asegurarse haga: </p><pre class="screen">dd if=<em class="replaceable"><code>su-archivo</code></em> of=<em class="replaceable"><code>archivo-pequeño</code></em> bs=1024k count=5</pre><p> Esto coje los primeros cinco megabytes de '<span class="bold"><strong>su-archivo</strong></span>' y los escribe a '<span class="bold"><strong>archivo-pequeño</strong></span>. Entonces pruebe de nuevo con este archivo pequeño y si el error sigue apareciendo su muestra será suficiente para nosotros. Por favor, ¡<span class="bold"><strong>nunca</strong></span> envíe estos archivos por correo! Súbalos, y envío solo la ruta/nombre del archivo en nuestro servidor FTP. Si el archivo está disponible en la red, entonces enviar la URL <span class="bold"><strong>exacta</strong></span> es suficiente. </p></div><div class="sect2" title="A.4.6. Cuelgues"><div class="titlepage"><div><div><h3 class="title"><a name="bugreports_crash"></a>A.4.6. Cuelgues</h3></div></div></div><p> Debería ejecutar <span class="application">MPlayer</span> dentro de <span class="command"><strong>gdb</strong></span> y enviarnos la salida completa o si tiene un volcado <tt class="filename">core</tt> de cuelgue puede extraer información útil desde el archivo Core. Aquí tiene cómo: </p><div class="sect3" title="A.4.6.1. Cómo conservar información acerca de un error reproducible"><div class="titlepage"><div><div><h4 class="title"><a name="bugreports_debug"></a>A.4.6.1. Cómo conservar información acerca de un error reproducible</h4></div></div></div><p> Recompile <span class="application">MPlayer</span> con debug de código activado: </p><pre class="screen"> ./configure --enable-debug=3 make </pre><p> y luego ejecute <span class="application">MPlayer</span> dentro de gdb usando: </p><pre class="screen">gdb ./mplayer</pre><p> Ahora ya está dentro de gdb. Escriba: </p><pre class="screen">run -v <em class="replaceable"><code>opciones-para-mplayer</code></em> <em class="replaceable"><code>nombre-archivo</code></em></pre><p> y reproduzca el error. Tan pronto como muera, gdb le devuelve a la línea de órdenes donde entró </p><pre class="screen"> bt disass $pc-32 $pc+32 info all-registers </pre><p> </p></div><div class="sect3" title="A.4.6.2. Cómo extraer información significativa desde un volcado core"><div class="titlepage"><div><div><h4 class="title"><a name="bugreports_core"></a>A.4.6.2. Cómo extraer información significativa desde un volcado core</h4></div></div></div><p> Cree el siguiente archivo de órdenes: </p><pre class="screen"> bt disass $pc-32 $pc+32 info all-registers </pre><p> y después ejecute ésta orden: </p><pre class="screen">gdb mplayer --core=core -batch --command=<em class="replaceable"><code>command_file</code></em> > mplayer.bug</pre><p> </p></div></div></div><div class="sect1" title="A.5. Yo sé lo que estoy haciendo..."><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="bugreports_advusers"></a>A.5. Yo sé lo que estoy haciendo...</h2></div></div></div><p> Si ha creado un informe de error correcto siguiendo los pasos anteriores y sabe que es un error en <span class="application">MPlayer</span>, no un problema del compilador o un archivo en mal estado, ha leido ya la documentación y no puede encontrar una solución, sus controladores de sonido están en buen estado, entonces puede que quiera suscribirse a la lista de correo mplayer-advusers y enviar su informe de error ahí para obtener una respuesta más rápida y mejor. </p><p> Por favor tenga en cuenta que si plantea preguntas de novato o preguntas que ya han sido respondidas en el manual, entonces será ignorado o amenazado en lugar de obtener la respuesta apropiada. No nos amenaze a nosotros y suscríbase a -advusers solo si realmente sabe lo que está haciendo y se siente un usuario avanzado de <span class="application">MPlayer</span> o un desarrollador. Si usted tiene este criterio no debería serle dificil encontrar cómo suscribirse a esta lista... </p></div></div><div class="appendix" title="Apéndice B. Formato del skin de MPlayer"><div class="titlepage"><div><div><h2 class="title"><a name="skin"></a>Apéndice B. Formato del skin de <span class="application">MPlayer</span></h2></div></div></div><div class="toc"><dl><dt><span class="sect1"><a href="#skin-overview">B.1. Visión general</a></span></dt><dd><dl><dt><span class="sect2"><a href="#skin-overview-directories">B.1.1. Directorios</a></span></dt><dt><span class="sect2"><a href="#skin-overview-formats">B.1.2. Formato de las imágenes</a></span></dt><dt><span class="sect2"><a href="#skin-overview-components">B.1.3. Componentes del skin</a></span></dt><dt><span class="sect2"><a href="#skin-files">B.1.4. Archivos</a></span></dt></dl></dd><dt><span class="sect1"><a href="#skin-file">B.2. El archivo de skin</a></span></dt><dd><dl><dt><span class="sect2"><a href="#skin-file-main">B.2.1. Ventana principal y barra de reproducción</a></span></dt><dt><span class="sect2"><a href="#skin-file-subwindow">B.2.2. Subventana</a></span></dt><dt><span class="sect2"><a href="#skin-file-menu">B.2.3. Menú del skin</a></span></dt></dl></dd><dt><span class="sect1"><a href="#skin-fonts">B.3. Tipografías</a></span></dt><dd><dl><dt><span class="sect2"><a href="#skin-fonts-symbols">B.3.1. Símbolos</a></span></dt></dl></dd><dt><span class="sect1"><a href="#skin-gui">B.4. Mensajes GUI</a></span></dt></dl></div><p> El propósito de este documento es describir el formato de los skin de <span class="application">MPlayer</span>. La información contenida aquí puede ser errónea, porque </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>No soy yo quien ha escrito el GUI.</p></li><li class="listitem"><p>El GUI no está terminado.</p></li><li class="listitem"><p>Puedo equivocarme.</p></li></ol></div><p> No se sorprenda si algo no funciona como se describe aquí. </p><p>Gracias a <span class="emphasis"><em>Zoltán Ponekker</em></span> por su ayuda.</p><p><span class="emphasis"><em>András Mohari <mayday@freemail.hu></em></span></p><div class="sect1" title="B.1. Visión general"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="skin-overview"></a>B.1. Visión general</h2></div></div></div><p> Realmente no hay nada que hacer con el formato del skin, pero debe saber que MPlaner <span class="bold"><strong>no</strong></span> tiene un skin integrado, por eso <span class="bold"><strong>al menos un skin debe estar instalado para poder usar el GUI.</strong></span> </p><div class="sect2" title="B.1.1. Directorios"><div class="titlepage"><div><div><h3 class="title"><a name="skin-overview-directories"></a>B.1.1. Directorios</h3></div></div></div><p> Los directorios donde se buscan los skins son (en orden): </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p> <tt class="filename">$(DATADIR)/skins/</tt> </p></li><li class="listitem"><p> <tt class="filename">$(PREFIX)/share/mplayer/skins/</tt> </p></li><li class="listitem"><p> <tt class="filename">~/.mplayer/skins/</tt> </p></li></ol></div><p> </p><p> Tenga en cuenta que la primera ruta puede variar de acuerdo a cómo fue configurado <span class="application">MPlayer</span> (vea los argumentos <tt class="option">--prefix</tt> y <tt class="option">--datadir</tt> del script <span class="command"><strong>configure</strong></span>). </p><p> Todo skin es instalado en su propio directorio bajo uno de los directorios listados más arriba, por ejemplo: </p><pre class="screen">$(PREFIX)/share/mplayer/skins/default/</pre><p> </p></div><div class="sect2" title="B.1.2. Formato de las imágenes"><div class="titlepage"><div><div><h3 class="title"><a name="skin-overview-formats"></a>B.1.2. Formato de las imágenes</h3></div></div></div><p>Las imágenes deben ser PNGs a color verdadero (24 or 32 bpp).</p><p> En la ventana principal y en la barra de reproducción (ver más abajo) puede usar imágenes con `transparencia': Regiones rellenas con color #FF00FF (magenta) son completamente transparentes cuando se ven con <span class="application">MPlayer</span>. Esto significa que puede incluso tener ventanas con formas si su servidor X tiene la extensión XShape. </p></div><div class="sect2" title="B.1.3. Componentes del skin"><div class="titlepage"><div><div><h3 class="title"><a name="skin-overview-components"></a>B.1.3. Componentes del skin</h3></div></div></div><p> Los skins son formatos bastante libres (no como otros skins de formato fijo de <span class="application">Winamp</span>/<span class="application">XMMS</span>, por ejemplo), de manera que pueda crear algo grande. </p><p> Actualmente hay tres ventanas que decorar: la <a class="link" href="#skin-file-main" title="B.2.1. Ventana principal y barra de reproducción">ventana principal</a>, la <a class="link" href="#skin-file-subwindow" title="B.2.2. Subventana">subventana</a>, la <a class="link" href="#skin-file-main" title="B.2.1. Ventana principal y barra de reproducción">barra de reproducción</a>, y el <a class="link" href="#skin-file-menu" title="B.2.3. Menú del skin">skin del menú</a> (que puede activarse con clic derecho). </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> La <span class="bold"><strong>ventana principal</strong></span> y/o la <span class="bold"><strong>barra de reproducción</strong></span> es donde puede controlar <span class="application">MPlayer</span>. El fondo de la ventana es una imagen. Varios objetos pueden (y deben) ser colocados en la ventana: <span class="emphasis"><em>botones</em></span>, <span class="emphasis"><em>medidores</em></span> (desplazables) y <span class="emphasis"><em>etiquetas</em></span>. Para cada objeto, debe especificar su posición y tamaño. </p><p> Un <span class="bold"><strong>botón</strong></span> tiene tres estados (pulsado, soltado, desactivado), por eso la imagen debe estar dividida en tres partes verticalmente. Vea el objeto <a class="link" href="#skin-button">botón</a> para detalles. </p><p> Un <span class="bold"><strong>medidor</strong></span> (usado principalmente para la barra de búsqueda y el control de volumen/balance) puede tener cualquier número de fases dividiendo su imagen en diferentes partes unas debajo de otras. Vea <a class="link" href="#skin-hpotmeter">hpotmeter</a> y <a class="link" href="#skin-potmeter">potmeter</a> para detalles. </p><p> <span class="bold"><strong>Etiquetas</strong></span> son un poco especiales: Los caractere necesarios para pintarlas se toman de un archivo de imagen, y los caracteres en la imagen son descritos por un <a class="link" href="#skin-fonts" title="B.3. Tipografías">archivo de descriptión de tipografía</a>. Lo último es un archivo de texto plano que especifica la posición x,y y el tamaño de cada carater en la imagen (el archivo de imagen y su archivo de descripción de tipografía forman <span class="emphasis"><em>juntos</em></span> un tipo de letra). Vea <a class="link" href="#skin-dlabel">dlabel</a> y <a class="link" href="#skin-slabel">slabel</a> para detalles. </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p>Todas las imágenes pueden tener transparencia completa como se describe en la sección que habla de <a class="link" href="#skin-overview-formats" title="B.1.2. Formato de las imágenes">formatos de imagen</a>. Si el servidor X no soporta la extensión XShape, las partes marcadas como transparentes se verán negras. Si le gusta usar esta característica, el ancho del fondo de la imagen de la ventana principal debe ser divisible por 8. </p></div></li><li class="listitem"><p> La <span class="bold"><strong>subventana</strong></span> es donde aparece la película. Puede mostrar una imagen específica si no hay película cargada (es bastante aburrido tener una ventana vacía :-)) <span class="bold"><strong>Nota:</strong></span> la transparencia <span class="bold"><strong>no está permitida</strong></span> aquí. </p></li><li class="listitem"><p> El <span class="bold"><strong>skin del menú</strong></span> es una forma de controlar <span class="application">MPlayer</span> con entradas de menú. Dos imágenes son requeridas para el menú: una es la imagen base que muestra el menú en su estado normal, la otra es usada para mostrar las entradas seleccionadas. Cuando hace salir el menú, la entrada seleccionada actualmente es copiada desde la segunda imagen sobre la entrada de menú que hay bajo el puntero del ratón (la segunda imagen nunca se muestra entera). </p><p> Una entrada de menú se define por su posición y tamaño en la imagen (vea la sección que habla del <a class="link" href="#skin-file-menu" title="B.2.3. Menú del skin">skin del menú</a> para detalles). </p></li></ul></div><p> </p><p> Hay algo importante que aún no he mencionado: Para que los botones, medidores deposición y entradas de menú funcionen, <span class="application">MPlayer</span> tiene que saber qué hacer cuando se hace clic en ellos. Esto se hace con <a class="link" href="#skin-gui" title="B.4. Mensajes GUI">mensajes</a> (eventos). Para estos objetos debe definir los mensajes que se generan cuando se hace clic en ellos. </p></div><div class="sect2" title="B.1.4. Archivos"><div class="titlepage"><div><div><h3 class="title"><a name="skin-files"></a>B.1.4. Archivos</h3></div></div></div><p> Necesita los siguientes archivos para construir un skin: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> El archivo de configuración llamado <a class="link" href="#skin-file" title="B.2. El archivo de skin">skin</a> le dice a <span class="application">MPlayer</span> cómo poner las diferentes partes del skin juntas y qué debe hacer cuando se hace clic en alguna parte de la ventana. </p></li><li class="listitem"><p> La imagen de fondo para la ventana principal </p></li><li class="listitem"><p> Imágenes para los objetos en la ventana principal (incluyendo uno o más archivos de descripción de tipografía necesarios para dibujar las etiquetas). </p></li><li class="listitem"><p> La imagen que se mostrará en la subventana (opcional). </p></li><li class="listitem"><p> Dos imágenes para el skin del menú (son necesarias solo si quiere crear un menú). </p></li></ul></div><p> Con la excepción del archivo de configuración del skin, puede nombrar los otros archivos como quiera (pero note que los archivos de descripción de tipografía deben tener extensión <tt class="filename">.fnt</tt>). </p></div></div><div class="sect1" title="B.2. El archivo de skin"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="skin-file"></a>B.2. El archivo de skin</h2></div></div></div><p> Como se menciona más arriba, este es el archivo de configuración del skin. Su orientación en lineal; las líneas que son comentarios comienzan por un caracter '<code class="literal">;</code>' al principio de la línea (solo espacios y tabuladores están permitidos antes del '<code class="literal">;</code>'). </p><p> El archivo está dividido en secciones. Cada sección describe el skin para una aplicación y tiene la siguiente forma: </p><pre class="programlisting"> section = <em class="replaceable"><code>nombre de la sección</code></em> . . . end </pre><p> </p><p> Actualmente solo hay una aplicación, por lo que necesita una sola sección: su nombre es <span class="bold"><strong>movieplayer</strong></span>. </p><p> Dentro de esta sección cada ventana está descrita por un bloque de la siguiente forma: </p><pre class="programlisting"> window = <em class="replaceable"><code>nombre de la ventana</code></em> . . . end </pre><p> </p><p> donde <em class="replaceable"><code>nombre de la ventana</code></em> puede ser una de las siguientes cadenas de texto: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="bold"><strong>main</strong></span> - para la ventana principal</p></li><li class="listitem"><p><span class="bold"><strong>sub</strong></span> - para la subventana</p></li><li class="listitem"><p><span class="bold"><strong>menu</strong></span> - para el skin del menú</p></li><li class="listitem"><p><span class="bold"><strong>playbar</strong></span> - barra de reproducción</p></li></ul></div><p> </p><p> (Los bloques sub y menú son opcionales - no necesita crear un menú o decorar la subventana.) </p><p> Dentro de un bloque de ventana, puede definir cada objeto para la ventana con una línea del siguiente modo: </p><pre class="programlisting">objeto = parámetro</pre><p> Donde <code class="literal">objeto</code> es una cadena que identifica el tipo de objeto GUI, <code class="literal">parámetro</code> es un valor numérico o textual (o una lista de valores separados por comas). </p><p> Poniendo todo lo de arriba jutno, el archivo entero quedará algo similar a esto: </p><pre class="programlisting"> section = movieplayer window = main ; ... objetos para la ventana principal ... end window = sub ; ... objetos para la subventana ... end window = menu ; ... objetos para el menú ... end window = playbar ; ... objetos para la barra de reproducción ... end end </pre><p> </p><p> El nombre de un archivo de imagen se debe dar sin los directorios - las imágenes se buscan en el directorio <tt class="filename">skins</tt>. También puede (pero necesita ser root) especificar la extensión del archivo. Si el archivo no existe, <span class="application">MPlayer</span> intentará cargar el archivo <tt class="filename"><filename>.<ext></tt>, donde <code class="literal">png</code> y <code class="literal">PNG</code> son probados para <tt class="filename"><ext></tt> (en ese orden). El primer nombre de archivo que coincida será el que se use. </p><p> Finalmente unas palabras acerca del posicionamiento. La ventana principal y la subventana pueden ser colocadas en las diferentes esquinas de la pantalla dando las coordenadas <code class="literal">X</code> e <code class="literal">Y</code> . <code class="literal">0</code> es arriba o izquierda, <code class="literal">-1</code> es el centro y <code class="literal">-2</code> es a la derecha o abajo, como se muestra en la ilustracion: </p><div class="informalfigure"><pre class="screen"> (0, 0)----(-1, 0)----(-2, 0) | | | | | | (0,-1)----(-1,-1)----(-2,-1) | | | | | | (0,-2)----(-1,-2)----(-2,-2) </pre></div><p> Aquí tiene un ejemplo para clarificar esto. Suponga que tiene una imagen llamada <tt class="filename">main.png</tt> que usa para la ventana principal: </p><pre class="programlisting">base = main, -1, -1</pre><p> <span class="application">MPlayer</span> intentará cargar los archivos <tt class="filename">main</tt>, <tt class="filename">main.png</tt>, <tt class="filename">main.PNG</tt>. </p><div class="sect2" title="B.2.1. Ventana principal y barra de reproducción"><div class="titlepage"><div><div><h3 class="title"><a name="skin-file-main"></a>B.2.1. Ventana principal y barra de reproducción</h3></div></div></div><p> Más abajo tiene la lista de entradas que pueden usarse en los bloques '<code class="literal">window = main</code>' ... '<code class="literal">end</code>', y '<code class="literal">window = playbar</code>' ... '<code class="literal">end</code>'. </p><div class="variablelist"><dl><dt><span class="term"><code class="literal"> <a name="skin-main-base"></a>base = image, X, Y </code></span></dt><dd><p> Le permite especificar la imagen de fondo para usar en la ventana principal. La ventana aparecerá en la posición <code class="literal">X,Y</code> dada de la pantalla. La ventana tendrá el tamaño de la imagen. </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p>Estas coordenadas no funcionan actualmente para la ventana de reproducción.</p></div><div class="warning" title="Aviso" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Aviso</h3><p>Las regiones transparentes en la imagen (coloreadas con #FF00FF) aparecen en negro en servidores X sin la extensión XShape. El ancho de la imagen debe ser divisible por 8.</p></div></dd><dt><span class="term"><code class="literal"> <a name="skin-button"></a>button = imagen, X, Y, ancho, alto, mensaje </code></span></dt><dd><p> Coloca un botón de tamaño <code class="literal">ancho</code> * <code class="literal">alto</code> en la posición <code class="literal">X,Y</code>. El <code class="literal">mensaje</code> especificado es generado cuando se hace clic en el botón. La imagen dada en <code class="literal">imagen</code> debe tener tres partes una debajo de otra (de acuerdo con los posibles estados del botón), como esto: </p><div class="informalfigure"><pre class="screen"> +--------------+ | pulsado | +--------------+ | soltado | +--------------+ | desactivado | +--------------+ </pre></div></dd><dt><span class="term"><code class="literal"> <a name="skin-decoration"></a>decoration = enable|disable </code></span></dt><dd><p> Activa o desactiva la decoración del administrador de ventanas para la ventana principal. Por defecto toma el valor <span class="bold"><strong>disable</strong></span>. </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p>Esto no funciona para la ventana de reproducción, no lo necesita.</p></div></dd><dt><span class="term"><code class="literal"> <a name="skin-hpotmeter"></a>hpotmeter = botón, bancho, balto, fases, numfases, defecto, X, Y, ancho, alto, mensaje </code></span></dt><dd><p> </p></dd><dt><span class="term"><code class="literal"> <a name="skin-vpotmeter"></a>vpotmeter = botón, bancho, balto, fases, numfases, defecto, X, Y, ancho, alto, mensaje </code></span></dt><dd><p> Coloca un medidor horizontal (hpotmeter) o vertical (vpotmeter) de tamaño <code class="literal">ancho</code> * <code class="literal">alto</code> en la posición <code class="literal">X,Y</code>. La imagen puede ser dividida en diferentes partes para las diferentes fases del medidor (por ejemplo, puede tener un medidor para el control del volumen que vaya de verde a rojo mientras sus valores cambian desde el mínimo al máximo.). <code class="literal">hpotmeter</code> puede tener un botón que se desplaze horizontalmente. Los parámetros son: </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><code class="literal">botón</code> - la imagen que se usará para el botón (debe tener tres partes una debajo de otra, como en el caso de <a class="link" href="#skin-button">botón</a>) </p></li><li class="listitem"><p><code class="literal">bancho</code>,<code class="literal">balto</code> - tamaño del botón </p></li><li class="listitem"><p><code class="literal">fases</code> - la imagen que se usará para las diferentes fases del medidor horizontal. Un valor especial <code class="literal">NULL</code> puede usarse si no desea una imagen. La imagen debe estar dividida en <code class="literal">numfasespartes</code> verticalmente como esto: </p><div class="informalfigure"><pre class="screen"> +------------+ | fase #1 | +------------+ | fase #2 | +------------+ ... +------------+ | fase #n | +------------+ </pre></div></li><li class="listitem"><p><code class="literal">numfases</code> - número de fases almacenadas en la imagen de <code class="literal">fases</code> </p></li><li class="listitem"><p><code class="literal">defecto</code> - valor por defecto en el medidor (en el rango de <code class="literal">0</code> a <code class="literal">100</code>) </p></li><li class="listitem"><p><code class="literal">X</code>,<code class="literal">Y</code> - posición del medidor </p></li><li class="listitem"><p><code class="literal">ancho</code>,<code class="literal">alto</code> - ancho y alto del <code class="literal">medidor</code> </p></li><li class="listitem"><p><code class="literal">mensaje</code> - el mensaje que se ha de generar cuando se cambia el valor del <code class="literal">hpotmeter</code> </p></li></ul></div></dd><dt><span class="term"><code class="literal"> <a name="skin-potmeter"></a>potmeter = fases, numfases, defecto, X, Y, ancho, alto, mensaje </code></span></dt><dd><p> Un <code class="literal">hpotmeter</code> sin un botón. (Creo que está hecho para hacer una especie de botón que gire sobre sí mismo, pero reacciona a arrastre horizontal solamente). Para la descripción de los parámetros vea <a class="link" href="#skin-hpotmeter">hpotmeter</a>. <code class="literal">fases</code> puede ser <code class="literal">NULL</code>, pero es poco útil, porque no le permite ver donde está establecido el valor del <code class="literal">potmeter</code>. </p></dd><dt><span class="term"><code class="literal"> <a name="skin-font"></a>font = fontfile, fontid </code></span></dt><dd><p> Define una tipografía. <code class="literal">fontfile</code> es el nombre del archivo de descripción de la tipografía con extensión <tt class="filename">.fnt</tt> (no especifique la extensión aquí). <code class="literal">fontid</code> es usado para referirse a la tipografía (vea <a class="link" href="#skin-dlabel">dlabel</a> y <a class="link" href="#skin-slabel">slabel</a>). Pueden definirse hasta 25 tipografías. </p></dd><dt><span class="term"><code class="literal"> <a name="skin-slabel"></a>slabel = X, Y, fontid, "text" </code></span></dt><dd><p> Coloca una etiqueta estática en la posición <code class="literal">X,Y</code>. <code class="literal">text</code> se muestra usando la tipografía identificada con <code class="literal">fontid</code>. El texto es una cadena de texto en crudo (variables como <code class="literal">$x</code> no funcionarán) que debe ser encerrada entre comillas dobles (el caracter " no puede ser parte del texto). La etiqueta es mostrada usando la tipografía identificada por <code class="literal">fontid</code>. </p></dd><dt><span class="term"><code class="literal"> <a name="skin-dlabel"></a>dlabel = X, Y, length, align, fontid, "text" </code></span></dt><dd><p> Coloca una etiqueta dinámica en la posición <code class="literal">X,Y</code>. La etiqueta se llama dinámica porque su texto es refrescado periódicamente. La longitud máxima de la etiqueta viene dada por <code class="literal">length</code> (su altura es la altura de un caracter). Si el texto que ha de ser mostrado es más ancho que esta, será desplazado, si no será alineado dentro del espacio especificado por el valor del parámetro <code class="literal">align</code>: <code class="literal">0</code> es para derecha, <code class="literal">1</code> para centrado, <code class="literal">2</code> para izquierda. </p><p> El texto que ha de ser mostrado viene dado por <code class="literal">text</code>: Debe ser escrito entre comillas dobles (por eso el caracter " no puede ser parte del texto). La etiqueta es mostrada usando la tipografía identificada por <code class="literal">fontid</code>. Puede usar las siguientes variables en el texto: </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Variable</th><th>Significado</th></tr></thead><tbody><tr><td>$1</td><td>tiempo de reproducción en formato <span class="emphasis"><em>hh:mm:ss</em></span></td></tr><tr><td>$2</td><td>tiempo de reproducción en formato <span class="emphasis"><em>mmmm:ss</em></span></td></tr><tr><td>$3</td><td>tiempo de reproducción en formato <span class="emphasis"><em>hh</em></span> (horas)</td></tr><tr><td>$4</td><td>tiempo de reproducción en formato<span class="emphasis"><em>mm</em></span> (minutos)</td></tr><tr><td>$5</td><td>tiempo de reproducción en formato <span class="emphasis"><em>ss</em></span> (segundos)</td></tr><tr><td>$6</td><td>longitud de película en formato <span class="emphasis"><em>hh:mm:ss</em></span></td></tr><tr><td>$7</td><td>longitud de película en formato <span class="emphasis"><em>mmmm:ss</em></span></td></tr><tr><td>$8</td><td>tiempo de reproducción en formato <span class="emphasis"><em>h:mm:ss</em></span></td></tr><tr><td>$v</td><td>volumen en formato <span class="emphasis"><em>xxx.xx</em></span>%</td></tr><tr><td>$V</td><td>volumen en formato <span class="emphasis"><em>xxx.xx</em></span></td></tr><tr><td>$b</td><td>balance en formato <span class="emphasis"><em>xxx.xx</em></span>%</td></tr><tr><td>$B</td><td>balance en formato <span class="emphasis"><em>xxx.xx</em></span></td></tr><tr><td>$$</td><td>el caracter $</td></tr><tr><td>$a</td><td>un caracter de acuerdo con el tipo de audio (ninguno: <code class="literal">n</code>, mono: <code class="literal">m</code>, estéreo: <code class="literal">t</code>)</td></tr><tr><td>$t</td><td>número de pista (en lista de reproducción)</td></tr><tr><td>$o</td><td>nombre del archivo</td></tr><tr><td>$f</td><td>nombre del archivo en minúsculas</td></tr><tr><td>$F</td><td>nombre del archivo en mayúsculas</td></tr><tr><td>$T</td><td>un caracter en función del tipo de flujo (archivo: <code class="literal">f</code>, Video CD: <code class="literal">v</code>, DVD: <code class="literal">d</code>, URL: <code class="literal">u</code>)</td></tr><tr><td>$p</td><td>el caracter <span class="keycap"><b>p</b></span> (si una película está siendo mostrada y la tipografía tiene el caracter <span class="keycap"><b>p</b></span></td></tr><tr><td>$s</td><td>el caracter <span class="keycap"><b>s</b></span> (si la película ha sido detenida y la tipografía tiene el caracter <span class="keycap"><b>s</b></span></td></tr><tr><td>$e</td><td>el caracter <span class="keycap"><b>e</b></span> (si se ha pausado la reproducción y la tipografía tiene el caracter <span class="keycap"><b>e</b></span></td></tr><tr><td>$x</td><td>ancho de la película</td></tr><tr><td>$y</td><td>alto de la película</td></tr><tr><td>$C</td><td>nombre del codec usado</td></tr></tbody></table></div></dd></dl></div><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p> Las variables <code class="literal">$a, $T, $p, $s</code> y <code class="literal">$e</code> devuelven caracteres que deben mostrarse como símbolos especiales (por ejemplo, <span class="keycap"><b>e</b></span> es para el símbolo de la pausa que normalmente es algo parecido a ||). Debe tener una tipografía para caracteres normales y una diferente para los símbolos. Vea la sección acerca de <a class="link" href="#skin-fonts-symbols" title="B.3.1. Símbolos">símbolos</a> para más información. </p></div></div><div class="sect2" title="B.2.2. Subventana"><div class="titlepage"><div><div><h3 class="title"><a name="skin-file-subwindow"></a>B.2.2. Subventana</h3></div></div></div><p> Las siguientes entradas pueden ser usadas en el bloque '<code class="literal">window = sub</code>' . . . '<code class="literal">end</code>'. </p><div class="variablelist"><dl><dt><span class="term"><code class="literal"> <a name="skin-sub-base"></a>base = image, X, Y, width, height </code></span></dt><dd><p> La imagen que se mostrará en la ventana. La ventana aparecerá en la posición <code class="literal">X,Y</code> dada de la pantalla (<code class="literal">0,0</code> es la esquina arriba a la izquierda). Puede especificar <code class="literal">-1</code> para el centro y <code class="literal">-2</code> para el lado derecho (<code class="literal">X</code>) y abajo (<code class="literal">Y</code>). La ventana será tan grande como sea la imagen. <code class="literal">width</code> y <code class="literal">height</code> definen el tamaño de la ventana; son opcionales (si no se especifican, la ventana tendrá el mismo tamaño que la imagen). </p></dd><dt><span class="term"><code class="literal"> <a name="skin-background"></a>background = R, G, B </code></span></dt><dd><p> Le permite especificar el color de fondo. Es útil si la imagen es más pequeña que la ventana. <code class="literal">R</code>, <code class="literal">G</code> y <code class="literal">B</code> especifican los valores de las componentes de color para rojo, verde y azul (cada uno ha de tener un valor decimal de 0 a 255). </p></dd></dl></div></div><div class="sect2" title="B.2.3. Menú del skin"><div class="titlepage"><div><div><h3 class="title"><a name="skin-file-menu"></a>B.2.3. Menú del skin</h3></div></div></div><p> Como se mencionó anteriormente, el menú es mostrado usando dos imágenes. Las entradas normales para el menú se toman de la imagen especificada por el objeto <code class="literal">base</code>, mientras que la entrada que actualmente esté seleccionada es tomada desde la imagen especificada por el objeto <code class="literal">selected</code>. Debe definir la posición y el tamaño de cada entrada de menú a través del objeto de menú. </p><p> Las siguientes entradas pueden usarse en el bloque de '<code class="literal">window = menu</code>'. . .'<code class="literal">end</code>'. </p><div class="variablelist"><dl><dt><span class="term"><code class="literal"> <a name="skin-menu-base"></a>base = image </code></span></dt><dd><p> La imagen para las entradas normales del menú. </p></dd><dt><span class="term"><code class="literal"> <a name="skin-selected"></a>selected = image </code></span></dt><dd><p> La imagen mostrando el menú con todas las entradas seleccionadas. </p></dd><dt><span class="term"><code class="literal"> <a name="skin-menu"></a>menu = X, Y, width, height, message </code></span></dt><dd><p> Define la posición <code class="literal">X,Y</code> y el tamaño de una entrada de menú en la imagen. <code class="literal">message</code> es el mensaje que ha de generarse cuando el ratón del botón es soltado sobre la entrada. </p></dd></dl></div></div></div><div class="sect1" title="B.3. Tipografías"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="skin-fonts"></a>B.3. Tipografías</h2></div></div></div><p> Como se mencionó en la sección acerca de las partes de un skin, una tipografía viene definida por una imagen y un archivo de descripción. Puede colocar caracteres en cualquier parte de la imagen, pero ha de asegurarse de que su posición y tamaño vienen dados en el archivo de descripción de manera exacta. </p><p> El archivo de descripción de la tipografía (con extensión <tt class="filename">.fnt</tt>) puede tener líneas de comentarios que empiecen por '<code class="literal">;</code>'. El archivo debe tener una línea en la forma <a name="skin-font-image"></a> </p><pre class="programlisting">image = <em class="replaceable"><code>image</code></em></pre><p> Donde <code class="literal"><em class="replaceable"><code>image</code></em></code> es el nombre del archivo de imagen que se usará para la tipografía (puede no especificar la extensión). <a name="skin-font-char"></a> </p><pre class="programlisting">"char" = X, Y, width, height</pre><p> Aquí <code class="literal">X</code> e <code class="literal">Y</code> especifican la posición del caracter <code class="literal">char</code> en la imagen (<code class="literal">0,0</code> es la esquina superior izquierda). <code class="literal">width</code> y <code class="literal">height</code> son las dimensiones del caracter en pixels. </p><p> Este ejemplo define los caracteres A, B, C usando <tt class="filename">font.png</tt>. </p><pre class="programlisting"> ; Puede ser "font" en lugar de "font.png". image = font.png ; Tres caracteres son suficientes para el propósito de esta demostración :-) "A" = 0,0, 7,13 "B" = 7,0, 7,13 "C" = 14,0, 7,13 </pre><p> </p><div class="sect2" title="B.3.1. Símbolos"><div class="titlepage"><div><div><h3 class="title"><a name="skin-fonts-symbols"></a>B.3.1. Símbolos</h3></div></div></div><p> Algunos caracteres tienen significado especial cuando son devueltos por algunas de las variables usadas en <a class="link" href="#skin-dlabel">dlabel</a>. Estos caracteres se deben mostrar como símbolos para que parezca un bonito logotipo de DVD en lugar del caracter '<code class="literal">d</code>' para un flujo de DVD por ejemplo. </p><p> La siguiente tabla lista todos los caracters que pueden ser usados para mostrar símbolos (y que por lo tanto requieren una tipografía diferente). </p><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Caracter</th><th>Símbolo</th></tr></thead><tbody><tr><td><span class="keycap"><b>p</b></span></td><td>play</td></tr><tr><td><span class="keycap"><b>s</b></span></td><td>stop</td></tr><tr><td><span class="keycap"><b>e</b></span></td><td>pausa</td></tr><tr><td><span class="keycap"><b>n</b></span></td><td>no sound</td></tr><tr><td><span class="keycap"><b>m</b></span></td><td>mono sound</td></tr><tr><td><span class="keycap"><b>t</b></span></td><td>stereo sound</td></tr><tr><td><span class="keycap"><b>f</b></span></td><td>stream es un archivo</td></tr><tr><td><span class="keycap"><b>v</b></span></td><td>stream es un Video CD</td></tr><tr><td><span class="keycap"><b>d</b></span></td><td>stream es un DVD</td></tr><tr><td><span class="keycap"><b>u</b></span></td><td>stream es una URL</td></tr></tbody></table></div></div></div><div class="sect1" title="B.4. Mensajes GUI"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="skin-gui"></a>B.4. Mensajes GUI</h2></div></div></div><p> Son los mensajes que pueden ser generados por los botones, potmetros y entradas de menú. </p><div class="note" title="Nota" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Nota</h3><p> Algunos de los mensajes pueden no funcionar como se espera (o ni funcionar). Como ya sabe, el GUI está bajo desarrollo. </p></div><div class="variablelist" title="Control de reproducción:"><p class="title"><b>Control de reproducción:</b></p><dl><dt><span class="term"><span class="bold"><strong>evNext</strong></span></span></dt><dd><p> Salta a la siguiente pista en la lista de reproducción. </p></dd><dt><span class="term"><span class="bold"><strong>evPause</strong></span></span></dt><dd><p> Forma un cambio junto con <code class="literal">evPlaySwitchToPause</code>. Puede ser usado para tener un botón normal de play/pausa. Ambos mensajes deben ser asignados a botones que se muestren exactamente en la misma posición en la ventana. Este mensaje pausa la reproducción y la imagen para el botón <code class="literal">evPlaySwitchToPause</code> es mostrada (para indicar que el botón puede ser pulsado de nuevo para continuar la reproducción). </p></dd><dt><span class="term"><span class="bold"><strong>evPlay</strong></span></span></dt><dd><p> Inicia la reproducción. </p></dd><dt><span class="term"><span class="bold"><strong>evPlaySwitchToPause</strong></span></span></dt><dd><p> Lo contrario a <code class="literal">evPauseSwitchToPlay</code>. Este mensaje inicia la reproducción y la imagen para el botón <code class="literal">evPauseSwitchToPlay</code> es mostrada (para indicar que el botón puede ser pulsado de nuevo para volver a pausar la reproducción). </p></dd><dt><span class="term"><span class="bold"><strong>evPrev</strong></span></span></dt><dd><p> Salta a la pista previa en la lista de reproducción. </p></dd><dt><span class="term"><span class="bold"><strong>evStop</strong></span></span></dt><dd><p> Detiene la reproducción. </p></dd></dl></div><div class="variablelist" title="Búsqueda:"><p class="title"><b>Búsqueda:</b></p><dl><dt><span class="term"><span class="bold"><strong>evBackward10sec</strong></span></span></dt><dd><p> Busca 10 segundos hacia atrás. </p></dd><dt><span class="term"><span class="bold"><strong>evBackward1min</strong></span></span></dt><dd><p> Busca 1 minuto hacia atrás. </p></dd><dt><span class="term"><span class="bold"><strong>evBackward10min</strong></span></span></dt><dd><p> Busca 10 minutos hacia atrás. </p></dd><dt><span class="term"><span class="bold"><strong>evForward10sec</strong></span></span></dt><dd><p> Busca 10 segundos hacia adelante. </p></dd><dt><span class="term"><span class="bold"><strong>evForward1min</strong></span></span></dt><dd><p> Busca 1 minuto hacia adelante. </p></dd><dt><span class="term"><span class="bold"><strong>evForward10min</strong></span></span></dt><dd><p> Busca 10 minutos hacia adelante. </p></dd><dt><span class="term"><span class="bold"><strong>evSetMoviePosition</strong></span></span></dt><dd><p> Busca la posición (puede ser usado por un potmetro; el valor relativo (0-100%) del potmetro será el que se use). </p></dd></dl></div><div class="variablelist" title="Control de video:"><p class="title"><b>Control de video:</b></p><dl><dt><span class="term"><span class="bold"><strong>evDoubleSize</strong></span></span></dt><dd><p> Establece doble tamaño para la ventana de la película. </p></dd><dt><span class="term"><span class="bold"><strong>evFullScreen</strong></span></span></dt><dd><p> Cambia el modo pantalla completa activado/desactivado. </p></dd><dt><span class="term"><span class="bold"><strong>evNormalSize</strong></span></span></dt><dd><p> Establece la ventana de video a tu tamaño normal </p></dd></dl></div><div class="variablelist" title="Control de audio:"><p class="title"><b>Control de audio:</b></p><dl><dt><span class="term"><span class="bold"><strong>evDecAudioBufDelay</strong></span></span></dt><dd><p> Decrementa el retardo en el buffer de audio. </p></dd><dt><span class="term"><span class="bold"><strong>evDecBalance</strong></span></span></dt><dd><p> Decrementa el balance. </p></dd><dt><span class="term"><span class="bold"><strong>evDecVolume</strong></span></span></dt><dd><p> Decrementa el volumen. </p></dd><dt><span class="term"><span class="bold"><strong>evIncAudioBufDelay</strong></span></span></dt><dd><p> Incrementa el retardo en el buffer de audio. </p></dd><dt><span class="term"><span class="bold"><strong>evIncBalance</strong></span></span></dt><dd><p> Incrementa el balance. </p></dd><dt><span class="term"><span class="bold"><strong>evIncVolume</strong></span></span></dt><dd><p> Incrementa el volumen. </p></dd><dt><span class="term"><span class="bold"><strong>evMute</strong></span></span></dt><dd><p> Silencia/activa el sonido. </p></dd><dt><span class="term"><span class="bold"><strong>evSetBalance</strong></span></span></dt><dd><p> Establece el balance (puede ser usado por un potmetro; el valor relativo (0-100%) del potmetro será el que se use). </p></dd><dt><span class="term"><span class="bold"><strong>evSetVolume</strong></span></span></dt><dd><p> Establece el volumen (puede ser usado por un potmetro; el valor relativo (0-100%) del potmetro será el que se use). </p></dd></dl></div><div class="variablelist" title="Miscelánea:"><p class="title"><b>Miscelánea:</b></p><dl><dt><span class="term"><span class="bold"><strong>evAbout</strong></span></span></dt><dd><p> Abre la ventana de acerca de. </p></dd><dt><span class="term"><span class="bold"><strong>evDropSubtitle</strong></span></span></dt><dd><p> Desactiva el uso de subtítulos actual. </p></dd><dt><span class="term"><span class="bold"><strong>evEqualizer</strong></span></span></dt><dd><p> Activa/desactiva el ecualizador. </p></dd><dt><span class="term"><span class="bold"><strong>evExit</strong></span></span></dt><dd><p> Sale del programa. </p></dd><dt><span class="term"><span class="bold"><strong>evIconify</strong></span></span></dt><dd><p> Iconifica la ventana. </p></dd><dt><span class="term"><span class="bold"><strong>evLoad</strong></span></span></dt><dd><p> Carga un archivo (abriendo una ventana del navegador de archivos, para que pueda elegir uno). </p></dd><dt><span class="term"><span class="bold"><strong>evLoadPlay</strong></span></span></dt><dd><p> Hace lo mismo que <code class="literal">evLoad</code>, pero inicia automáticamente la reproducción después de cargar el archivo. </p></dd><dt><span class="term"><span class="bold"><strong>evLoadSubtitle</strong></span></span></dt><dd><p> Carga un archivo de subtítulos (con el selector de archivos) </p></dd><dt><span class="term"><span class="bold"><strong>evLoadAudioFile</strong></span></span></dt><dd><p> Carga un archivo de audio (con el selector de archivos) </p></dd><dt><span class="term"><span class="bold"><strong>evNone</strong></span></span></dt><dd><p> Mensaje vacío, no tiene efecto (excepto quizá en las versiones CVS :-)). </p></dd><dt><span class="term"><span class="bold"><strong>evPlaylist</strong></span></span></dt><dd><p> Abre/cierra la ventana de lista de reproducción. </p></dd><dt><span class="term"><span class="bold"><strong>evPlayDVD</strong></span></span></dt><dd><p> Intenta abrir el disco en la unidad de DVD-ROM dada. </p></dd><dt><span class="term"><span class="bold"><strong>evPlayVCD</strong></span></span></dt><dd><p> Intenta abrir el disco en la unidad de CD-ROM dada. </p></dd><dt><span class="term"><span class="bold"><strong>evPreferences</strong></span></span></dt><dd><p> Abre la ventana de preferencias. </p></dd><dt><span class="term"><span class="bold"><strong>evSetAspect</strong></span></span></dt><dd><p> Establece el aspecto de la imagen mostrada. </p></dd><dt><span class="term"><span class="bold"><strong>evSetURL</strong></span></span></dt><dd><p> Muestra la ventana de diálogo para URL. </p></dd><dt><span class="term"><span class="bold"><strong>evSkinBrowser</strong></span></span></dt><dd><p> Abre la ventana del navegador de skins. </p></dd></dl></div></div></div></div></body></html>