- FFmpeg
-
FFmpeg Desarrollador Equipo de FFmpeg
ffmpeg.orgInformación general Última versión estable 0.8.02
10 de agosto de 2011Última versión en pruebas Git Género Framework multimedia Programado en C[1] Sistema operativo Multiplataforma Licencia GNU LGPL 2.1+
GNU GPL 2+En español FFmpeg es una colección de software libre que puede grabar, convertir y hacer 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.
FFmpeg está liberado bajo una licencia GNU Lesser General Public License 2.1+ o GNU General Public License 2+ (dependiendo de cuáles bibliotecas estén incluidas).[2] Los desarrolladores recomiendan utilizar el último snapshot de Subversion ya que mantienen constantemente una versión estable.
Contenido
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.
Códecs
Es la biblioteca principal del proyecto FFmpeg es capaz de codificar/decodificar en varios formatos de audio y vídeo, está desarrollada en C.
Códecs de video implementados
- MPEG-1.
- MPEG-2.
- MPEG-4 Parte 2 (el formato utilizado por los códecs DivX y Xvid).
- H.261.
- H.263.
- H.264/MPEG-4 AVC (únicamente la decodificación).
- x264
- WMV versión 7, 8 y 9 (únicamente la decodificación).
- Sorenson codec.
- Cinepak.
- MJPEG.
- Huffyuv.
- Snow.
- Theora (únicamente la decodificación).
- VP3 / VP5 / VP6 (únicamente la decodificación).
El códec de MPEG-4 utilizado por defecto en el FFmpeg tiene el código FourCC de FMP4.
Códecs de audio implementados
- Apple Lossless.
- Cook Codec.
- FLAC.
- MP2.
- MP3.
- Shorten.
- QDM2.
- RealAudio 1.0.
- RealAudio 2.0.
- Vorbis.
- WavPack.
- WMA.
Caso útil
Si el problema es el peso de un archivos de video que se puede considerar como excesivo para la calidad del video y se necesita que el archivo conserve la calidad (dentro de lo posible), o simplemente que su tamaño sea menor. Una buena opción sin usar códecs privativos es usar el códec de video H264 o también conocido como MPEG-4 parte 10.
ffmpeg -i 'in_Pelicula.avi'-ab 128k -vcodec libx264 'out_Pelicula.avi'
-i Para indicar el formato a convertir, en este caso "in_Pelicula.avi".
-ab Para indicar la tasa de bits, se indica le indica 128k. Por defecto FFmpeg convierte los videos a una tasa de bits de 64k, puede que sea necesario saber la tasa de bit del video original y indicarla para conservar la calidad del sonido. Se puede consultar la información de un video con "ffprobe".
-vcodec Para indicar el códec de video a utilizar, en este caso se le indica libx264. Se pueden consultar los códecs de video y audio utilizando "ffmpeg -codecs".
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.
Proyectos que hacen uso de FFmpeg
FFmpeg es usado en muchos codecs libres y propietarios, incluyendo ffmpeg2theora, VLC, MPlayer, HandBrake, Blender, Google Chrome y otros.[3]
También hay varios frameworks multimedia que hacen uso de FFmpeg como DirectShow/VFW (ffdshow), QuickTime (perian), GStreamer, OpenMAX, xine.
Véase también
- Portal:Software libre. Contenido relacionado con Software libre.
- MediaCoder, transcodificador multimedia para sistemas operativos Windows.
Referencias
- ↑ «Ohloh Analysis Summary - FFmpeg». Ohloh. Consultado el 18-10-2009.
- ↑ «FFmpeg License and Legal Considerations». ffmpeg.org. Consultado el 27 de agosto de 2010.
- ↑ Proyectos
Enlaces externos
- Sitio web oficial de FFmpeg (en inglés).
- Cómo compilar FFmpeg en Mac OS X (en inglés).
- Cómo construir y usar FFmpeg en Windows (en inglés).
- Fuente para un vhook de composición con FFmpeg (en inglés).
- World Domination 201, discute por qué FFmpeg y otros programas no están incluidos en la distribuciones de GNU/Linux por no ser legales en algunos países (en inglés).
- Usar FFmpeg para la codificación de videos en Linux.
Categorías:- Software libre
- Software para Unix
- Software para Linux
- Bibliotecas de C
- Bibliotecas de audio
- Frameworks multimedia
Wikimedia foundation. 2010.