Edición de video simple desde GNU/Linux

Software

Sobre este documento

Publicado por Tuxpuc.

Los ejemplos mostrados se ejecutaron usando Debian testing(lenny) con los siguientes programas:

  1. mencoder versión 1.0.rc2svn20
  2. mplayer versión 1.0.rc2svn20
  3. audacity versión 1.3.4-1.2

0.1 Notaciones

Usaré el formato HH:MM:SS (horas, minutos y segundos) para referirme a tiempos. Dado que el tipo de los archivos no depende de su extensión, y para evitar confundir los tipos, cuando se incluya el nombre de un archivo en un comando no se usarán extensiones necesariamente.

1. Introducción

La edición de video es un tema complejo, especialmente si se desean acabados finos. Este manual no pretende ser exhaustivo ni avanzado.

Existen diversas aplicaciones de software libre tanto para la edición de video y audio, como para la de ambos en simultáneo(ver Apéndice A). Para la edición de video se usó mencoder y para la edición de audio Audacity.

Hay varios conceptos que necesitamos tener claros antes de comenzar con la edición de video: contenedor, formato y códec. Pueden encontrar una muy buena referencia a éstos el la guía de introducción a mencoder en el wiki de gentoo.

2. Edición de video

2.1 Mencoder

MEncoder es un codificador/decodificador de video que provee una interfase por línea de comandos. Soporta gran cantidad de formatos de audio y video y permite un amplio control sobre las opciones de cada códec.

El reproductor asociado a mencoder es mplayer, que puede reproducir todos los formatos soportados por mencoder.

2.1.1 Instalación

Si se encuentran usando Debian, agreguen un mirror del repositorio debian multimedia a su /etc/apt/sources.list y luego basta con:

 
# apt-get install mencoder mplayer

Si están en otra distribución es proble que también alguno de los servidores de paquetes los tengan, y en el peor de los casos pueden ver la guía de instalción manual.

2.1.2 Uso básico

Tomando un caso simple de la página de manual de mencoder(man mencoder), para transformar un un fichero a un formato que lee nativamente mplayer se usaría:

 
$ mencoder video-origen.wmv -o video-destino.avi -ovc lavc -oac lavc

2.2 Partir videos sin pérdida de calidad

Cuando se manipulan videos, es necesario notar que no es bueno recodificarlos cada vez que se hacen cambios, ya que cada vez irán perdiendo calidad si se codifican en formatos con pérdida. Es por ello que es importante tener una forma de guardar sin recodificar.

Por ejemplo si tenemos un archivo mpg como base:

 
mostrar tipo
$ file M2U00138.MPG
M2U00138.MPG: MPEG sequence, v2, program multiplex

Podemos llegar primero a un formato que luego no será necesario recodificar.

 
convertir a un archivo sin video ni audio compreso
$ mencoder M2U00138.MPG -oac copy -ovc copy -o drupalspeech01

A partir de allí podemos manipularlo sin perder más calidad.

 
mostrar tipo
$ file drupalspeech01
drupalspeech01: RIFF (little-endian) data, AVI, 720 x 480, ~24 fps, video:,
audio: MPEG-1 Layer 3 (stereo, 22050 Hz)

Ahora especifiquemos dónde queremos que inicie y en cuánto tiempo termine de codificar.

En mi caso tenía una cámara que grababa a lo más archivos de 2GB, es decir si llegada la grabación a ese tamaño inmediatamente cortaba el archivo y comenzaba otro; así que necesité cortar y pegar archivos de video.

Digamos que tengo 2 archivos que contienen un video en dos partes:

 
listar
$ ls -1
M2U00138.MPG
M2U00139.MPG

Pero no necesito incluir los primeros 65 segundos de la primera parte, ni los últimos 30 segundos del segundo(que dura 00:58:00).

 
cortar el 1er video
$ mencoder M2U00138.MPG -oac copy -ovc copy -ss 00:01:05 -o drupalspeech01
cortar el 2do video
$ mencoder M2U00139.MPG -oac copy -ovc copy -endpos 00:57:30
-o drupalspeech02

Naturalmente pueden usar las dos opciones al mismo tiempo, como nos muestran en Trim or split videos with Mencoder.

2.3 Juntar videos

Luego de tener los archivos cortados uniremos las partes. Siguiendo el ejemplo anterior:

 
juntar ambos videos cortados
$ mencoder M2U00138.MPG -oac copy -ovc copy drupalspeech01 drupalspeech02
-o drupalspeech

2.4 Unir audio y video

Para reemplazar el audio de un video existente drupalspeech, con el audio audio-editado.wav y escribir los cambios en drupalspeech-editado.avi

 
$ mencoder -ovc copy -oac copy -audiofile drupalspeech.wav 
-o drupalspeech-editado.avi drupalspeech-editado.avi

2.5 Comprimiendo videos

Si bien es recomendable tener los videos a la calidad en la que fueron grabados durante la edición, cuando queremos compartirlos no es buena idea dejarlos así.

