Libav
Utvecklare | Libav laget |
---|---|
Initial release | 13 mars 2011 |
Slutlig utgåva | 12.3 (12 februari 2018 | )
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 ä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.
Logotyp
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:
- IETF-standarder: TCP , UDP , Gopher , HTTP , RTP , RTSP och SDP
- Apple-relaterade protokoll: HTTP Live Streaming
- RealMedia-relaterade protokoll: RealMedia RTSP/ RDT
- Adobe-relaterade protokoll: RTMP , RTMPT (via librtmp), RTMPE (via librtmp), RTMPTE (via librtmp) och RTMPS (via librtmp)
- Microsoft-relaterade protokoll: MMS över TCP och MMS över HTTP
Se även
- VLC mediaspelare använder libavcodec som sin codec-bas, lägger till andra codecs, plattformsoberoende
- Open source codecs och behållare