lunes, 24 de marzo de 2008

Mini-tutorial de edición de vídeo bajo GNU/Linux

Inauguro la sección dedicada a Linux con este mini-tutorial. Llevo unos pocos años experimentando con aplicaciones de edición de vídeo bajo GNU/Linux, y tras cienes y cienes de pruebas, las solución que mejor me funciona es la combinación Avidemux + Cinelerra + mencoder/Tovid. La mayoría de programas (salvo Cinelerra) se pueden instalar desde los propios repositorios de Ubuntu, que es la distro que uso yo.

Avidemux sería el equivalente para Linux del VirtualDub de Windows. Es un programa sencillo para convertir vídeos a otros formatos principalmente (es el uso que más le doy yo), extraer pistas separadas de audio/vídeo, introducir efectos básicos (subtítulos, escalados, "moscas" tipo TV, etc.) y hacer ediciones simples.

Para la edición más "profesional" de vídeo he probado otras aplicaciones como Kino, Lives, KDEnlive, pero la única que realmente funciona para mí es Cinelerra, de Heroine Warrior. No es Adobe Premiere, obviamente, ni tiene la mejor estabilidad o el mejor interfaz del mundo (de hecho tantas ventanas son algo engorrosas), pero tiene suficientes opciones y efectos como para satisfacer al usuario aficionado como yo. Finalmente, la conversión del vídeo obtenido con Cinelerra al formato deseado la realizo o bien con mencoder, el soft de codificación de vídeo que viene con MPlayer, si es un clip corto para enviar por e-mail, o bien con Tovid, la "suite" de conversión a DVD/VCD/SVCD/etc. si lo quiero en un formato mayor.