Dos de los codecs de compresión de video más difundidos son Xvid y FFmpeg Flash video.

Como ya se mencionó las opciones de codec son bastante personalizables, y probablemente mientras más se exploren dichas opciones se puede obtener mejor calidad. A continuación dos ejemplos de compresión a los formatos mencionados.

Comprimiendo el archivo anterior de video drupalspeech-editado.avi a video flash y audio mp3, usando dos pasadas:

 
# bucle para bash
for i in {1,2}; do
mencoder drupalspeech-editado.avi -o drupalspeech-final.flv -of lavf
-oac mp3lame -lameopts cbr:br=64
-lavcopts
vcodec=flv:vbitrate=200:cbp:mv0:mbd=2:trell:v4mv:last_pred=3:vpass=$i
-vf harddup,scale=320:240 -ovc lavc -ofps 25
-srate 22050 -ofps 24 -vf harddup;
done

Comprimiendo el archivo anterior de video drupalspeech-editado.avi con el códec x264 y audio mp3:

 
$ mencoder drupalspeech-editado.avi -o drupalspeech-final.avi
-oac mp3lame -ovc x264 -x264encopts bitrate=200

3. Edición de audio

3.1 Audacity

Audacity resalta por su facilidad de uso para el usuario, simplicidad y buenos acabados con poco esfuerzo(plugins de buena calidad).

3.1.1 Instalación

 

Si se encuentran usando Debian o uno de sus derivados(*buntu) basta con:

 
# apt-get install audacity

3.1.2 Uso básico

Pueden encontrar una referencia inicial de audacity en la documentación del proyecto.

3.2 Mejorando los audios

Cuando se realizan grabaciones de video y audio usualmente se obtiene más información de la que se quisiera: ruido. Por ejemplo, el ruido del aire acondicionado en una sala.

3.2.1 Extraer el audio de un video

Para el caso específico del audio de un video con las herramientas usadas, es necesario primero extraer el audio del video. Por ejemplo, si necesitamos extraer el audio del video drupalspeech-editado.avi a un archivo de audio drupalspeech-audio.wav.

 
$ mplayer -quiet
-ao pcm:fast:file=drupalspeech-audio.wav
drupalspeech-editado.avi

Una vez que tenemos el audio, podemos mejorarlo con cualquier editor de audio.

3.2.2 Editando el audio

Audacity ofrece muchas formas de manipular un archivo de audio a través de plugins con funciones específicas: Normalizar, Quitar el ruido, Amplificar, Ecualizar, Efectos fade-in/fade-out, Truncar silencio, Realce de graves, etc.

Todas estas funcionalidades se aplican por trozos de audio. Es allí donde es trascendente la intervención adecuada del editor, ya que los audios no son uniformes. Por ejemplo en el caso de una conferencia: la voz de del expositor y sus gritos(acercarse demasiado al micrófono), la voz de las personas sin micrófono(muy baja), etc.

A continuación menciono cómo usar 3 de los plugins que más útiles me fueron, usualmente en el orden mencionado.

3.2.2.1 Normalizar quitando picos

Normalizar es alienar verticalmente la amplitud del sonido, de modo que éste sea más uniforme. En Audacity, el plugin perite al mismo tiempo establecer una amplitud máxima posible, con lo que se puede quitar en ese mismo momento los picos indeseados.

- Seleccionen el trozo audio a normalizar(usualmente toda la pista de audio).

- Ingresar a Plugins->Normalizar

img/audacity-normalizing

 3.2.2.2 Reducción de ruido

Si bien dentro de Audacity existe la posibilidad de presionar un botón y mágicamente quitar el ruido, tenemos que tener en cuenta que esto no es posible de hacer al 100%, ya que la apreciación de ruido es diferente según la percepción. Sin embargo, se logra mejorar apreciablemente la calidad de audio con este plugin.

- Seleccionen una muestra de ruido(trozo audio a que sólo contenga el ruido de fondo, usualmente en los silencios del audio).

- Ingresar a Plugins->Reducción de ruido->Obtener perfil de ruido

img/audacity-noise-get-profile


- Seleccionen el trozo audio al que le quieren quitar el ruido de fondo.
- Ingresar a Plugins->Reducción de ruido->Filtrar el ruido

3.2.2.3 Amplificar

Se refiere a subir el volumen de un trozo de audio.

Seleccionen el trozo audio a amplificar.

Ingresar a Plugins->Amplificar

img/audacity-amplify

Apéndice A

Aquí se muestra una lista de algunas de las aplicaciones alternativas a las dos usadas en este manual.

3.1 Editores de video en modo gráfico

Cinelerra
LiVES
Avidemux
Kino
Kdenlive

3.2 Editores de audio en modo gráfico

Ardour
Jokosher
Wave Surfer
Sweep
AdjuntoTamaño
mencoder.pdf247.65 KB