Mi cámara de video doméstico es una Sony Handicam que graba en Full HD sobre un disco duro.
La cámara viene con un software de visionado que evidentemente solo funciona sobre MS Windows, así que para visionar los videos en GNU/Linux hay que recurrir a software como VLC que es de los que más formatos reconocen.
Incluso en el Mac de mi mujer no podemos verlos.
Si además de verlos, queremos editarlos, la complicación ya es importante puesto que por las pruebas que he realizado no pueden importarse directamente ni en Cinelerra, PiTiVi, Kino, etc… La única vía es convertirlos previamente.
Para ello podemos usar VLC con su función «convertir» pero la experiencia no fue demasiado buena, daba algunos problemas.
Finalmente opté por ffmpeg, que aunque funciona por linea de comandos tiene una interfaz gráfica que es WinFF muy interesante. Vamos primero a bajar y compilar una versión de ffmpeg a nuestro gusto y depués a instalar WinFF.
Obtenemos e instalamos primero los paquetes de codecs y herramientas de compilación que vamos a necesitar:
sudo apt-get update
sudo apt-get install build-essential libxvidcore4 libxvidcore-dev libfaad-dev libfaac-dev libmp3lame-dev subversion
Ahora bajamos la versión más actual de ffmpeg y pedimos que nos la guarde en un directorio llamado ffmpeg:
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
Entramos al directorio creado:
cd ffmpeg
y compilamos:
./configure --enable-gpl --enable-libmp3lame --enable-libxvid --enable-libfaac --enable-nonfree --disable-yasm
make
sudo make install
El –disable-yasm de la linea del configure podeis eliminarlo en un primer intento porque parece que no siempre es necesario. A mi me saltaba un error así que tuve que incluirlo.
En este momento tenemos 2 posibilidades: instalamos WinFF para trabajar de una forma gráfica más cómoda o usamos ffmpeg por linea de comandos con un pequeño script en bash que nos hará ser más rápidos y efectivos. Si predieres la primera opción sigue leyendo, si prefieres la segunda salta al punto 2.
1. Ahora ya podemos descargar e instalar WinFF:
sudo apt-get install winff
Una de las claves de la conversión es utilizar los mismos parámetros del video original en la conversión para no perder calidad ni tamaño (para eso compramos una cámara en HD ¿no?). Por ello es interesante realizar primero un análisis del archivo original con la función de obtener información incluida en ffmpeg. Para eso navegamos hasta el directorio donde tenemos volcados nuestros *.MTS y ejecutamos:
ffmpeg -i Nombre_del_fichero.MTS
Obtendremos un montón de información pero lo que nos interesa es la parte final donde aparecen los siguientes datos (en mi caso):
Input #0, mpegts, from ‘Nombre_del_fichero.MTS’:
Duration: 00:01:13.86, start: 1.000033, bitrate: 9390 kb/s
Program 1
Stream #0.0[0x1011]: Video: h264, yuv420p, 1440×1080 [PAR 4:3 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
Stream #0.2[0x1200]: Subtitle: pgssub
Así que lo que ahora sabemos es el video está codificado con el codec h264 a 9390kb/s, a 1440×1080 pixeles, pixel aspect ratio de 4:3, display aspect ratio 16:9 y a 50 cuadros por segundo.
Respecto al audio tenemos que se trata de un stereo a 256kbs y 48kHz codificado con ac3.
Abrimos WinFF e importamos aquellos archivos que deseemos convertir. El programa trabaja en batch con lo que podemos crear una cola de trabajo para que convierta varios consecutivamente.
Una vez importados, en la parte inferior, en Resultado, selecionamos los codecs que queremos usar y pulsando el botón superior Ajustes abrimos un desplegable donde podemos copiar los datos del video que hemos obtenido antes para mantener el máximo de calidad. Por cierto el valor de la relación de aspecto es el dato DAR, en mi caso 16:9.
Evidentemente también podemos convertirlo a una menor calidad (ya vienen algunos presets por defecto).
Pulsamos en Convertir y comienza el proceso.
Os recomiendo empezar con un fichero de corta duración para hacer pruebas y comprobar que todo está correcto, porque el proceso es bastante tedioso.
Con esto ya tendríamos nuestros ficheros en un formato comprensible por los editores de video habituales.
A no ser que hallmaos optado por la 2ª vía, mucho más apasionante:
2. Para el caso de una conversión puntual podemos ejecutar ffmpeg con la siguiente sintaxis:
ffmpeg -i Nombre_del_fichero.MTS -vcodec libxvid -b 12000k -acodec libmp3lame -ac 2 -ab 256k -deinterlace -s 1440x1080 Nombre_del_fichero_de_salida.AVI
Pero si solemos usarlo habitualmente podemos crear un script de bash para que convierta todos los ficheros .MTS que tengamos en un directorio de manera automática a un AVI definido previamente.
Para ello vamos a abrir un editor de texto en modo superusuario:
sudo gedit
y pegamos el siguiente script:
#!/bin/bash
for a in `ls *.MTS` ; do ffmpeg -i $a -vcodec libxvid -b 12000k -acodec libmp3lame -ac 2 -ab 256k -deinterlace -s 1440x1080 `echo "$a" | cut -d'.' -f1`.avi ; done
exit
Como en el comando anterior fíjate que el valor 12000k representa el birate de video (hemos comprobado que nuestros videos andan alrededor de 9000) y que 256k es el bitrate del audio. Así mismo se incluyen los codecs que queremos usar en la conversión.
Podemos guardar nuestro script en /usr/share donde podemos crear la carpeta misscripts (para guardar estas cosillas) y guardarlo como ConvertirMTS (por ejemplo).
Ahora simplemente navegamos hasta el directorio donde tenemos nuestros videos y ejecutamos el script de la siguiente manera:
bash /usr/share/myscripts/ConvertirMTS
Y de esa forma comenzará el proceso y se convertirán automáticamente todos los videos de ese directorio. Como en la solución anterior el proceso es lento, así que paciencia.
Fuentes: Gran parte de la información de este artículo proviene de justplainobvious
Lo dicho,
Gracias mil; me viene al pelo (que no tengo) para convertir los vídeos que saco con la Luismix
😉
Me alegro mucho, dale caña
En verdad muchas gracias, en mi trabajo debia buscar uno que fuera compatible con W pero gracias a vos en casa lo hago muchisimo mas rapido y no pierde nada de calidad.-
Mil gracias y un abrazo