mirror of
https://github.com/mpv-player/mpv
synced 2024-12-28 10:02:17 +00:00
3a67409828
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11742 b3059339-0415-0410-9bf9-f77b7e298cf2
762 lines
28 KiB
XML
762 lines
28 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- synced with 1.12 -->
|
|
<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ácticos
|
|
y guias detalladas usando varios parámetros de codificación, lea los
|
|
<ulink url="../../tech/encoding-tips.txt">consejos-de-codificació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ón con <application>MEncoder</application>.
|
|
</para>
|
|
|
|
<sect1 id="menc-feat-divx4">
|
|
<title>Codificación MPEG-4 en 2 o 3-pasadas ("DivX")</title>
|
|
|
|
<formalpara>
|
|
<title>Codificació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ón (pasada aislada) crea algunos
|
|
archivos temporales (<filename>*.log</filename>) 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.
|
|
</para>
|
|
</formalpara>
|
|
|
|
<para>
|
|
Este ejemplo muestra como codificar un DVD a AVI MPEG-4 de 2-pasadas ("DivX").
|
|
Solo se necesitan dos órdenes:
|
|
<screen>rm frameno.avi</screen>
|
|
borre este archivo, que puede ser de una codificación previa en 3-pasadas (e interfiere
|
|
con el actual)
|
|
<screen>
|
|
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o <replaceable>pelicula.avi</replaceable>
|
|
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o <replaceable>pelicula.avi</replaceable>
|
|
</screen>
|
|
</para>
|
|
|
|
<formalpara>
|
|
<title>Codificación en 3-pasadas</title>
|
|
<para>
|
|
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:
|
|
</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">únicamente</emphasis> el flujo de audio requerido. No olvide
|
|
<option>-lameopts</option>, si necesita establecer algunos parámetros. Si está
|
|
codificando una película larga, <application>MEncoder</application> muestra las
|
|
tasas de bits recomendadas para tamañ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ón de video. Opcionalmente puede
|
|
especificar la tasa de bits de video que predijo MEncoder cuando terminó 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ó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 <filename>frameno.avi</filename>
|
|
se inserta en el archivo de destino... y ¡ya está todo hecho!
|
|
</para></step>
|
|
</procedure>
|
|
|
|
<example>
|
|
<title>Ejemplo de codificación en 3-pasadas</title>
|
|
<para>
|
|
<screen>rm frameno.avi</screen>
|
|
borre este archivo, que puede ser de una codificació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 <replaceable>pelicula.avi</replaceable>
|
|
mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o <replaceable>pelicula.avi</replaceable>
|
|
</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ística no es muy ú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ón
|
|
<option>-of mpeg</option>.
|
|
</para>
|
|
|
|
<para>
|
|
Ejemplo:
|
|
<screen>
|
|
mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video -oac copy <replaceable>otras opciones</replaceable> <replaceable>media.avi</replaceable> -o <replaceable>output.mpg</replaceable>
|
|
</screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="menc-feat-rescale">
|
|
<title>Reescalando películas</title>
|
|
|
|
<para>
|
|
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 <emphasis role="bold">malo</emphasis>. En lugar de hacer eso, lea
|
|
la sección <link linkend="aspect">Conservando la razó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ón <option>-sws</option>.
|
|
Si no se especifica, <application>MEncoder</application> usará 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ón habla del modo <emphasis role="bold">copiandolos</emphasis>.
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<emphasis role="bold">Flujo de video</emphasis> (opción <option>-ovc copy</option>):
|
|
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 <application>MPlayer</application>
|
|
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).
|
|
</para></listitem>
|
|
<listitem><para>
|
|
<emphasis role="bold">Flujo de audio</emphasis> (opció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ón
|
|
<option>-audiofile <replaceable>filename</replaceable></option>.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="menc-feat-fix-avi">
|
|
<title>Arreglando AVIs con í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 í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 <option>-ni</option>
|
|
ya no será necesaria nunca más.
|
|
</para>
|
|
|
|
<para>
|
|
Ó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ón de corregir AVI's sin índice habilita a
|
|
MEncoder para unir 2 (o más) archivos AVI:
|
|
</para>
|
|
|
|
<para>
|
|
Órden:
|
|
<screen>cat 1.avi 2.avi | mencoder -noidx -ovc copy -oac copy -o <replaceable>salida.avi</replaceable> -</screen>
|
|
</para>
|
|
|
|
<note><para>
|
|
Esto espera que <filename>1.avi</filename> y <filename>2.avi</filename> usen
|
|
los mismos codecs, resolución, tasa de flujo etc, y al menos <filename>1.avi</filename>
|
|
no esté roto. Puede que necesite corregir sus archivos AVI de entrada primero, como
|
|
se describe <link linkend="menc-feat-fix-avi">má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ón simple hasta
|
|
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):
|
|
|
|
<informaltable frame="all">
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row><entry>Nombre del codec</entry><entry>Descripció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á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ó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és de la configuración <literal>vcodec</literal>, como:
|
|
<option>-lavcopts vcodec=msmpeg4</option>
|
|
</para>
|
|
|
|
<informalexample>
|
|
<para>
|
|
Un ejemplo, con compresió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ágenes de entrada (JPEGs, PNGs o TGAs)</title>
|
|
|
|
<para>
|
|
<application>MEncoder</application> 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).
|
|
</para>
|
|
|
|
<orderedlist>
|
|
<title>Explicación del proceso:</title>
|
|
<listitem><para>
|
|
<application>MEncoder</application> <emphasis>decodifica</emphasis> las imá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ón de la opció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 <replaceable>salida.avi</replaceable> 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 <replaceable>salida.avi</replaceable> \*.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 <replaceable>salida.avi</replaceable> \*.png<!--
|
|
--></screen>
|
|
</para>
|
|
</informalexample>
|
|
|
|
<note><para>
|
|
El ancho debe ser múltiplo entero de 4, esto es una estimació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ítulos DVD a archivo Vobsub</title>
|
|
|
|
<para>
|
|
<application>MEncoder</application> es capaz de extraer subtí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ón <filename>.idx</filename>
|
|
o <filename>.sub</filename>) de los archivos de salida con
|
|
<option>-vobsubout</option> y el índice para este subtí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á usar la opción
|
|
<option>-vobsubid</option> para decir qué id de idioma poner
|
|
en el archivo <filename>.idx</filename>.
|
|
</para>
|
|
|
|
<para>
|
|
Cada ejecución añade el subtítulo que se está usando si los
|
|
archivos <filename>.idx</filename> y <filename>.sub</filename> ya existen.
|
|
Debería borrarlos antes de comenzar.
|
|
</para>
|
|
|
|
<example>
|
|
<title>Copiando dos subtítulos desde un DVD mientras se hace la
|
|
codificació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ítulo francés desde un archivo MPEG</title>
|
|
<screen>
|
|
rm subtitles.idx subtitles.sub
|
|
mencoder <replaceable>pelicula.mpg</replaceable> -ifo <replaceable>pelicula.ifo</replaceable> -vobsubout subtitles -vobsuboutindex 0 -vobsuboutid fr -sid 1<!--
|
|
--></screen>
|
|
</example>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="aspect">
|
|
<title>Preservando relación de aspecto</title>
|
|
<para>
|
|
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!
|
|
</para>
|
|
|
|
<para>Esto es</para>
|
|
|
|
<para>
|
|
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, <emphasis role="bold">no</emphasis> hay reproductores de video
|
|
ahí fuera que soporten esta característica de MPEG4, excepto <application>MPlayer</application>.
|
|
</para>
|
|
|
|
<para>
|
|
Esta caracterí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ó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 <replaceable>sample-svcd.mpg</replaceable> -ovc lavc -lavcopts vcodec=mpeg4:autoaspect -vf crop=714:548:0:14 -oac copy -o <replaceable>salida.avi</replaceable></screen>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="custommatrices"><title>Matrices inter/intra personalizadas</title>
|
|
|
|
<para>
|
|
Con ésta característica de <link linkend="ffmpeg">libavcodec</link> puede
|
|
personalizar las matrices inter (marcos-I/marcos clave) e intra (marcos-P/marcos
|
|
de predicción). Está soportado por muchos codecs:
|
|
<systemitem>mpeg1video</systemitem> y <systemitem>mpeg2video</systemitem>
|
|
se ha informado que funcionan.
|
|
</para>
|
|
|
|
<para>
|
|
Un uso normal de esta caracterí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ón de KVCD "Notch"</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 <replaceable>input.avi</replaceable> -o <replaceable>output.avi</replaceable> -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=...
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
<screen>
|
|
$ mencoder <replaceable>input.avi</replaceable> -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>
|
|
|
|
<sect1 id="menc-feat-dvd-mpeg4">
|
|
<title>Haciendo un MPEG4 ("DivX") de alta calidad al ripear una película en DVD</title>
|
|
|
|
<para>
|
|
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).
|
|
<systemitem class="library">libavcodec</systemitem> será usado para el
|
|
video, y el audio será copiado como esté sin cambios.
|
|
</para>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-crop">
|
|
<title>Recortando</title>
|
|
<para>
|
|
Reproduzca el DVD y ejecute el filtro de detección de recorte
|
|
(<option>-vf cropdetect</option>) 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.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-quality">
|
|
<title>Nivel de calidad</title>
|
|
<para>
|
|
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
|
|
<systemitem class="library">libavcodec</systemitem>, obtendrá una calidad
|
|
constante usando
|
|
<option>-lavcopts vqscale=<replaceable>N</replaceable></option>.
|
|
<option>vqscale=3</option> 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á).
|
|
</para></sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-2gb">
|
|
<title>Archivos más grandes de 2GB</title>
|
|
<para>
|
|
Si el archivo resultante codificado con calidad constante es más grande
|
|
de 2GB, deberá crear un índice para poder luego verlos correctamente.
|
|
Puede
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
reproducir el archivo con <option>-forceidx</option> para crear un
|
|
índice sobre la marcha o bien
|
|
</para></listitem>
|
|
<listitem><para>
|
|
usar <option>-saveidx</option> para escribir un índice a un archivo
|
|
una sola vez y luego <option>-loadidx</option> para usarlo cuando
|
|
reproduzca el archivo.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
Si esto le incomoda, quizá quiera mantener el tamaño por debajo de los 2GB.
|
|
</para>
|
|
|
|
<para>
|
|
Hay dos maneras de evitar esto. Puede intentar codificar de nuevo
|
|
usando <option>vqscale=4</option> y ver si tiene el tamaño de
|
|
archivo y la calidad de imagen aceptables. También peude usar
|
|
<link linkend="menc-feat-divx4">codificación en 2 pasadas</link>.
|
|
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 requerida para dar a la opción
|
|
<option>-lavcopts vbitrate=<replaceable>bitrate</replaceable></option>
|
|
sin usar
|
|
<link linkend="menc-feat-divx4">codificación en 3 pasadas</link>.
|
|
</para></sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-deinterlacing">
|
|
<title>Desentrelazado</title>
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
<para>
|
|
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 entrelazar, puede
|
|
experimentar con distintos filtros de desentrelazado después. Vea
|
|
<ulink url="http://www.wieser-web.de/MPlayer/">http://www.wieser-web.de/MPlayer/</ulink>
|
|
para ejemplos. Un buen punto de partida es <option>-vf pp=fd</option>.
|
|
</para>
|
|
|
|
<para>
|
|
Si está haciendo las dos cosas, recortando y desentrelazando, desentrelace
|
|
<emphasis>antes</emphasis> de recortar. Actualmente, no es necesario
|
|
si el desplazamiento de recorte es vertical y múltiplo de 2 pixels. Sin
|
|
embatgo 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.
|
|
</para></sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-telecine">
|
|
<title>Inversión de telecine</title>
|
|
<para>
|
|
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
|
|
<ulink url="http://www.google.com/search?q=telecine+field+23.976">
|
|
búsqueda en Google de "telecine field 23.976"</ulink>.
|
|
</para>
|
|
|
|
<para>
|
|
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 <option>-ofps 23.976</option> para ello. Cualquier
|
|
cosas que esté en películas y necesite telecine inverso, no se
|
|
mostrará en TV.
|
|
</para></sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-scaling">
|
|
<title>Escalado y razón de aspecto</title>
|
|
<para>
|
|
Para mejor calidad, no escale la película durante el ripeo. El
|
|
escalado 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 <application>MPlayer</application> la usará.
|
|
Si solo va a usar <application>MPlayer</application> para ver el
|
|
archivo ripeado, no necesitará escalar la película, solo pase
|
|
<option>-lavcopts autoaspect</option> a
|
|
<application>MEncoder</application> 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.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="menc-feat-dvd-mpeg4-summary">
|
|
<title>Sumando todo esto</title>
|
|
<para>
|
|
Con todo lo mencionado más arriba en mente, se puede usar una órden
|
|
de codificación como la siguiente
|
|
|
|
<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
|
|
</screen>
|
|
|
|
Aquí <option>dvd://1</option> indica el título de DVD a ripear.
|
|
La opción <option>-aid 128</option> indica el uso de la pista 128,
|
|
y <option>-oac copy</option> para copiarla como está. Puede usar
|
|
<application>MPlayer</application> para encontrar los valores
|
|
correctos para las opciones.
|
|
</para>
|
|
|
|
<para>
|
|
Las opciones <option>vhq:v4mv:trell</option> para
|
|
<option>-lavcopts</option> mejoran la calidad frente a la tasa de bits, pero
|
|
hacen que la codificacion dure más. Especialmente <option>trell</option>
|
|
ralentiza la codificación pero incrementa la calidad visiblemente. Si quiere
|
|
desentrelazar, añada un filtro <option>pp</option> a <option>-vf</option>,
|
|
por ejemplo <option>-vf pp=fd,crop=720:364:0:56</option> (en ese orden).
|
|
Si no necesita invertir el telecine, quite <option>-ofps 23.976</option>.
|
|
</para>
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
</chapter>
|