FFmpeg

De Wikipedia, la enciclopedia libre

FFmpeg
Desarrollador Equipo de FFmpeg
Última versión estable 0.5
(9 de marzo de 2009)
Escrito en Lenguaje de programación C
S.O. Multiplataforma
Género Framework multimedia
Licencia LGPL
Idiomas No
En español ffmpeg.org

FFmpeg es una colección de software libre que puede grabar, convertir y hace streaming de audio y vídeo. Incluye libavcodec, una biblioteca de códecs. FFmpeg está desarrollado en GNU/Linux, pero puede ser compilado en la mayoría de los sistemas operativos, incluyendo Windows. El proyecto comenzó por Gerard Lantau, un seudónimo de Fabrice Bellard, y ahora es mantenido por Michael Niedermayer. Es destacable que la mayoría de los desarrolladores de FFmpeg lo sean también del proyecto MPlayer, más un miembro del proyecto Xine y que FFmpeg esté hospedado en el servidor del proyecto MPlayer.

Esquema de funcionamiento

Contenido

[editar] Componentes

El proyecto está compuesto por:

  • ffmpeg: es una herramienta de línea de comandos para convertir un video de un formato a otro. También puede capturar y codificar en tiempo real desde una tarjeta de televisión.
  • ffserver: es un servidor de streaming multimedia de emisiones en directo que soporta HTTP (la compatibilidad con RTSP está en desarrollo). Todavía no está en fase estable.
  • ffplay: es un reproductor multimedia basado en SDL y las bibliotecas FFmpeg.
  • libavcodec: es una biblioteca que contiene todos los códecs de FFmpeg. Muchos de ellos fueron desarrollados desde cero para asegurar una mayor eficiencia y un código altamente reutilizable.
  • libavformat: es una biblioteca que contiene los multiplexadores/demultiplexadores para los archivos contenedores multimedia.
  • libavutil: es una biblioteca de apoyo que contiene todas las rutinas comunes en las diferentes partes de FFmpeg.
  • libpostproc: es una biblioteca de funciones de postproceso de vídeo.
  • libswscale: es la biblioteca de escalado de vídeo.

FFmpeg está liberado bajo una licencia GNU LGPL o GNU GPL (dependiendo de cuáles bibliotecas estén incluidas). No hay liberaciones formales, los desarrolladores recomiendan utilizar el último snapshot de Subversion ya que mantienen constantemente una versión estable.

[editar] libavcodec

Es la biblioteca principal del proyecto FFmpeg es capaz de codificar/decodificar en varios formatos de audio y vídeo, está desarrollada en C.

[editar] Códecs de vídeo implementados

El códec de MPEG-4 utilizado por defecto en el FFmpeg tiene el código FourCC de FMP4.

[editar] Códecs de audio implementados

[editar] Legalidad

El estado legal del FFmpeg varía según el país. Algunos códecs incluidos, (como el Soreson 3) son reclamados por los dueños de las patentes. Estos reclamos tendrían valor en países como Estados Unidos donde se reconocen las patentes de software. Aun así muchos de estos códecs están liberados bajo términos que prohíben la ingeniería inversa, incluso para facilitar la interoperabilidad, términos que están prohibidos en algunos países. Por ejemplo en algunos países de la Unión Europea no se reconocen las patentes de software o disponen de leyes que expresamente permiten la ingeniería inversa para cuestiones de interoperabilidad. En cualquier caso muchas distribuciones de GNU/Linux no incluyen FFmpeg para evitar complicaciones legales.

[editar] Aplicaciones que hacen uso de FFmpeg

Xvidcap

[editar] Ejemplo de uso

//convertir a flv
ffmpeg -i input.avi -acodec mp3 -ab 32 -ac 1 -ar 44100 output.flv
//convertir a audio solo
 ffmpeg -i input.wav -acodec mp3 -ab 32 -ar 44100 output.mp3
//sacar todas las imágenes
ffmpeg -i video.mpg imagen%d.jpg
//extraer una imagen
ffmpeg -i video.avi -r 1 -ss 00:00:10 -t 1 captura%d.jpg
//imágenes a video
ffmpeg -f image2 -i imagen%d.jpg video.mpg
//unir audio y video
ffmpeg -i output.mp3 -i video.mpg video_junto.mpg

Otros

$ ffmpeg -i ORIGEN.avi -target pal-dvd DESTINO.mpg

ffmpeg version CVS, build 3276800, Copyright (c) 2000-2004 Fabrice Bellard
configuration:  --build i486-linux-gnu --enable-gpl --enable-pp --enable-zlib --enable-vorbis --enable-libogg --enable-theora --enable-a52 --enable-dts --enab le-dc1394 --enable-libgsm --disable-debug --prefix=/usr
built on Nov 19 2005 00:08:41, gcc: 4.0.3 20051111 (prerelease) (Debian 4.0.2- 4)
Input #0, avi, from 'ORIGEN.avi':
Duration: 01:38:51.0, start: 0.000000, bitrate: 989 kb/s
Stream #0.0: Video: mpeg4, yuv420p, 624x320, 25.00 fps
Stream #0.1: Audio: mp3, 48000 Hz, stereo, 128 kb/s
Output #0, dvd, to 'DESTINO.mpg':
Stream #0.0: Video: mpeg2video, yuv420p, 720x576, 25.00 fps, q=2-31, 6000 kb/s
Stream #0.1: Audio: ac3, 48000 Hz, stereo, 448 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop encoding
[dvd @ 0x82c4c80]buffer underflowB time=4051.8 bitrate=3202.6kbits/s
[dvd @ 0x82c4c80]buffer underflow
[dvd @ 0x82c4c80]buffer underflow
[dvd @ 0x82c4c80]buffer underflow
[dvd @ 0x82c4c80]buffer underflow
[dvd @ 0x82c4c80]buffer underflow
[dvd @ 0x82c4c80]buffer underflow
[dvd @ 0x82c4c80]buffer underflow
frame=148275 q=0.0 Lsize= 2375660kB time=5931.0 bitrate=3281.3kbits/s
video:1991809kB audio:324350kB global headers:0kB muxing overhead 2.568924%

[editar] Enlaces externos

Herramientas personales
Crear un libro