mpv/DOCS/xml/es/mencoder.xml

578 lines
19 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- synced with 1.7 -->
<chapter id="mencoder">
<title>Codificando con MEncoder</title>
<para>
Para una lista completa de las opciones de <application>MEncoder</application>
y ejemplos, vea por favor la p<>gina de manual. Para una serie de ejemplos pr<70>cticos
y guias detalladas usando varios par<61>metros de codificaci<63>n, lea los
<ulink url="../../tech/encoding-tips.txt">consejos-de-codificaci<63>n</ulink> donde
se recopilan varias conversaciones en la lista de correo mplayer-users. Busque los
<ulink url="http://mplayerhq.hu/pipermail/mplayer-users/">archivos</ulink>
para obtener abundantes discusiones acerca de todos los aspectos y problemas
relacionados con la codificaci<63>n con <application>MEncoder</application>.
</para>
<sect1 id="menc-feat-divx4">
<title>Codificaci<EFBFBD>n MPEG-4 en 2 o 3-pasadas (&quot;DivX&quot;)</title>
<formalpara>
<title>Codificaci<EFBFBD>n en 2-pasadas</title>
<para>
El nombre viene del hecho de que este m<>todo codifica el archivo
<emphasis>dos veces</emphasis>. La primera codificaci<63>n (pasada aislada) crea algunos
archivos temporales (<filename>*.log</filename>) con un tama<6D>o de unos pocos megabytes,
no los borre todav<61>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<61> mucha m<>s calidad de imagen. Si es la primera vez que
oye hablar de esto, deber<65>a consultar algunas gu<67>as disponibles en la Red.
</para>
</formalpara>
<para>
Este ejemplo muestra como codificar un DVD a AVI MPEG-4 de 2-pasadas (&quot;DivX&quot;).
Solo se necesitan dos <20>rdenes:
<screen>rm frameno.avi</screen>
borre este archivo, que puede ser de una codificaci<63>n previa en 3-pasadas (e interfiere
con el actual)
<screen>
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o movie.avi
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi
</screen>
</para>
<formalpara>
<title>Codificaci<EFBFBD>n en 3-pasadas</title>
<para>
Esta es una extensi<73>n de la codificaci<63>n en 2-pasadas, donde la codificaci<63>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<6D>o para un CD. Adem<65>s, el audio es
codificado una sola vez, y no como en el modo 2-pasadas. De manera esquem<65>tica:
</para>
</formalpara>
<procedure>
<step><para>
Borre el archivo temporal conflictivo:
<screen>rm frameno.avi</screen>
</para></step>
<step><para>
<emphasis>Primera pasada:</emphasis>
<screen>mencoder <replaceable>file/DVD</replaceable> -ovc frameno -oac mp3lame -lameopts vbr=3 -o frameno.avi</screen>
Se crea un archivo avi solo-audio, que contiene
<emphasis role="bold"><EFBFBD>nicamente</emphasis> el flujo de audio requerido. No olvide
<option>-lameopts</option>, si necesita establecer algunos par<61>metros. Si est<73>
codificando una pel<65>cula larga, <application>MEncoder</application> muestra las
tasas de bits recomendadas para tama<6D>os 650MB, 700MB, y 800MB, una vez que finaliza
esta pasada.
</para></step>
<step><para>
<emphasis>Segunda pasada:</emphasis>
<screen>
mencoder <replaceable>file/DVD</replaceable> -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=<replaceable>bitrate</replaceable><!--
--></screen>
Esta es la primera pasada de la codificaci<63>n de video. Opcionalmente puede
especificar la tasa de bits de video que predijo MEncoder cuando termin<69> la
primera pasada.
</para></step>
<step><para>
<emphasis>Tercera pasada:</emphasis>
<screen>
mencoder <replaceable>file/DVD</replaceable> -oac copy -pass 2 \
-ovc divx4 -divx4opts br=<replaceable>bitrate</replaceable>
</screen>
Esta es la segunda pasada de la codificaci<63>n del video. Especifique la
misma tasa de bits que en la pasada anterior a menos que sepa realmente
lo que est<73> haciendo. En esta pasada, el audio de <filename>frameno.avi</filename>
se inserta en el archivo de destino... y <20>ya est<73> todo hecho!
</para></step>
</procedure>
<example>
<title>Ejemplo de codificaci<63>n en 3-pasadas</title>
<para>
<screen>rm frameno.avi</screen>
borre este archivo, que puede ser de una codificaci<63>n en 3-pasadas
anterior (e interferir con el actual)
<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 movie.avi
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi
</screen>
</para>
</example>
</sect1>
<sect1 id="menc-feat-mpeg">
<title>Codificando a formato MPEG</title>
<para>
<application>MEncoder</application> puede crear archivos con formato de salida
MPEG (MPEG-PS). Probablemente esto sea util con el codec <emphasis>mpeg1video</emphasis>
de <link linkend="ffmpeg">libavcodec</link>, porque los reproductores - excepto
<application>MPlayer</application> - esperan video MPEG1, y audio en MPEG1 layer 2
(MP2) en los archivos MPEG.
</para>
<para>
esta caracter<65>stica no es muy <20>til ahora, por un lado probablemente tenga muchos
fallos, pero lo m<>s importante es porque MEncoder actualmente no codifica audio
MPEG1 layer 2 (MP2), que es lo que otros reproductores esperan en los archivos MPEG.
</para>
<para>
Para cambiar el formato del archivo de salida de MEncoder, use la opci<63>n
<option>-of mpeg</option>.
</para>
<para>
Ejemplo:
<screen>
mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video -oac copy <replaceable>other options</replaceable> media.avi -o output.mpg
</screen>
</para>
</sect1>
<sect1 id="menc-feat-rescale">
<title>Reescalando pel<65>culas</title>
<para>
A menudo surge la necesidad de reescalar el tama<6D>o de las im<69>genes de las pel<65>culas.
Las razones pueden ser varias: reducir el tama<6D>o del archivo, ancho de banda de la
red, etc. La mayor<6F>a de la gente incluso reescala cuando convierte DVDs o SVCDs a
AVI DIVX. Esto es <emphasis role="bold">malo</emphasis>. En lugar de hacer eso, lea
la secci<63>n <link linkend="aspect">Conservando la raz<61>n de aspecto</link>.
</para>
<para>
El proceso de escalado es manejado por el filtro de video <literal>scale</literal>:
<option>-vf scale=<replaceable>ancho</replaceable>:<replaceable>alto</replaceable></option>.
La calidad puede ser establecida con la opci<63>n <option>-sws</option>.
Si no se especifica, <application>MEncoder</application> usar<61> 0: bilineal r<>pido.
</para>
<para>
Uso:
<screen>
mencoder <replaceable>entrada.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4 -vf scale=640:480-o <replaceable>salida.avi</replaceable>
</screen>
</para>
</sect1>
<sect1 id="menc-feat-streamcopy">
<title>Copia de flujos</title>
<para>
<application>MEncoder</application> puede manejar flujos de entrada de dos maneras:
<emphasis role="bold">codificandolos</emphasis> o <emphasis role="bold">copiandolos</emphasis>.
Esta secci<63>n habla del modo <emphasis role="bold">copiandolos</emphasis>.
</para>
<itemizedlist>
<listitem><para>
<emphasis role="bold">Flujo de video</emphasis> (opci<63>n <option>-ovc copy</option>):
con esto se pueden hacer cosas muy bonitas :) Como, poner (<28>convertir no!) <20>video FLI
o VIVO o MPEG1 en un archivo AVI! Por supuesto solo <application>MPlayer</application>
puede reproducir estos archivos :) Y probablemente no tenga ning<6E>n valor en la vida
real. Razonadamente: la copia de flujo de video puede ser <20>til por ejemplo cuando
solo ha de ser codificado el flujo de audio (como, PCM sin comprimir a MP3).
</para></listitem>
<listitem><para>
<emphasis role="bold">Flujo de audio</emphasis> (opci<63>n <option>-oac copy</option>):
sinceramente. Es posible usar un archivo de audio externo (MP3, WAV) y
multiplexarlo dentro del flujo de salida. Use para ello la opci<63>n
<option>-audiofile <replaceable>filename</replaceable></option>.
</para></listitem>
</itemizedlist>
</sect1>
<sect1 id="menc-feat-fix-avi">
<title>Arreglando AVIs con <20>ndice roto o interpolado</title>
<para>
Es lo m<>s facil. S<>mplemente copia los flujos de audio y video, y
<application>MEncoder</application> genera el <20>ndice. Por supuesto esto
no puede arreglar posibles errores en los flujos de audio y/o video. Tambi<62>n
arregla archivos con interpolado incorrecto, es decir la opci<63>n <option>-ni</option>
ya no ser<65> necesaria nunca m<>s.
</para>
<para>
<EFBFBD>rden:
<screen>
mencoder -idx <replaceable>entrada.avi</replaceable> -ovc copy -oac copy -o <replaceable>salida.avi</replaceable><!--
--></screen>
</para>
<sect2 id="menc-feat-appending">
<title>Uniendo m<>tiples archivos AVI</title>
<para>
Como un efecto co-lateral, la funci<63>n de corregir AVI's sin <20>ndice habilita a
MEncoder para unir 2 (o m<>s) archivos AVI:
</para>
<para>
<EFBFBD>rden:
<screen>cat 1.avi 2.avi | mencoder -noidx -ovc copy -oac copy -o salida.avi -</screen>
</para>
<note><para>
Esto espera que <filename>1.avi</filename> y <filename>2.avi</filename> usen
los mismos codecs, resoluci<63>n, tasa de flujo etc, y al menos <filename>1.avi</filename>
no est<73> roto. Puede que necesite corregir sus archivos AVI de entrada primero, como
se describe <link linkend="menc-feat-fix-avi">m<EFBFBD>s arriba</link>.
</para></note>
</sect2>
</sect1>
<sect1 id="menc-feat-enc-libavcodec">
<title>Codificando con la familia de codecs de libavcodec</title>
<para>
<link linkend="ffmpeg">libavcodec</link> provee desde codificaci<63>n simple hasta
un mont<6E>n de interesantes formatos de video y audio (actualmente sus codecs de
audio no est<73>n soportados). Puede codificar con los siguientes codecs (m<>s o menos
actualizado):
<informaltable frame="all">
<tgroup cols="2">
<thead>
<row><entry>Nombre del codec</entry><entry>Descripci<EFBFBD>n</entry></row>
</thead>
<tbody>
<row><entry>mjpeg</entry><entry>
Motion JPEG
</entry></row>
<row><entry>ljpeg</entry><entry>
Lossless JPEG
</entry></row>
<row><entry>h263</entry><entry>
H263
</entry></row>
<row><entry>h263p</entry><entry>
H263 Plus
</entry></row>
<row><entry>mpeg4</entry><entry>
ISO est<73>ndar MPEG-4 (compatible con DivX 5, XVID)
</entry></row>
<row><entry>msmpeg4</entry><entry>
pre-standard MPEG-4 variant by MS, v3 (aka DivX3)
</entry></row>
<row><entry>msmpeg4v2</entry><entry>
pre-standard MPEG-4 by MS, v2 (usado en archivos asf antiguos)
</entry></row>
<row><entry>wmv1</entry><entry>
Windows Media Video, version 1 (aka WMV7)
</entry></row>
<row><entry>wmv2</entry><entry>
Windows Media Video, version 2 (aka WMV8)
</entry></row>
<row><entry>rv10</entry><entry>
un codec RealVideo antiguo
</entry></row>
<row><entry>mpeg1video</entry><entry>
MPEG1 video
</entry></row>
<row><entry>mpeg2video</entry><entry>
MPEG2 video
</entry></row>
<row><entry>huffyuv</entry><entry>
compresi<73>n sin p<>rdidas
</entry></row>
<row><entry>asv1</entry><entry>
ASUS Video v1
</entry></row>
<row><entry>asv2</entry><entry>
ASUS Video v2
</entry></row>
<row><entry>ffv1</entry><entry>
codec de video si p<>rdidas de FFmpeg
</entry></row>
</tbody>
</tgroup>
</informaltable>
La primera columna contiene los nombres de los codecs que deben pasarse
despu<EFBFBD>s de la configuraci<63>n <literal>vcodec</literal>, como:
<option>-lavcopts vcodec=msmpeg4</option>
</para>
<informalexample>
<para>
Un ejemplo, con compresi<73>n MJPEG:
<screen>mencoder dvd://2 -o t<>tulo2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy</screen>
</para>
</informalexample>
</sect1>
<sect1 id="menc-feat-enc-images">
<title>Codificando desde m<>ltiples archivos de im<69>genes de entrada (JPEGs, PNGs o TGAs)</title>
<para>
<application>MEncoder</application> es capaz de crear pel<65>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).
</para>
<orderedlist>
<title>Explicaci<EFBFBD>n del proceso:</title>
<listitem><para>
<application>MEncoder</application> <emphasis>decodifica</emphasis> las im<69>genes
de entrada con
<systemitem class="library">libjpeg</systemitem> (cuando decodifica PNGs, usa
<systemitem class="library">libpng</systemitem>).
</para></listitem>
<listitem><para>
<application>MEncoder</application> alimenta entonces con la imagen decodificada
al compresor de video elegido (DivX4, Xvid, ffmpeg msmpeg4, etc.).
</para></listitem>
</orderedlist>
<formalpara>
<title>Ejemplos</title>
<para>
La explicaci<63>n de la opci<63>n <option>-mf</option> puede encontrarse m<>s abajo en
la p<>gina de manual.
<informalexample>
<para>
Creating a DivX4 file from all the JPEG files in the current dir:
<screen>
mencoder -mf on:w=800:h=600:fps=25 -ovc divx4 -o output.avi \*.jpg<!--
--></screen>
</para>
</informalexample>
<informalexample>
<para>
Creando un archivo DivX4 desde algunos archivos JPEG en el directorio actual:
<screen>
mencoder -mf on:w=800:h=600:fps=25 -ovc divx4 -o salida.avi frame001.jpg,frame002.jpg <!--
--></screen>
</para>
</informalexample>
<informalexample>
<para>
Creando un archivo Motion JPEG (MJPEG) desde todos los archivos JPEG en el
directorio actual:
<screen>
mencoder -mf on:w=800:h=600:fps=25 -ovc copy -o salida.avi \*.jpg<!--
--></screen>
</para>
</informalexample>
<informalexample>
<para>
Creando un archivo sin comprimir desde todos los archivos PNG en el directorio
actual:
<screen>
mencoder -mf on:w=800:h=600:fps=25:type=png -ovc raw -o salida.avi \*.png<!--
--></screen>
</para>
</informalexample>
<note><para>
El ancho debe ser m<>ltiplo entero de 4, esto es una estimaci<63>n del formato AVI RAW RGB.
</para></note>
<informalexample>
<para>
Creando un archivo Motion PNG (MPNG) desde todos los archivos PNG en el
directorio actual:
<screen>
mencoder -mf on:w=800:h=600:fps=25:type=png -ovc copy -o salida.avi \*.png<!--
--></screen>
</para>
</informalexample>
<informalexample>
<para>
Creando un archivo Motion TGA (MTGA) desde todos los archivos TGA en el
directorio actual:
<screen>
mencoder -mf on:w=800:h=600:fps=25:type=tga -ovc copy -o salida.avi \*.tga<!--
--></screen>
</para>
</informalexample>
</para>
</formalpara>
</sect1>
<sect1 id="menc-feat-extractsub">
<title>Extrayendo subt<62>tulos DVD a archivo Vobsub</title>
<para>
<application>MEncoder</application> es capaz de extraer subt<62>tulos desde
un DVD a archivos con formato Vobsub. Esto consiste en un par de archivos
que terminan en <filename>.idx</filename> y <filename>.sub</filename> y
normalmente son empaquetados en un archivo <filename>.rar</filename> simple.
<application>MPlayer</application> puede reproducir esto con las opciones
<option>-vobsub</option> y <option>-vobsubid</option>.
</para>
<para>
Puede especificar el nombre base (p.e. sin la extensi<73>n <filename>.idx</filename>
o <filename>.sub</filename>) de los archivos de salida con
<option>-vobsubout</option> y el <20>ndice para este subt<62>tulo en los
archivos resultantes con <option>-vobsuboutindex</option>.
</para>
<para>
Si la entrada no es desde un DVD debe usar <option>-ifo</option> para
indicar el archivo <filename>.ifo</filename> necesario para reconstruir
el archivo resultante <filename>.idx</filename>.
</para>
<para>
Si la entrada no es desde un DVD y no tiene el archivo
<filename>.ifo</filename> necesario deber<65> usar la opci<63>n
<option>-vobsubid</option> para decir qu<71> id de idioma poner
en el archivo <filename>.idx</filename>.
</para>
<para>
Cada ejecuci<63>n a<>ade el subt<62>tulo que se est<73> usando si los
archivos <filename>.idx</filename> y <filename>.sub</filename> ya existen.
Deber<EFBFBD>a borrarlos antes de comenzar.
</para>
<example>
<title>Copiando dos subt<62>tulos desde un DVD mientras se hace la
codificaci<EFBFBD>n en 3-pasadas</title>
<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<!--
--></screen>
</example>
<example>
<title>Copiando un subt<62>tulo franc<6E>s desde un archivo MPEG</title>
<screen>
rm subtitles.idx subtitles.sub
mencoder movie.mpg -ifo movie.ifo -vobsubout subtitles -vobsuboutindex 0 -vobsuboutid fr -sid 1<!--
--></screen>
</example>
</sect1>
<sect1 id="aspect">
<title>Preservando relaci<63>n de aspecto</title>
<para>
Los archivos de DVDs y SVCDs (p.e. MPEG1/2) contienen un valor sobre la
relaci<EFBFBD>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<65>cula
es repugnante y consume tiempo, <20>siempre debe haber un camino mejor!
</para>
<para>Esto es</para>
<para>
MPEG4 tiene una caracter<65>stica <20>nica: el flujo de video puede contener
la raz<61>n de aspecto necesaria. S<>, igual que MPEG1/2 (DVD, SVCD) y los archivos H263.
Por l<>stima, <emphasis role="bold">no</emphasis> hay reproductores de video
ah<EFBFBD> fuera que soporten esta caracter<65>stica de MPEG4, excepto <application>MPlayer</application>.
</para>
<para>
Esta caracter<65>stica puede ser usada solo con el codec
<systemitem>mpeg4</systemitem> de <link linkend="ffmpeg">libavcodec</link>.
Tenga en mente: aunque <application>MPlayer</application> puede reproducir
correctamente el archivo creado, otros reproductores pueden usar una raz<61>n
de aspecto incorrecta.
</para>
<para>
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 <systemitem>cropdetect</systemitem>
y <systemitem>crop</systemitem>.
</para>
<para>
Uso
<screen>mencoder sample-svcd.mpg -ovc lavc -lavcopts vcodec=mpeg4:autoaspect -vf crop=714:548:0:14 -oac copy -o salida.avi</screen>
</para>
</sect1>
<sect1 id="custommatrices"><title>Matrices inter/intra personalizadas</title>
<para>
Con <20>sta caracter<65>stica de <link linkend="ffmpeg">libavcodec</link> puede
personalizar las matrices inter (marcos-I/marcos clave) e intra (marcos-P/marcos
de predicci<63>n). Est<73> soportado por muchos codecs:
<systemitem>mpeg1video</systemitem> y <systemitem>mpeg2video</systemitem>
se ha informado que funcionan.
</para>
<para>
Un uso normal de esta caracter<65>stica es establecer las matrices preferidas
por las especificaciones <ulink url="http://www.kvcd.net/">KVCD</ulink>.
</para>
<para>
La <emphasis role="bold">Matriz de Cuantizaci<63>n de KVCD &quot;Notch&quot;</emphasis>
</para>
<para>
Intra:
<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
</screen>
Inter:
<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
</screen>
</para>
<para>
Uso:
<screen>
$ mencoder input.avi -o output.avi -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=...
</screen>
</para>
<para>
<screen>
$ mencoder input.avi -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
</screen>
</para>
</sect1>
</chapter>