Antes de comenzar, deciros que estoy usando Ubuntu 7.10 en un Athlon 2800+ con 1 Gb de RAM. Bueno, sin más rollos, os explico brevemente los pasos que sigo para editar un vídeo muy sencillo:

  1. Extracción de cortes y conversión del vídeo a un formato reconocible por Cinelerra: tras muchas pruebas, he comprobado que Cinelerra trabaja muy bien con vídeos en formato XVid (o DivX) + Wav PCM. También es capaz de leer otros formatos (MPEG, DivX, QuickTime), pero dicha combinación es la que, al menos a mí, menos errores me da al trabajar. Para convertir un corte a formato XVid, abriremos el vídeo con Avidemux y seleccionaremos el fragmento a extraer. En la siguiente captura podéis ver los controles básicos del interfaz para realizar esto:


    Una vez seleccionado el fragmento, elegimos el formato de codificación dejando las opciones por defecto (XVid4 para vídeo, WAV PCM para audio, formato de archivo AVI) y renderizamos el vídeo pulsando Ctrl+S o desde el menú Archivo->Save->Save video, seleccionando la ruta y nombre del archivo a obtener. La siguiente captura os ayudará un poco:

    IMPORTANTE: este paso 1. sólo es necesario en caso que, al importar el vídeo con Cinelerra, éste no sea capaz de reconocerlo o al editarlo la aplicación se vuelva inestable.

  2. Montaje del vídeo con Cinelerra: no voy a entrar en el funcionamiento completo de la aplicación, únicamente explicaré las funciones de los botones básicos necesarios para montar un vídeo simple. Bien, para trabajar yo suelo emplear simplemente 2 ventanas además de la principal (Program, en la que se encuentran las líneas temporales de vídeo y audio): Compositor y Recursos (Resources). Se seleccionan desde Window->Show Compositor y Window->Show Resources respectivamente. En la primera veremos una previsualización del frame en actual, mientras que en la segunda tendremos acceso a los clips de vídeo con los que vayamos a trabajar, así como a los diferentes efectos y transiciones de vídeo y audio ofrecidos por Cinelerra:


    (Os recomiendo que tengáis siempre al menos 2 pistas de audio, ya que si arrastráis un vídeo con sonido estéreo -2 pistas- a un área con una sola pista, las pistas se cargarán una a continuación de la otra.)

    Antes de nada, seleccionaremos el formato del proyecto de vídeo desde Settings->Format... Escogemos la frecuencia y pistas del audio y el tamaño y frames por segundo del vídeo. Podemos optar por seleccionar un formato predefinido o crear uno personalizado:


    Cargamos los clips desde File->Load files... Seleccionamos los clips, la estrategia de inserción "Create new resources only" y pulsamos la V verde:


    Con los clips cargados (podemos añadir más en cualquier momento) ya podemos comenzar la edición. Para este ejemplo, simplemente arrastraremos ambos clips en la línea temporal (ventana Program) uno a continuación del otro desde la carpeta Media de la ventana Resources y seleccionaremos el comienzo y final del renderizado, pinchando sobre los corchetes [ y ] cuando estemos situados en los frames inicial o final del vídeo que queramos renderizar:


    Para renderizar el vídeo, la mejor opción para Cinelerra es hacerlo en formato QuickTime para Linux. He hecho numerosas pruebas con distintos formatos de vídeo y audio, y la mejor combinación, la que funciona prácticamente siempre y casi nunca genera errores ni cuelgues de la aplicación, es vídeo en Motion JPEG A + audio en Twos Complement bajo formato de archivo Quicktime for Linux. El inconveniente es que generará un archivo muy grande, ya que tendrá poca compresión, pero de mucha calidad, y con el cual Cinelerra podrá trabajar sin problemas. De hecho, en ocasiones me salto el paso 1. y en su lugar convierto los vídeos originales con Cinelerra a formato .mov para trabajar mejor. La opción de renderización está en File->Render..., y las opciones las tenéis en la captura siguiente:

    Por cierto, en cualquier momento podéis guardar el estado del proyecto de vídeo actual desde el menú File->Save as... Deberéis darle un nombre al archivo que termine con la extensión .xml, ya que el formato de los proyectos es XML.

  3. Conversión del vídeo final: esta conversión hay que hacerla en un terminal tanto con mencoder como con Tovid, ya que aunque el segundo programa posee interfaz gráfica desde hace tiempo, ésta nos permite generar vídeos de forma muy rígida, poco configurable.
    1. Mencoder: si optamos por mencoder podemos crear un vídeo en DivX o en XVid, tanto en baja calidad como en calidad normal:
      1. DivX en baja calidad:
        # mencoder -zoom -of avi -ofps 15 -ovc lavc -oac mp3lame -lameopts cbr:br=64 -lavcopts vcodec=mpeg4:vbitrate=100 -vf scale=172:144 final.mov -o final.avi -delay +0.3

      2. DivX en calidad normal:
        # mencoder -zoom -of avi -ofps 25 -ovc lavc -oac mp3lame -lameopts cbr:br=160 -lavcopts vcodec=mpeg4:vbitrate=800 -vf scale=640:480 final.mov -o final.avi -delay +0.3

      3. XVid en baja calidad:
        # mencoder -zoom -of avi -ofps 15 -ovc xvid -oac mp3lame -lameopts cbr:br=64 -xvidencopts pass=2:bitrate=200 -vf scale=172:144 final.mov -o final.avi -delay +0.3

      4. XVid en calidad normal:
        # mencoder -zoom -of avi -ofps 25 -ovc xvid -oac mp3lame -lameopts cbr:br=160 -xvidencopts pass=2:bitrate=800 -vf scale=640:480 final.mov -o final.avi -delay +0.3

        Deberemos variar el parámetro -delay en función de la sincronización de nuestro vídeo final: si el audio se retrasa, aumentamos el valor (-delay +x); si se adelanta lo decrementamos (-delay -x).

    2. Tovid: os pondré de ejemplo la codificación de un vídeo con resolución 640x480 a formato KVCD con bitrate de vídeo de 1000 Kbits/segundo:
      # tovid -kvcd -pal -aspect 640:480 -vbitrate 1000 -in final.mov -out final
Espero que esto os ayude a adentraros en el mundo de la edición de vídeo bajo GNU/Linux, algo que no es tan sencillo como en Windows o Mac pero que con un poco de práctica puede darnos unos frutos de lo más interesantes.


Salu2, Paco.

5 comentarios:

Unknown dijo...

Gracias por las explicaciones, me siento todavía muy novato para tanto programa, pero con el tiempo volveré a leelo.
De momento me entrenaré un poco con Avidemux, que parece el mas sencillo para neófitos (esparo esté en español).

De nuevo, gracias por compartir.

PakoRock dijo...

De nada, me alegro que le haya servido a alguien.

El Avidemux es un calco del VirtualDub para Windows en cuanto a funciones, y para ediciones sencillas o conversión de vídeos/pelis a otros formatos (DivX, XVid) está muy bien.

Yo uso Ubuntu 8.04 y tengo Avidemux en castellano, imagino que para tu distro también estará traducido.


Salu2.

omix dijo...

Nunca te he puesto nada en este post, pero es el que mas veces e leido con diferencia. y por supuesto mas me ha ayudado. Un abrazo..

PakoRock dijo...
Este comentario ha sido eliminado por el autor.
PakoRock dijo...

Pues gracias de nuevo, tiu!!! Por cierto, hace un rato me he enterado que en agosto lanzaron la versión 4:
http://sourceforge.net/project/showfiles.php?group_id=13554&package_id=50184

Me la he bajado, la tengo que instalar y probar. Ya te contaré qué tal es.


Salu2.