mencoder, convirtiendo MOV a AVI

27/08/2006

Video
Tengo una cámara digital de fotos (una Konica-Minolta Z2) que permite grabar vídeo en formato MOV. El problema es que dicho formato no se puede ver en los reproductores de DVD de sobremesa actuales.

Cuando tenía Windows utilizaba el programa Dr. Divx para realizar la conversión de MOV a DIVX y poder así verlos en mi dreproductor de sobremesa ya que éste tiene soporte para DIVX.

A la hora de intentar la conversión en Linux, la solución pasa por utilizar mencoder, una utilidad incluida en mplayer. También he probado otras utlidades como Avidemux o AcidRip, pero el formato PCM de audio que tiene el archivo MOV parece que no es soportado correctamente por la mayoría de utilidades.

La conversión la vamos a realizar en dos pasadas (para obtener una mejor calidad):

  • mencoder PICT0016.MOV -o /dev/null -vf scale=496:368 -ofps 25 -ffourcc DX50 -srate 48000 -af channels=2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=4700:aspect=4/3 -oac mp3lame -lameopts vbr=3:br=32
  • mencoder PICT0016.MOV -o PICT0016.divx -vf scale=496:368 -ofps 25 -ffourcc DX50 -srate 48000 -af channels=2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=4700:aspect=4/3 -oac mp3lame -lameopts vbr=3:br=32
  • mencoder -ffourcc DX50 -vop scale=496:368 -forceidx -af resample=44100:lavcresample=44100 -srate 44100 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=1500:keyint=12:vpass=1 -oac mp3lame -lameopts cbr:br=64 PICT0016.MOV -o /dev/null
  • mencoder -ffourcc DX50 -vop scale=496:368 -forceidx -af resample=44100:lavcresample=44100 -srate 44100 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=1500:keyint=12:vpass=2 -oac mp3lame -lameopts cbr:br=64 PICT0016.MOV -o PICT0016.divx
  • mencoder -ffourcc DX50 -vop scale=496:368 -forceidx -af resample=44100:lavcresample=44100 -srate 44100 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=1500:keyint=12:vpass=1 -oac mp3lame -lameopts cbr:br=320 PICT0016.MOV -o /dev/null
  • mencoder -ffourcc DX50 -vop scale=496:368 -forceidx -af resample=44100:lavcresample=44100 -srate 44100 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=1500:keyint=12:vpass=2 -oac mp3lame -lameopts cbr:br=320 PICT0016.MOV -o PICT0016.divx

Con esto conseguimos un archivo AVI con video PAL en formato MPEG4 (el mismo que utiliza DivX, aunque no utilicemos dicho codec) y audio en MP3, exactamente:

Audio codec: MPEG layer 2/3
Audio format: 2 channels, 16 bit, 48,0kHz, 320000 bps
Video codec: ISO MPEG-4 (DivX5, ffmpeg)
Video format: 496×368, 25,0 fps, 4:3 (AFD 0), 0 bps
System layer: AVI

Audio codec: MPEG layer 2/3
Audio format: 1 channels, 16 bit, 44,1kHz, 64000 bps
Video codec: ISO MPEG-4 (DivX5, ffmpeg)
Video format: 496×368, 15,0 fps, 1,35:1, 0 bps
System layer: AVI

O utilizando el codec Xvid:

  • mencoder PICT0016.MOV -o /dev/null -vf scale=496:368 -ofps 25 -srate 48000 -af channels=2 -ovc xvid -xvidencopts pass=1:bitrate=4700 -oac mp3lame -lameopts vbr=3:br=32
  • mencoder PICT0016.MOV -o PICT0016.avi -vf scale=496:368 -ofps 25 -srate 48000 -af channels=2 -ovc xvid -xvidencopts pass=2:bitrate=4700 -oac mp3lame -lameopts vbr=3:br=32

Con lo que conseguiremos un video con el siguiente formato:

Audio codec: MPEG layer 2/3
Audio format: 2 channels, 16 bit, 48,0kHz, 320000 bps
Video codec: ISO MPEG-4 (XviD, ffmpeg)
Video format: 496×368, 25,0 fps, 1,35:1, 0 bps
System layer: AVI

