Libav

Libav
Utvecklare Libav laget
Initial release 13 mars 2011 ( 2011-03-13 )
Slutlig utgåva 12.3 (12 februari 2018 ; 5 år sedan ( 2018-02-12 ) )
Förvar
Skrivet i C
Operativ system Linux , BSD , macOS , Microsoft Windows , AmigaOS , MorphOS
Plattform IA-32 , x86-64 , PowerPC , ARM , DEC Alpha , SPARC och MIPS
Typ Multimedia ramverk
Licens
LGPL-2.1 eller senare GPL-2.0 eller senare
Hemsida libav .org

Libav är ett övergivet gratis programvaruprojekt, utarbetat från FFmpeg 2011, som innehåller bibliotek och program för att hantera multimediadata .

Historia

Gaffel från FFmpeg

Libav-projektet var en gaffel av FFmpeg -projektet. Det tillkännagavs den 13 mars 2011 av en grupp FFmpeg-utvecklare. Evenemanget var relaterat till ett problem inom projektledning och olika mål: FFmpeg-supportrar ville behålla utvecklingshastigheten till förmån för fler funktioner, medan Libav-supportrar och utvecklare ville förbättra kodens tillstånd och ta sig tid att designa bättre API:er.

Underhållaren av FFmpeg-paketen för Debian och Ubuntu , som är en av den grupp av utvecklare som splittrade FFmpeg, bytte paketen till denna gaffel 2011. Därför bytte den mesta mjukvaran på dessa system som var beroende av FFmpeg automatiskt till Libav. Den 8 juli 2015 meddelade Debian att de skulle återvända till FFmpeg av olika tekniska skäl. Flera argument motiverade detta steg. För det första hade FFmpeg ett bättre resultat av att svara på sårbarheter än Libav. För det andra hävdade Mateusz "j00ru" Jurczyk, en säkerhetsorienterad utvecklare på Google, att alla problem han hittade i FFmpeg fixades i tid, medan Libav fortfarande var påverkad av olika buggar. Slutligen stödde FFmpeg ett mycket större utbud av codecs och behållare än Libav.

Från och med 2022 är Libav ett övergivet mjukvaruprojekt, där Libav-utvecklare antingen återvänder till FFmpeg, flyttar till andra multimediaprojekt som AV1- videocodec , eller lämnar multimediafältet helt.

Förvirring

I början av denna gaffel utvecklade Libav och FFmpeg separat sina egna versioner av kommandot ffmpeg. Libav döpte sedan om deras ffmpeg till avconv för att ta avstånd från FFmpeg-projektet. Under övergångsperioden, när en Libav-användare skrev ffmpeg, fanns det ett meddelande som berättade för användaren att ffmpeg-kommandot var utfasat och avconv måste användas istället. Detta förvirrade vissa användare att tro att FFmpeg (projektet) var död. [ citat behövs ]

Detta meddelande togs bort uppströms när ffmpeg slutligen togs bort från Libav-källorna. I juni 2012, på Ubuntu 12.04, omformulerades meddelandet, men det nya "utfasade" meddelandet orsakade ännu mer användarförvirring. Från och med Ubuntu 15.04 "Vivid" är FFmpegs ffmpeg tillbaka i arkiven igen.

För att komplicera saken ytterligare valde Libav ett namn som användes av FFmpeg för att referera till dess bibliotek (libavcodec, libavformat, etc.). Till exempel är libav-användarens e-postlista, för frågor och diskussioner om att använda FFmpeg-biblioteken, inte relaterad till Libav-projektet.

Programvara som använder Libav istället för FFmpeg

Debian följde Libav när det tillkännagavs och meddelade att det skulle återvända till FFmpeg för Debian Stretch (9.0).

MPlayer2, en nedlagd gaffel av MPlayer , använde endast Libav, men kunde användas med GStreamer med dess offentliga API. MPV - mediaspelaren stöder inte längre Libav på grund av saknade API-ändringar.

