Guia de Conversión de formatos multimedia

Por lo general uno siempre tiende a transformar todo tipo de archivos para poder ser utilizados en diferentes dispositivos, reproductores de DVD, telefonos Celulares, reproductores Mp4, Psp, etc..etc.. cuando comence a utilizar Linux Ubuntu, descubri que si bien por medio de diferentes programas de entorno gráfico esto es muy sencillo, tambien tenemos la variante de hacerlo por comandos desde una ventana de terminal...

Lo básico.

Una conversión de formatos consiste en transformar el contenido de los datos multimedia de un tipo de fichero a otro. En los casos de ficheros multimedia, esta conversión suele estar asociada con una pérdida de datos por lo que es importante asegurarse de que esta conversión es necesaria.

Formatos de audio

MP3 -> OGG
Se requiere el programa mp32ogg
$ sudo aptitude install mp32ogg


Para convertir
$ mp32ogg music.mp3 music.ogg


Para convertir toda la carpeta
$ mp32ogg *.mp3 *.ogg


A continuación se enumeran algunas conversiones comunes en ficheros de sonido empleando Ffmpeg.

WMA -> MP3
Tras el parametro ab especificaremos el bitrate del MP3 (192 en el ejemplo).

$ ffmpeg -i ficheroEntrada.wma -f mp3 -ab 192 ficheroSalida.mp3


MP3 -> AMR

$ ffmpeg -i music.mp3 -acodec amr_nb -ar 8000 -ac 1 -ab 32 music.amr


WAV -> AMR

$ ffmpeg -i music.wav -acodec amr_nb -ar 8000 -ac 1 -ab 32 music.amr


MPEG -> MP3
Extrae el audio de un fichero MPEG y lo pasa a MP3

$ ffmpeg -i video.mpg -f mp3 audio_track.mp3



Formatos de vídeo
A continuación se enumeran algunas conversiones comunes en ficheros de video empleando Ffmpeg.

AVI -> FLV

$ ffmpeg -i movie.avi -acodec mp3 -ar 11025 movie.flv


3GP -> MPEG4

$ ffmpeg -i movie.3gp -vcodec mpeg4 -acodec mp3 movie.avi


AVI -> VCD
Añadiendo la opción -hq usa alta calidad.

$ ffmpeg -i myfile.avi -target pal-vcd myfile_vcd.mpg


MPEG -> 3GP

$ ffmpeg -i archivo.mpeg -s qcif -r 12 -ac 1 -ar 8000 -b 30 -ab 12 salida.3gp


O también con más calidad:

$ ffmpeg -i archivo.mpeg -s qcif -r 15 -ac 1 -ar 8000 -b 256000 -ab 15 salida.3gp


MPEG -> XviD

$ ffmpeg -i pelicula.mpg -acodec mp3 -vcodec xvid -b 687 pelicula.avi


MPEG -> FLV

$ ffmpeg -i pelicula.mpg -vcodec flv -y pelicula.flv


El fichero resultante no contiene correctamente la información de meta datos. Esto implica que cuando utilices el fichero en un visualizador de videos Flash como Flash Video Player el fichero se verá correctamente pero la barra de progreso no se actualizará. Para arreglar esto usa la utilidad flvtool2 que la encontrarás en http://inlet-media.de/flvtool2. Está hecha en Ruby de modo que tendrás que instalar el paquete correspondiente. Se usa así:

$ flvtool2 -U pelicula.flv


También tenemos otra utilidad llamada FLV MetaData Injector que aunque sea para Windows, funciona perfectamente con Wine (por lo menos la versión de línea de comandos). Se usa así:

$ wine flvmdi.exe pelicula.flv


Otra forma de convertir a formato FLV es usando Memcoder:

$ mencoder pelicula.avi -o pelicula.flv -of lavf -oac mp3lame -lameopts br=32 -af lavcresample=22050 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=340:autoaspect:mbd=2:trell:v4mv -vf scale=320:240 -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames


AVI -> DV
Este es el formato Digital Video, el mismo que produce una cámara de vídeo digital y es el que se puede usar para editar con Kino.

$ ffmpeg -i pelicula.avi -target pal-dv pelicula.dv


Esto me da unos errores de sincronismo del audio que no veo que se noten. Si quieres evitarlos tendrás que hacerlo de esta forma:

$ mencoder pelicula.avi -ovc lavc -oac pcm -o pelicula-new.avi


$ ffmpeg -i pelicula-new.avi -s pal -r pal -ac 2 -ar 48000 pelicula.dv && rm pelicula-new.avi


Otra forma de hacerlo:

$ ffmpeg -i pelicula.avi -vcodec dvvideo -acodec copy -f dv pelicula.dv -hq


Kino también lee el formato AVI generado de esta forma (por ejemplo a partir de un FLV):

$ mencoder -oac mp3lame -ovc xvid -of avi -xvidencopts bitrate=1350 -o output.avi input.flv


AVI -> PNG

$ ffmpeg -i swing.avi -vcodec png -vframes 1 -an -f rawvideo -s 320x240 swing1.png


JPG -> DivX

$ mencoder -mf on:w=800:h=600:fps=0.5 -ovc divx4 -o output.avi \*.jpg


Así te muestra una foto cada dos segundos, si quieres cada cuatro segundos deberías poner 0.25 en fps.

Si este comando no te funciona prueba con

$ mencoder "mf://*.jpg" -mf fps=0.25 -vf scale=480:360 -o output.avi -ovc lavc -lavcopts vcodec=mpeg4


Con lo que obtendrás un video de todos los archivos jpg ubicados en el path desde el cual lanzas el comando y que te muestra 1 foto cada 4 segundos

Incluir subtítulos en un vídeo

$ mencoder -ovc lavc -oac mp3lame pelicula.avi -o pelicula_con_subtitulos.avi -sub subtitulos.srt


Convertir al formato OGG Theora

A continuación se muestran algunos ejemplos de conversiones de vídeo empleando ffmpeg2theora, para instalarlo:

$ sudo aptitude install ffmpeg2theora


DV -> Ogg Theora

$ ffmpeg2theora videoclip.dv


esto creará un archivo Ogg Theora llamado videoclip.dv.ogg. Para codificarlo con otra calidad, digamos Video Quality 7 y Audio Quality 3:

$ ffmpeg2theora -v 7 -a 3 videoclip.dv


también puedes usar el v2v Presets para codificar tu video

$ ffmpeg2theora -p preview videoclip.dv
o
$ ffmpeg2theora -p pro videoclip.dv


MPEG4 -> Ogg Theora

$ ffmpeg2theora videoclip.mp4


MOV -> Ogg Theora

$ ffmpeg2theora videoclip.mov


M4A -> Ogg Theora

$ ffmpeg2theora videoclip.m4a


3GP -> Ogg Theora

$ ffmpeg2theora videoclip.3gp


3G2 -> Ogg Theora

$ ffmpeg2theora videoclip.3g2


MJ2 -> Ogg Theora

$ ffmpeg2theora videoclip.mj2


Comprobar el resultado

Si el formato de destino no lo soporta el reproductor multimedia Totem puedes usar la aplicación ffplay que viene en el paquete ffmpeg, reproducirá cualquier formato soportado por ffmpeg. Esto es útil, por ejemplo, para el formato de audio de móvil AMR.

Fuente: http://www.guia-ubuntu.org

1 comentario:

Anónimo dijo...

muy bueno. Gracias por la informacion