He aquí como resumen (y para acordarme) los programas que uso para transformar archivos de vídeo en mi Ubuntu Hardy Heron:
- Si es AVI con track de audio MP3, ninguno 🙂 Aunque hay que tener cuidado: si las dimensiones son demasiado “cuadradas” (similares en altura y anchura), es posible que el reproductor recorte la altura dejando la anchura ajustada a la pantalla, y si la película tiene subtítulos, éstos pueden no verse en la tele por ese recorte… (en ese caso, lo proceso según el paso 2).
- Si el track de audio no es MP3, o quiero obtener compatibilidad con reproductores antiguos, uso ffmpeg para convertirlo a MPG/MP3 con
ffmpeg -i "fichentrada.avi" -target pal-vcd -s MxN -padtop Z -padbottom W -padright Y -padleft X "fichsalida.mpg"
, donde M es el ancho en píxeles de la imagen final, sin contar el relleno en negro, N el alto, Z los píxeles de relleno en negro superior, W el relleno inferior, Y el derecho y X el izquierdo, teniendo en cuenta que MxN debería tener el aspect ratio adecuado, que los rellenos en negro deberían ser múltiplos de 4, y que M+Z+W = 288 y N+Y+X = 352, las ridículas dimensiones de un vídeo MPEG. - Si tengo que añadir subtítulos, depende de en qué formato vengan. Si vienen en formato SRT uso mencoder de la siguiente forma:
mencoder -oac lavc -lavcopts acodec=mp2:abitrate=64 -ovc xvid -xvidencopts bitrate=-600000 -sub "subtitulos.srt" -font /usr/share/fonts/truetype/freefont/FreeSans.ttf -subfont-text-scale 3 -o "ficheroresultante.avi" "ficheroorigen.avi"
, donde el “-600000” indica que el resultado ocupe menos de 600Mb. - Si los subtítulos vienen en formato .sub+.idx (o sea, Vobsub sacado directamente de un DVD o similar), hay que escanearlos con un OCR para transformarlos en SRT. Avidemux (que para las conversiones directas de vídeo dejé de usarlo porque siempre cascaba) tiene una herramienta buena para eso.
- Si los subtítulos vienen en formato SUB, se pueden transformar en SRT con la herramienta sub2srt, aunque aún no la he probado.
- Si quiero desplazar el audio para quitar desfases, uso de nuevo mencoder:
mencoder -oac copy -ovc copy -delay 1.250 ficheroorigen.mpg -o ficherofinal.mpg
, donde 1.250 es el desfase en segundos (con decimales), que es positivo para adelantar el audio, negativo para atrasarlo. - Si quiero desfasar los subtítulos, los puedo modificar con el script
subs
que viene en el paquetelibsubtitles-perl
del repositoriouniverse
. La línea seríasubs -i -b -7 fichero.srt
para adelantar 7 segundos los subtítulos (y dejarlos en el mismo fichero, que pasa a ser .bak). - Si el vídeo lo quiero capturar de Youtube, a veces es tan simple como dejar que lo precargue y luego cogerlo del directorio de la caché de Firefox; pero esos vídeos pueden venir en formato .flv, con lo que es deseable pasarlos a mpeg, por ejemplo. Tanto para hacer la captura directamente desde la web de youtube (sin tener que andar con la caché) como para transformarlos en .mpeg, se puede usar la utilidad Clive mediante este comando:
clive --ffmpeg="/usr/bin/ffmpeg -y -i %i %o" --reencode=mpg URL-DEL-VIDEO-EN-YOUTUBE
. - Si el fichero de vídeo tiene varias pistas de audio mezcladas (por ejemplo, inglés+español), se pueden demultiplexar con Avidemux (menú Audio -> Main Track y luego Audio -> Save). Para multiplexar de nuevo con la pista de vídeo:
ffmpeg -i ficherooriginal.avi -vcodec copy -map 0.0 -i pistaaudio.mp3 -acodec copy -map 1.0 ficherosalida.avi
. Al ejecutar esto da también una lista de los tracks del fichero original de vídeo y del de audio, con sus números, por si estas opciones que pongo aquí para los mapeos (map
) no se aplicaran igual. NOTA: Si supiéramos la numeración de ffmpeg para los tracks de audio del vídeo original, se podría hacer todo en un paso con el ffmpeg:ffmpeg -i ficherooriginal.avi -vcodec copy -acodec mp3 -ab 128 -map 0.0 -map 0.1 ficherosalida.avi
- Si la pista de audio la tengo separada y no está en mp3, se puede convertir a mp3. Por ejemplo, si está en ac3 se puede hacer
ffmpeg -i kk.ac3 -acodec mp3 -ab 128 kk.mp3
. También se puede instalarsound converter
para gnome y hace la conversión. - Si el fichero es Matrovska (.mkv), se puede ver los tracks que contiene con
mkvinfo fichero.mkv
y se pueden extraer conmkvextract tracks idtrack1:fichero1 idtrack2:fichero2 ...
. - Si el fichero de vídeo es realvideo (rm, rmvb, rv40), se puede convertir a xvid con mencoder normalmente, siempre que se tengan instalados los codecs con
sudo apt-get install w32codecs
ow64codecs
.
Algunas veces hay que hacer varios pasos de éstos hasta llegar al formato definitivo. Y siempre es bueno darle un repaso al vídeo resultante para ver que la sincronización de subtítulos esté bien, y el audio (algunas conversiones AC3->MP3 desfasan el audio).