Legala aspekter

Codecs

Libav innehåller mer än 100 codecs. Många codecs som komprimerar information har gjorts anspråk på av patentinnehavare. Sådana anspråk kan vara verkställbara i länder som USA som har implementerat mjukvarupatent , men anses vara omöjliga eller ogiltiga i länder som inte har implementerat mjukvarupatent.

Libav-logotypen använder ett sicksackmönster som refererar till hur MPEG- videokodekar hanterar entropikodning . Det var tidigare logotypen för FFmpeg-projektet tills Libav splittrades från den. Efter gaffeln, 2011 hävdade en av Libav-utvecklarna Måns Rullgård upphovsrätten till logotypen och begärde att FFmpeg skulle upphöra med och avstå från att använda den. FFmpeg ändrade därefter sin logotyp till en 3D-version.

Google Summer of Code-deltagande

Libav deltog i Google Summer of Code -programmet 2011 och 2012.

Med deltagande i Google Summer of Code har Libav fått många nya funktioner och förbättringar utvecklade, inklusive en WMVP/WVP2-avkodare, hårdvaruaccelererad H.264 - avkodning på Android och G.723.1 -codec-stöd.

Tekniska detaljer

Komponenter

Libav består huvudsakligen av libavcodec, som är ett audio/video codec- bibliotek som används av flera andra projekt, libavformat , som är ett audio/video- container -muxing- och demuxing -bibliotek, och avconv , som är ett multimedia-manipuleringsverktyg som liknar FFmpegs ffmpeg eller Gstreamer gst-launch-1.0 kommando.

Kommandoraden -program :

avconv
En video- och ljudomvandlare som också kan hämta från en liveljud/videokälla.
avserver
En streamingserver för både ljud och bild.
avplay
En mycket enkel och portabel mediaspelare som använder Libav-biblioteken och SDL -biblioteket.
avprobe
Samlar information från multimediaströmmar och skriver ut den på ett mänskligt och maskinläsbart sätt.

Biblioteken:

libavcodec
Ett bibliotek som innehåller alla Libav audio/video-kodare och avkodare.
libavfilter
Ersättningen för vhook som gör att videon/ljudet kan modifieras eller undersökas mellan avkodaren och kodaren.
libavformat
Ett bibliotek som innehåller demuxers och muxers för ljud- och videobehållareformat.
libavresample
Ett bibliotek som innehåller ljudomsamplingsrutiner .
libavutil
Ett hjälpbibliotek som innehåller rutiner som är gemensamma för olika delar av Libav.

Det här biblioteket inkluderar Adler-32 , CRC , MD5 , SHA-1 , LZO -dekompressor, Base64 -kodare/dekoder, DES -krypterare/dekrypterare, RC4 -krypterare/dekrypterare och AES -krypterar/dekrypterare.

libswscale
Ett bibliotek som innehåller videobildsskalning och färgrymd / pixelformat konverteringsrutiner.

Innehåller codecs

Många gratis och öppen källkodsimplementeringar av befintliga algoritmer för (vanligtvis förlustfri) komprimering och dekomprimering av ljud- eller videodata, så kallade codecs, är tillgängliga. Observera att en algoritm kan vara föremål för patentlagstiftning i vissa jurisdiktioner. Här är listor över de som finns i libav-biblioteket:

Video codecs

Libav inkluderar videoavkodare och/eller kodare för följande format:

Ljud-codecs

Libav innehåller avkodare och kodare för följande format:

Filformat som stöds

Förutom de ovannämnda codecs, stöder Libav också flera filformat (filformat som är utformade för att innehålla ljud- och/eller videodata och undertexter, kallas " behållare ", men det är bara en speciell valör.):

Protokoll som stöds

Stöd för flera kommunikationsprotokoll finns också i Libav. Här är en lista:

Se även

externa länkar