Algonos parámetros de mencoder

  • -ofps: Output Frame Rate
    -ofps 30000/1001 (NTSC)
    -ofps 25 (PAL)
  • -oac: Ouput Audio Codec
    -oac copy (no recodificar el audio, copiar el original)
    -oac mp3lame (utiliza el codec mp3lame para recodifivar el audio)
  • -lameopts: Lame Options
    -lameopts preset=standard
    abitrate (Audio Bit Rate)
    vbitrate (Video Bit Rate)
  • -ovc: Output Video Codec
    -ovc frameno (no incluye el video en la salida)
    -ovc lavc (utilizar el codec la familia de codecs libavcodec para recodificar el video)
  • -lavcopts: Lavc Options, parámetros de decodificación de libavcodec
    -lavcopts vcodec=mpeg4:vbitrate=863:vhq:vpass=1
  • -o: Output
    -o file.avi (la salida se guarda en el archivo file.avi)

Algunos parámetros de lavc

  • -ffourcc DX50: Aunque el video producido es MPEG4, la cabecera por defecto es FMP4 que no es muy reconocida. La cabecera DX50 indica que el video es DivX 5 (esto es MPEG4) compatible y por tanto debería reproducirse en cualquier reproductor de video compatible con MPEG4.

Algunos parámetros de lavcopts

  • acodec: mp2 para VCD, SVCD, o PAL DVD; ac3 se utiliza generalmente parar DVD. también se pude utilizar audio PCMpara DVD, pero resulta en una gran pérdida de espacio. El audio MP3 no es compatible con ninguno de estos formatos pero la mayoría de reproductores no tienen problema reproduciéndolos.
  • abitrate: 224 para VCD; hasta 384 para SVCD; hasta 1536 para DVD, pero los rangos de valores generalmente utilizados van de 192 kbps a 384 kbps para sonido estereo de 5.1 canales.
  • vcodec: mpeg1video para VCD; mpeg2video para SVCD; mpeg2video se utiliza gneralmente para DVD pero tambien se puede utilizar mpeg1video para resolución CIF.
  • keyint: Utilizado para establecer el tamaño GOP. 18 para material de 30fps, o 15 para material de 25/24 fps. Los productores comerciales parecen preferir intervalos de keyframe de 12. Es posible ponerlo más grande y todavía mantener la compatibilidad con la mayoría de los reproducotres. Un keyint de 25 nunca debería causar ningún problema.
  • vrc_buf_size: 327 para VCD, 917 para SVCD, y 1835 para DVD.
  • vrc_minrate: 1152, para VCD. Se pude omitir para SVCD y DVD.
  • vrc_maxrate: 1152 para VCD; 2500 para SVCD; 9800 para DVD. Para SVCD y DVD, podrías querer utilizar valores más pequeños dependiendo de las preferencias y necesidades personales.
  • vbitrate: 1152 para VCD; hasta 2500 para SVCD; hasta 9800 para DVD. Para los dos últimos formatos el vbitrate se debería basar en las preferencias personales. De echo, si insistes en meter unas 20 horas en un DVD, podrías utilizar un vbitrate=400. La calidad del video resultante probablemente será bastante mala. Si estás intentando obtener la máxima calidad de un DVD, utiliza un vbitrate=9800, pero esto te podría limitar a menos de una hora de vídeo en un DVD de una sola capa.

Algunos parámetros de lameopts

  • vbr=: método de bitrate variable
    0: cbr
    1: mt
    2: rh (por defecto)
    3: abr
    4: mtrh

Algunos enlaces de interés
HOWTO Mencoder Introduction Guide
TIP MEncoder Tips and Tricks
Codificación MPEG-4 en 2 o 3-pasadas (“DivX”)
Haciendo un MPEG4 (“DivX”) de alta calidad al ripear una película en DVD
Making a high quality MPEG-4 (“DivX”) rip of a DVD movie
Using MEncoder to create VCD/SVCD/DVD-compliant files
Encoding with the libavcodec codec family
KVCD4NIX
OGMRip
Transcode
GMencoder
Edición de video en Linux
Herramientas para autoría de DVD’s en Ubuntu/Linux
Convirtiendo archivos 3gp a mpeg y viceversa en Ubuntu/Windows/

About these ads

17 Responses to “mencoder, convirtiendo MOV a AVI”

  1. sucoman Says:

    Perfecto para convertir los videos de mi cámar Kodak. Muchas gracias.


  2. […] Antiguamente solía hacer esto con el Gordian Knot, una interfaz común para varios programas de grabación bajo Windows. Pero claro, tener que reiniciar el ordenador y meterme en Windows sólo para esto me daba algo de pereza. Y con la certeza de que tenía que haber algo similar para linux, encontré El Blog de Rubensa, donde hay una muy buena explicación de cómo hacerlo. […]

  3. Ignacio Says:

    Gracias por el articulo.

    Acabo de comprarme una Pentax Optio W30, el formato del MOV es 640×480, debo respetar esa resolución o cual es la mas óptima, y sobre los fps, no afecta mucho pasar de 30 a 25 ?

    Y por ultimo, para editar el video (cortar trozos, poner algun texto, y añadir musica), crees que es mejor trabajar primero con el MOV original o con el AVI ya comprimido ?

    de nuevo, muchas gracias por el articulo.


  4. […] mencoder, convirtiendo MOV a AVI Codificando con la familia de codecs de libavcodec Rotating video clips shot in “portrait” mode How to convert Canon PowerShot movies to MPEG 4 (DivX) format on Linux Posted by rubensa Filed in Recetas, GNU/Linux […]

  5. leonardo Says:

    hola gente, necesito un favor: necesito saber con que programa se pueden hacer dvds con varios mpeg4 sin que estos pierdan calidad ni aumenten de tamaño, haciendole ademas un menu de seleccion.
    se que esto se puede hacer, ya que cerca de mi casa venden colecciones de peliculas en mpeg4, que tienen 4 o 5 films en un solo dvd.
    muchas gracias.

  6. rubensa Says:

    Que en un DVD haya 4 o 5 películas en mpeg4 (DivX, XviD…) no quiere decir que éstas tengan menú (con crear el DVD como un DVD de datos con los 4 ficheros, el reproductor ya que deja elegir cuál quieres ver).

    Hasta donde yo se, para hacer un DivX con menú, solamente existe la herramienta DivX Media Builder y su homóloga usando el navegador Divx Menu Raider, ambas disponibles solamente para Windows.

    Además, el soporte para menús en DivX solamente existe a partir de la versión DivX 6.0 y solo se pueden ver en los reproductores de sobremesa con certificación DIVX ULTRA (debe de haber solo cuatro o cinco en el mercado con esta certificación).

    También existen otras herramientas para Windows que te permiten crear un menú pero que solamente se ejecutará en Windows, como la Quick Menu Builder, ya que crean un pequeño programa autoejecutable en el DVD que es el que muestra el menú y según la opción que pulses arranca el reproductor de vídeo con una u otra película.

  7. caos30 Says:

    Ufff, me va perfecto! sencillo y potente (en Ubuntu 7.10 32b ). Muchas gracias por esta excelente guía!!!

  8. enramos Says:

    No entiendo lo de las dos pasadas. Es el mismo comando solo que en el primero la salida se manda al vacío (/dev/null).

  9. rubensa Says:

    En la primera pasada se ignora el archivo de vídeo generado (como dices, se envía a /dev/null), pero junto con el archivo de vídeo se generan otro par de archivos con información de las imágenes procesadas. Dichos archivos se reutilizan en la segunda pasada para producir una salida de vídeo de mejor calidad.

  10. d33 Says:

    hola lo que suce es que estoy realizando lo dela conversion pero el problema es que el reproductor .. vota uno errorcon respecto a los frames no se si alguna vez ha oido de esto gracias por tu ayuda…

  11. Morphy Says:

    6 años después sigues siendo un crack


Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

A %d blogueros les gusta esto: