FFmpeg

De la Viquipèdia, l'enciclopèdia lliure
FFmpeg
Modifica el valor a Wikidata
Tipusmultimedia framework (en) Tradueix Modifica el valor a Wikidata
Versió inicial20 de desembre de 2000
Versió estable3.2.4 / 10 febrer 2017
LlicènciaGNU LGPL 2.1+, GNU GPL 2+
Característiques tècniques
Sistema operatiuMultiplataforma
Plataformax86, ARM, PowerPC, MIPS, DEC Alpha, Blackfin (en) Tradueix, AVR32 i SPARC Modifica el valor a Wikidata
Escrit enC
Format de fitxer de lectura
Format de fitxer d'escriptura
Equip
Creador/sFabrice Bellard Modifica el valor a Wikidata
Desenvolupador(s)Equip de FFmpeg
Més informació
Lloc webffmpeg.org
Stack ExchangeEtiqueta Modifica el valor a Wikidata
Seguiment d'errorsSeguiment d'errors Modifica el valor a Wikidata
Free Software DirectoryFfmpeg Modifica el valor a Wikidata
Id. Subredditffmpeg Modifica el valor a Wikidata
Guia d'usuariGuia d'usuari Modifica el valor a Wikidata

Facebook: ffmpeg Twitter (X): FFmpeg GitHub: FFmpeg Modifica el valor a Wikidata

FFmpeg és una col·lecció de programari lliure que permet gravar, convertir (transcodificar) i fer streaming d'àudio i vídeo. Inclou libavcodec, una biblioteca de còdecs. FFmpeg és desenvolupat en GNU/Linux, però pot ser compilat en la majoria de sistemes operatius, incloent-hi Windows o Mac. El projecte es iniciat per en Gerard de Lantau, un pseudònim de Fabrice Bellard, i ara és mantingut per Michael Niedermayer. És remarcable que la majoria de desenvolupadors del FFmpeg també són al projecte MPlayer (més d'un membre del projecte Xine), i que FFmpeg està allotjada al servidor del projecte MPlayer.

FFmpeg està alliberat sota una llicència GNU Lesser General Public License 2.1+ o GNU General Public License 2+ (depenent de quines biblioteques estiguin incloses).[1] Els desenvolupadors recomanen utilitzar l'últim snapshot de Subversion, ja que mantenen constantment una versió estable.

FFmpeg és un programa bastant senzill i molt fàcil d'usar, orientat tant a persones amb coneixements avançats com a usuaris nouvinguts. És capaç de triar el còdec amb només escriure l'extensió. Per exemple, FFmpeg usarà x264 si triem .mp4, mpeg4 si usem .avi, VP8 si usem .webm, etc.

Components[modifica]

Esquema de funcionament
  • ffmpeg: és una eina de línia de comandos per convertir àudio o vídeo d'un format a un altre. També pot capturar i codificar en temps real des de DirectShow, una targeta de televisió o un altre dispositiu compatible.
  • ffserver: és un servidor de streaming multimèdia d'emissions en directe que suporta HTTP (la compatibilitat amb RTSP està en desenvolupament). Encara no està en fase estable, i de moment no està disponible per Windows.
  • ffplay: és un reproductor multimèdia basat en SDL i les biblioteques FFmpeg.
  • libavcodec: és una biblioteca que conté tots els còdecs de FFmpeg. Molts d'ells van ser desenvolupats des de zero per assegurar una major eficiència i un codi altament reutilitzable.
  • libavformat: és una biblioteca que conté els multiplexadors/demultiplexadors per als arxius contenidors multimèdia.
  • libavutil: és una biblioteca de suport que conté totes les rutines comunes en les diferents parts de FFmpeg.
  • libpostproc: és una biblioteca de funcions de postprocés de vídeo.
  • libswscale: és la biblioteca d'escalat de vídeo.

Còdecs[modifica]

