PDA

Ver la versión completa : [TUTORIAL] VirtualDubMod+FFdshow+YAMB-->MP4



rodrigo.tr
04/06/2008, 01:20:01
Existen innumerables programas que transforman videos a formato MP4, pero para aquellos que les gusta hacer las cosas manualmente he creado este tutorial para transformar video a formato MP4 con la mejor calidad posible, excelente audio, controlando el tamaño final de nuestro video, pudiendo agregar subtítulos, modificando brillo, gama, contraste etc.
Este tutorial, si bien esta basado en celulares basados en resolución 220x176, es valido para cualquier resolución.
[/URL]http://http://img230.imageshack.us/img230/7210/vbrkh7.gif (http://http://img230.imageshack.us/img230/7210/vbrkh7.gif)
Instalar/descomprimir el siguiente software:
YAMB (ver nota 1)
VirtualDubMod
FFdshow (y FFvdub, filtro para VirtualdubMod) (ver nota 2)
WinAmp Pro (o cualquier programa que transforme audio en M4A (AAC/MP4))

El proceso en si es simple:
SEPARAR AUDIO Y VIDEO-->PROCESAR VIDEO Y AUDIO--> UNIR VIDEO Y AUDIO

Abrimos, luego FileàOpen Video File…àBuscar y seleccionar el Video a procesar à clic en Abrir (si aparece un cuadro de dialogo con titulo “VBR audio stream detected” presionamos en NO)
http://img230.imageshack.us/img230/7210/vbrkh7.gif (http://img230.imageshack.us/img230/7210/vbrkh7.gif)

StreamsàStream List: y aparecerán la lista de pistas de audio del video, que por lo general es solo una. En el caso que nuestro video sea un AVI y que la pista de audio este en formato MP3 presionamos “Demux” para guardar el audio en un MP3. En el caso que sea un MPEG debemos presionar “Save WAV” y guardar el audio en formato WAV. Luego de haber “sacado” el audio del video, debemos presionar “Disable” para que VirtualDubMod no procese la pista de audio.
Luego presionamos OK.
http://img264.imageshack.us/img264/6055/streamsfv9.gif (http://img264.imageshack.us/img264/6055/streamsfv9.gif)

Luego menú VideoàFiltersàAddàFFvdubàOK. Enseguida se abrirá la ventana de configuración del filtro FFvdub para VirtualDubMod. Aquí es donde podemos hacerle modificaciones al aspecto del video, brillo, contraste, resolución, etc.

Ir a “Resize & Aspect”...pero antes de seguir leer esto: (leer Nota 3)

Me he dado cuenta que mi w610i no importando la resolución del video, siempre lo reproduce en resoluciones que sean divisibles por 16, es decir si tengo un video en resolución 220x176, en la información del video que me muestra mi w610 dice que es 224x176, de todas maneras el video se reproduce, pero aparecen unas líneas que pueden llegar a molestar. Por lo tanto cuando elijamos la resolución, debe ser siempre divisible por 16. En mi caso debo establecer el ancho en 208, ya que si pusiera 224 aparecen esas líneas al verlo en el celular (nótese que al reproducir el video lo reproduzco en su tamaño original para evitar que al agrandar el video aparezcan estas molestosas líneas).
Con FFvdub podemos definir la resolución del video de dos formas: especificar solo el ancho (el alto se configura solo de manera de mantener la relación de aspecto) o especificar tanto el ancho como el alto.
Especificar solo el ancho (Specify horizontal size): al especificar solo el ancho (208 en mi caso), lamentablemente el alto puede quedar en resolución que no es divisible por 16, y por lo tanto estamos obligados a establecer tanto el ancho como el alto manualmente.
Especificar ancho y alto (Specify horizontal and vertical size): puede suceder que no concuerde la nueva relación de aspecto con la relación de aspecto original, FFvdub agrega espacio en negro para llenar el cuadro. Para evitar la creación de este espacio tenemos que dejar que FFvdub modifique la relación de aspecto (opción “No aspect ratio correction”). Por suerte este espacio negro de relleno es generalmente pequeño, y la modificación de la relación de aspecto será casi imperceptible.

En resumidas cuentas:
Si tengo un video en 640x480 quedara en 208x156 (modo “Specify horizontal size”) para mantener la relación de aspecto FFvdub calcula el alto automáticamente en 156. Pero 156 no es divisible por 16, por lo que debemos dejarlo en 208x160 (modo “Specify horizontal and vertical size”) (o 208x144 pero nos conviene 160 ya que es la resolución mas cercana), lo que significa dejar que FFvdub modifique la relación de aspecto (opción “No aspect ratio correction”) para que no se agreguen espacios negros..

Algunos videos ya tienen estos espacios negros agregados, para quitarlos es muy sencillo.
Lo primero es establecer solo el ancho y dejar que FFvdub calcule el alto (modo “Specify horizontal size”) y aceptar, luego presionar en “Cropping…” y recortamos las areas en negro que tiene el video. Luego de recortar el video, FFvdub calculara nuevamente el alto basándose en la nueva resolución del video, si no fuera divisible por 16 configuramos nuevamente el FFvdub (clic en Configure…), esta ves en modo “Specify horizontal and vertical size” y establecemos una altura divisble por 16 (esta siempre debe ser la mas cercana a la resolución de altura entregada en el modo “Specify horizontal size”) y luego dejamos la opción “No aspect ratio correction” para evitar la creación de espacios negros (pero se modificara imperceptiblemente la relación de aspecto).
http://img511.imageshack.us/img511/8057/ffvdub1su6.gif (http://img511.imageshack.us/img511/8057/ffvdub1su6.gif)

Subtitulos: Para poner subtitulos en nuestro video, ir a seccion “Subtitles”, Opción File, y buscar el archivo de los subtítulos correspondiente a nuestro video (para establecer el tamaño de la letra, sombra, estilo de letra, estilo de sombra etc ir a subseccion “Font”).
http://img229.imageshack.us/img229/7971/ffvdub2sz8.gif (http://img229.imageshack.us/img229/7971/ffvdub2sz8.gif)

Compresión: ahora debemos comprimir el video en formato compatible con nuestro cel (MPEG-4). Para esto menú VideoàCompresion…àFFdshow video codecàConfigure. “Encoder: MPEG-4”. “FOURCC: MP4V”. “Mode: Leer lo siguiente…”
FFdshow tiene diversas formas para calcular el Bitrate de nuestros videos, explicare 3 de ellas:

One Pass – Average Bitrate: el compresor dejara el bitrate que ingresemos como bitrate promedio de nuestro video. El compresor fluctua cerca de este valor, utilizando menos o mas bitrate cuando sea necesario, el promedio de estos Bitrates sera el que ingresamos. Para calcular el tamaña de nuestro video (ojo… solo el video... no video+audio) debemos dividir el Bitrate que ingresemos por 8, luego multiplicar por la cantidad de segundos de nuestro video y luego dividir por 1024, y tendremos el peso solo del video en Megabytes.
Ejemplo en video de 4 mintuos y Bitrate en 300: ( ( 300 / 8 ) * 240 ) / 1024 = 8,7890625… el video pesara 8,8 megas (aprox).

One Pass – Quality: el compresor dejara el video con la calidad que ingresemos (en %) con respecto al video original.

One Pass – Quantizer: El quantizer controla el modo de compresión con pérdida de detalle que usa el compresor, y a menor quantizer mayor calidad y detalle pero menor compresión (y más espacio) obtendremos. En estos dos últimos modos no podemos calcular cuanto pesara nuestro video.

Two Pass – 1st Pass/2nd Pass int: este, personalmente, es el mejor metodo… en él, el compresor determinara la mejor calidad posible para nuestro video, dependiendo del tamaño que queramos sea nuestro video.
Para usar este modo, como su nombre lo indica, necesitamos de 2 pasadas por el mismo video, la primera pasada (1st Pass) analiza el video y la estructura cuadro a cuadro, la segunda pasada (2nd Pass int) se basa en los datos obtenidos en la primera para realizar la compresión dependiendo del tamaño final que ingresemos.
Modo de uso: primero se selecciona 1st Pass… luego OK y OK... hasta volver a la ventana principal del programa… FileàSave As…à y se guarda el video de la primera pasada. El tiempo de compresión dependerá de nuestro PC. Una ves terminada la primera pasada, cambiamos la configuración del FFdshow (VideoàCompresion) y seleccionamos “2nd Pass int” y en Size (Kbytes) ingresamos el tamaño que queremos de nuestro video (sin contar el audio). Recomiendo entre 1000 a 2000 Kbytes por minuto de duracion del video (1500 Kbytes por minuto es un buen valor, es cuestión de probar). El tiempo de compresión dependerá de nuestro PC.
http://img526.imageshack.us/img526/1690/ffdshowcodechl2.gif (http://img526.imageshack.us/img526/1690/ffdshowcodechl2.gif)

Ahora que tenemos nuestro video listo es hora de comprimir el audio.
Para esto utilicen cualquier programa capas de crear archivos M4A (MP4/AAC). Yo utilizo el Winamp (Pro) y me ha dado resultados excelentes Usando “MP4/aacPlus (HE-AAC) Encoder” con velocidad de bits en 32Kbps y modo de canal Estereo.
http://img209.imageshack.us/img209/8030/winampencoderco4.gif (http://img209.imageshack.us/img209/8030/winampencoderco4.gif)

Bien ahora tenemos nuestro video.avi y nuestro audio.m4a. Para unirlos usamos YAMB.
Abrir YAMB y doble clic en la primera opción para crear un MP4.
Clic en “Add” para agregar el VIDEO.AVI y el AUDIO.M4A
En “Output” seleccionar donde dejar nuestro MP4.
Clic en “Next” y comenzara la creación de nuestro MP4.
http://img209.imageshack.us/img209/4235/yambnp8.gif (http://img209.imageshack.us/img209/4235/yambnp8.gif)

NOTAS
Nota 1: YAMB, Yet Another MP4Box User Interface, es principalmente eso, un programa diseñado para poder manejar gráficamente Mp4Box, programa que une flujos de video y audio compatibles en un contenedor MP4.
Nota 2: FFdshow es un tremendo conjunto de software, capas de decodificar y codificar casi cualquier formato de video actual y se mantiene constantemente en desarrollo. FFdshow incluye FFvdub, en el ZIP que adjunto ya esta instalado en el VirtualDubMod. FFdshow lo descaragan desde [URL]http://ufpr.dl.sourceforge.net/sourceforge/ffdshow-tryout/ffdshow_rev1980_20080602_clsid.exe
Nota 3: con este tutorial se busca que los videos se vean lo mejor posible, sin líneas de redimensionado y elementos que distorsionen la imagen, es por esto que se pone énfasis en lo de las resoluciones, y ojo… no se busca una mayor resolución, se busca una mejor calidad de imagen a una resolución optima.

TIPS
-Cuanto mas dure el video, mejor es el rendimiento del FFdshow en la compresión a dos pasadas.
-Cuidado con utilizar videos con Bitrates muy altos, ya que cuando se sobre pasan los 350 kbps aprox, pueden producirse pequeños saltos en la imagen debido a que el celular no es capas de reproducir correctamente Bitrates de video muy altos.
-Para determinar el peso final del archivo se debe tener en cuenta el peso del video y del audio, el peso del video es predecible mediante el metodo de 2 pasadas. El peso del audio se calcula de la siguiente forma: (Duración en segundos)*(32/8)/1024. Esto nos indica el peso en megaBytes del audio (el numero 32 aparece porque anteriormente se menciono que 32Kbps es suficiente para el audio, en caso de cambiarlo, reemplazar por el valor elegido).

Espero que le sirva… es extenso… pero vale la pena.
Saludos

rodrigo.tr