FFmpeg

FFmpeg er et frit open source-projekt som producerer biblioteker og programmer til håndtering af multimediedata og udgiver dem under GNU Lesser General Public License eller GNU General Public License. De bedst kendte dele af FFmpeg er libavcodec, et lyd/video-codecbibliotek som bruges af flere andre projekter, libavformat, et lyd/video-container-mux og demux-bibliotek, og ffmpeg kommandolinje-programmet til at transcode multimediefiler.

Projektet blev startet af Fabrice Bellard (under pseudonymet "Gerard Lantau"), og vedligeholdes nu af Michael Niedermayer. Mange FFmpeg-udviklere er også en del af MPlayer-projektet, og FFmpeg hostes på MPlayers projektserver.
Projektets navn kommer fra MPEG-videostandardgruppen, sammen med "FF" for "fast forward". Logoet bruger et zigzag-mønster som viser hvordan MPEG-video-codecs håndterer entropikodning.

FFmpeg er udviklet under GNU/Linux, men kan kompileres på de fleste styresystemer, heriblandt Mac OS X, Microsoft Windows, AmigaOS og dets arving MorphOS. De fleste platforme og mikroprocessor-instruktionssæt understøttes også, såsom x86 (IA-32 og x86-64), PPC (PowerPC), ARM, DEC Alpha, SPARC og MIPS.

FFmpeg version 0.5 udkom efter en lang periode uden formelle udgivelser. Tidligere anbefalede FFmpeg-udviklerne at man brugte den seneste neutral build fra deres kildekode-SVN, da udviklerne forsøger at fastholde en stabil trunk.

Der er blevet opfundet to video-codecs og en videocontainer i FFmpeg-projektet under udviklingen. De to video-codecs er det lossless "FFV1", og det lossless eller lossy "Snow codec", som stadig er under sporadisk udvikling, omend dets bitstreamformat endnu ikke er blevet færdiggjort. Multimediecodecset er "NUT", som ikke længere bliver aktivt udviklet.

Med version 0.6 understøtter FFmpeg også WebM og VP8.

Komponenter 
Projektet består af flere komponenter:
 ffmpeg er et kommandolinjeværktøj til at konvertere et videofilformat til et andet. Det kan også gribe og kode i realtid fra et tv-kort.
 ffserver er en HTTP og RTSP-multimediestreamingserver til liveudsendelser. Den kan også tidsudskyde liveudsendelser.
 ffplay er en simpel medieafspiller baseret på SDL og FFmpeg-bibliotekerne.
 ffprobe er et kommandolinjeværktøj til at vise medieinformation.
 libavcodec er et bibliotek som indeholder alle FFmpeg's lyd/video-kodere og -dekodere. De fleste codecs blev udviklet fra bunden af for at sikre bedst ydelse og højt genbrug af kode.
 libavformat er et bibliotek som indeholder demuxers og muxers til lyd/video-containerformater.
 libavutil er et hjælpebibliotek som indeholder rutiner, som ofte bruges af FFmpeg's forskellige dele. Det indeholder adler32, crc, md5, sha1, lzo-decompressor, Base64 koder/dekoder, des encrypter/decrypter, rc4 encrypter/decrypter og aes encrypter/decrypter.
 libpostproc er et bibliotek som indeholder videopostprocessing-rutiner.
 libswscale er et bibliotek som indeholder video-billedskalering og farverum/pixelformat-konverteringsrutiner.
 libavfilter er erstatningen for vhook som tillader videoen at blive ændret eller undersøgt mellem dekoderen og koderen.

Fodnoter

Eksterne henvisninger 
 Officiel hjemmeside 
 FFmpeg man page 
 fscience.net ffmpeg API-dokumentation 

Fri software
Multimedia
Programbiblioteker