És la biblioteca principal del projecte FFmpeg és capaç de codificar/descodificar en diversos formats d'àudio i vídeo, està desenvolupada en C.

Còdecs de vídeo implementats[modifica]

  • MPEG-1
  • MPEG-2
  • MPEG-4 Part 2 (el format utilitzat pels còdecs DivX i Xvid)
  • H.261
  • H.263
  • H.264/MPEG-4 AVC (únicament la descodificació)
  • x264
  • WMV versió 7, 8 i 9 (únicament la descodificació)
  • Sorenson codec
  • Cinepak
  • MJPEG
  • Huffyuv
  • Snow
  • Theora (únicament la descodificació)
  • VP3 / VP5 / VP6 (únicament la descodificació)
  • VP8 / WebM

El códec de MPEG-4 utilitzat per defecte en el FFmpeg té el codi FourCC de FMP4

Còdecs d'àudio implementats[modifica]

  • Apple Lossless
  • AAC LC (Usar amb -strict experimental)
  • Cook Codec
  • FLAC
  • MP2
  • MP3
  • Shorten
  • QDM2
  • RealAudio 1.0
  • RealAudio 2.0
  • Vorbis
  • WavPack
  • WMA

Cas útil[modifica]

Si el problema és la grandària d'un arxiu de vídeo que es pot considerar com a excessiu per a la qualitat del vídeo i es necessita que l'arxiu conservi la qualitat (en la mesura del possible), o simplement que la seva grandària sigui menor; una bona opció sense usar còdecs privatius és usar el còdec de vídeo H264 o també conegut com a MPEG-4 part 10.

ffmpeg -i 'in_Pelicula.avi'-ab 128k -vcodec libx264 'out_Pelicula.avi'

-i Per indicar l'arxiu (format) a convertir, en aquest cas "in_Pelicula.avi".

-ab Per indicar la taxa de bits, s'indiquen 128kbps. Per defecte FFmpeg converteix els vídeos a una taxa de bits de 64k, pot ser que sigui necessari saber la taxa de bit del vídeo original i indicar-la per conservar la qualitat del so. Es pot consultar la informació d'un vídeo amb "ffprobe".

-vcodec Per indicar el còdec de vídeo a utilitzar, en aquest cas se li indica libx264. Es pot consultar els còdecs de vídeo i àudio utilitzant "ffmpeg -codecs".

Un exemple pràctic una mica més extens per comprimir un arxiu de vídeo conservant una qualitat gairebé transparent, amb el còdec lliure x264 i aac lc:

ffmpeg -y -i 'video' -vcodec libx264 -crf 25 -preset slower -tune film -acodec aac -ar 44100 -b:a 112k -ac 2 -strict experimental 'video_convertit.mp4'

Legalitat[modifica]

L'estat legal del FFmpeg varia segons el país. Alguns còdecs inclosos, (com el Soreson 3) són reclamats pels amos de les patents. Aquests reclams tindrien valor en països com Estats Units on es reconeixen les patents de programari. Així i tot molts d'aquests còdecs estan alliberats sota termes que prohibeixen l'enginyeria inversa, fins i tot per facilitar la interoperabilitat, termes que estan prohibits en alguns països. Per exemple en alguns països de la Unió Europea no es reconeixen les patents de programari o disposen de lleis que expressament permeten l'enginyeria inversa per a qüestions d'interoperabilitat. En qualsevol cas moltes distribucions de GNU/Linux no inclouen FFmpeg per evitar complicacions legals.

Projectes que fan ús de FFmpeg[modifica]

Xvidcap.

FFmpeg és usat en molts projectes lliures i propietaris, incloent ffmpeg2theora, VLC, MPlayer, HandBrake, Blender, Google Chrome i uns altres.[2]

També hi ha diversos frameworks multimèdia que fan ús de FFmpeg com DirectShow/VFW (ffdshow), QuickTime (perian), GStreamer, OpenMAX, xine.

Referències[modifica]

  1. Proyectos

Enllaços externs[modifica]