onUnload=''window.alert('Gracias Por Tu Visita')''

viernes, 15 de junio de 2007

FFmpeg: una herramienta para codificar video


Ultimamente me ha dado por descargar videitos de la pagina de youtube, es que sinceramente que chimba de videos que uno puede encontrar aqui, sobretodo de musica de la vieja guardia como Led Zeppelin, Whitesnake...verdaderas joyas...hasta ahi todo bien, cuando queria reproducirlos en Windows, necesitaba un reproductor de formato Flash Video (.flv, que es el formato de los videos de youtube, videogoogle y otros), no era problema pues de estos sobraban, algunos eran shareware y otros freeware, como BitCommet, (recomendado), pero bueno me interesaba obviamente la forma de reproducirlos en Debian 4.0 'Etch', al principio trate con algunos codecs reproducirlos en vlc, pero la calidad era deprimente, sin mencionar la falta de audio....(posiblemente me faltaron algunos codecs para .flv). De pronto, consultando en algunos foros en internet, se menciono FFmpeg, una herramienta por linea de comandos para codificar algunos formatos de video (basicamente todos los que ffmpeg puede leer), al principio trate de instalarlo con algunos problemas (sobretodo la falta de conexión a la red) con las dependecias de este paquete, hasta que me consegui el CD 4 de Debian y lo pude instalar sin problema, luego para hacerlo funcionar fue otro calvario, inicialmente la sintaxis para el comando se definia:

$ ffmpeg mivideo.flv mivideo.mpeg

$ ffmpeg [[iopciones de archivo de entrada][-i archivo de entrada]... {[opciones de archivo de salida] archivo de salida...


parecia sencillo, pero me aparecian errores frecuentes sobre formato no aceptado, parametros incorrectos, en fin, nada que codificaba, hasta que despues de tanto cacharrear y revisar las paginas del manual para ffmpeg.... finalmente encontre la solucion:).
Comienzo explicando entonces:
(Esto es para Debian 4.0 'Etch', no se si funciona para otras distros..habra que ver)

apt-get install ffmpeg

Ahora ya podemos convertir el video

ffmpeg -i Video.flv -ab 56 -ar 22050 -b 500 -s 320x240 Video.mpg

las opciones que puse las explico mas o memos asi:

-i filename:
nombre del archivo de entrada (por eso va al principio)
-b bitrate: activa bitrate del video en kbit/s (por defecto = 200 kb/s)
-ab bitrate: activa bitrate del audio en kbit/s (por defecto = 64)
-ar sample rate: set the audio samplerate in Hz (default = 44100 Hz)..algo asi como con el audio
-s size: configura el tamaño del cuadro. La forma es WxH (por defecto 160x128)

Asi que mientras hallo la forma de configurar vlc u otro reproductor de medios, ffmpeg es la solucion.

Otra cosita, ffmpeg no solo sirve para codificar videos..no, el proyecto va mas alla, pues esta hecho con varios componentes:

ffmpeg: Es una herramienta de lines de comandos para convertir un formato de video a otro. Ademas soporta grabbing y encoding en tiempo real desde una tarjeta de video.
ffserver:
Es un servidor HTTP de multimedia streaming para transmision en vivo.
ffplay: Es un reproductor de medios simple basado en SDL (www.libsdl.org) y en las demas librerias de ffmpeg.
libavcodec: Es una librería que contiene todos los decodificadores de audio/video de Ffmpeg. La mayoria de los codecs desde el principio hasta lograr un optimo desempeño y una alta recursividad del codigo.
libavformat: Es una librería que contiene los generadores para todos los formatos de audio/videos mas comunes.

No hay comentarios: