He aquí una breve guía para convertir archivos de audio utilizando ffmpeg. |
Formatos de audio
MP3 -> MP3
Esto es para bajar la calidad de un MP3:
$ lame -b 64 archivo_origen.mp3 archivo_destino.mp3
64 será el nuevo bitrate del archivo. Se puede usar cualquiera de los siguientes valores: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320. A mayor bitrate, mayor será la calidad de audio (y mayor el tamaño del archivo).
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
MIDI -> WAV
$ timidity -Ow -s 44100 -o output.wav input.mid
MIDI -> OGG
$ timidity -Og -s 44100 -o output.ogg input.mid
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
Desde la versión 9.04 hay que instalar el paquete libavcodec-unstripped-52 y reemplazar ‘-acodec mp3’ por ‘-acodec libmp3lame’ en las opciones del comando.
AVI -> VCD
Añadiendo la opción -hq usa alta calidad.
$ ffmpeg -i myfile.avi -target pal-vcd myfile_vcd.mpg
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
3GP -> MPEG4
$ ffmpeg -i movie.3gp -vcodec mpeg4 -acodec mp3 movie.avi
RMVB -> AVI
$ mencoder -oac mp3lame -lameopts cbr=128 -ovc xvid -xvidencopts bitrate=1200 video_entrada.rmvb -o video_salida.avi
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
FLV -> MPEG
$ ffmpeg -i video.flv video.mpeg
FLV -> AVI
$ ffmpeg -i video.flv video.avi
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 un video al formato OGV Theora
Ogg Theora es el codec de video pre instalado por defecto en ubuntu, por lo que no necesitaras instalar algún pack de codec para reproducirlos en ubuntu (esa es la ventaja de theora). A continuación se muestran algunos ejemplos de conversiones de vídeo empleando ffmpeg2theora, para instalarlo, abrimos un terminal(aplicaciones>accesorios>terminal) y escribimos:
$ sudo aptitude install ffmpeg2theora
Ffmpeg2theora es un programa de comandos (no grafico), por lo que todo se usa desde el terminal, el video que quieres convertir tiene que encontrarse en la carpeta home del usuario.
cualquier formato de video -> Ogg Theora
$ ffmpeg2theora videoclip.extensión
esto creará un archivo Ogv Theora llamado videoclip.ogv. Para codificarlo con otra calidad, digamos calidad de video: 7 y calidad de audio: 3:
$ ffmpeg2theora -v 7 -a 3 videoclip.extensión
también puedes usar el v2v Presets para codificar tu video
$ ffmpeg2theora -p preview videoclip.dv
o
$ ffmpeg2theora -p pro videoclip.dv
que la codificacion del video comienze desde el segundo 10 y termine en el segundo minuto del video
$ ffmpeg2theora -s 10 -e 120 videoclip.extensión
que el britrate de video sea 512 y el de audio 96
$ ffmpeg2theora -V 512 -A 96 videoclip.extensión
que el video se re dimensione a 640×480
$ ffmpeg2theora -x 640 -y 480 videoclip.extensión
optimizar el tamaño del video
$ ffmpeg2theora --optimize videoclip.extensión
especificar nombre de salidad (video ya codificado)
$ ffmpeg2theora -o nombre-alternativo videoclip.extensión
como es obvio se puede usar los comandos anteriores en una sola linea
$ ffmpeg2theora -s 10 -e 120 -V 512 -A 96 x 640 -y 480 --optimize -o nombre-alternativo videoclip.extensión
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.
Otros conversores
- Convert for free video files direct to your Mobile phone, iPod, PSP, PC Se trata de un servicio de conversión online, de modo que no tienes que tener nada instalado en tu PC.
- Zamzar Otro conversor de formatos online gratuito. Permite convertir tanto documentos como audio y video.
- Filsh Y otro conversor de formatos online!
- Mobile Media Converter Es un conversor multiplataforma con un interfaz gráfico bastante sencillo. Funciona con una versión Ffmpeg compilada para soportar formatos adicionales.
- Arista Transcoder Es un nuevo proyecto que facilita mucho la conversión de formatos de vídeo, sobre todo. Graficamente es muy agradable, aunque aún no está empaquetado para Ubuntu y si quiere probarlo tendrás que hacerlo a la antigua usanza.
- Convert Files Convert Files es un nuevo servicio de conversión de archivos online. Se trata de una opción más que tenemos los usuarios a la hora de elegir un servicio que nos permita introducir un archivo en un formato determinado para que nos lo convierta en otro archivo en el mismo o en otro formato dentro de la misma categoría.
- Cometdocs Es un potente conversor online multipropósito que trabaja con más de 50 formatos diferentes, permitiéndote realizar toda clase de conversiones directamente desde el navegador, sin la necesidad de instalar absolutamente nada, y de forma totalmente gratuita.
Gracias… No conocía todo lo que un programa tan sencillo pero tan potente podía hacer, cada día estoy más convencido de mi decisión de pasarme a Linux (tengo OpenSuse 12.2)
¿Que editor de video es el que se ve en la fotografía?
Se llama «Cinelerra»
Gracias! Saludos!
Me quito el sombrero ante tan hermoso topic y valiosa informacion, me toca comentar que ayer 12-12-2011 estaba buscando como cambiar formatos de video y me tope con informacion de Ffmpeg, despues de leer veo su verdadero poder y hoy encuentro este topic con informacion detallada.
Excelente topic
Otro dolor de cabeza sanado por este blog. El mejor de Internet, sin dudas.
Gracias, Dani.
Abrazo! Pablo.