Libav: Difference between revisions
→Software using Libav instead of FFmpeg: clarify source port of what |
Citation bot (talk | contribs) Altered title. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Free software programmed in C | #UCB_Category 408/633 |
||
(82 intermediate revisions by 59 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|Multimedia framework}} |
|||
{{Infobox software |
{{Infobox software |
||
| name = Libav |
| name = Libav |
||
| logo = libav Logo.svg |
| logo = libav Logo.svg |
||
| logo_size = x64px |
|||
| screenshot = Avplay sintel snapshot.png |
| screenshot = Avplay sintel snapshot.png |
||
| caption = Screenshot of the movie [[Sintel]] being played using the '''avplay''' program from the Libav project. |
| caption = Screenshot of the movie [[Sintel]] being played using the '''avplay''' program from the Libav project. |
||
Line 8: | Line 8: | ||
| author = |
| author = |
||
| developer = Libav team |
| developer = Libav team |
||
| released = {{Start date|2011|03|13}}<ref>{{cite web | url= |
| released = {{Start date|2011|03|13}}<ref>{{cite web | url=https://www.libav.org/ | title=Libav Home/News Page | work=libav.org | date=2012-05-09 | access-date=2018-09-01 | archive-date=2022-06-22 | archive-url=https://web.archive.org/web/20220622163825/https://libav.org/ | url-status=dead }}</ref> |
||
|discontinued = yes |
|||
| frequently updated = yes <!-- Release version update? Don't edit this page, just click on the version number! --> |
|||
| operating system = [[Linux]], [[BSD]], [[macOS]], [[Microsoft Windows]], [[AmigaOS]], [[MorphOS]]<ref name="FATE_system" /> |
|||
⚫ | |||
| platform = [[IA-32]], [[x86-64]], [[PowerPC]], [[ARM family|ARM]], [[DEC Alpha]], [[SPARC]], and [[MIPS architecture|MIPS]]<ref name="FATE_system">{{cite web | url=https://fate.libav.org/ | title=FATE | work=libav.org | access-date=2012-05-17 | archive-date=2018-09-02 | archive-url=https://web.archive.org/web/20180902011811/https://fate.libav.org/ | url-status=dead }}</ref> |
|||
| operating system = [[Cross-platform]]{{which|date=September 2013}} |
|||
⚫ | | programming language = [[C (programming language)|C]]<ref>{{cite web | url=https://libav.org/developer.html | title=Developer Documentation | work=libav.org | date=2011-12-08 | access-date=2012-05-17 | archive-date=2012-04-22 | archive-url=https://web.archive.org/web/20120422135407/http://libav.org/developer.html | url-status=dead }}</ref> |
||
| platform = [[Multi-platform]]{{which|date=September 2013}} |
|||
| size = |
|||
| language = |
|||
| status = Active |
|||
| genre = [[Multimedia framework]] |
| genre = [[Multimedia framework]] |
||
| license = [[GNU Lesser General Public License| |
| license = [[GNU Lesser General Public License|LGPL-2.1-or-later]] <br />[[GNU General Public License|GPL-2.0-or-later]]<ref name="legal">{{cite web | url=https://www.libav.org/legal.html | title=Libav License and Legal Considerations | work=libav.org | access-date=2012-01-04 | archive-date=2013-07-23 | archive-url=https://web.archive.org/web/20130723054244/http://libav.org/legal.html | url-status=dead }}</ref> |
||
| website = {{url| |
| website = {{url|https://libav.org/}} |
||
}} |
}} |
||
'''Libav''' is an abandoned<ref>{{cite web |last=Kunhya |first=Kieran |date=2020-04-16 |title=[libav-devel] What is the status of this project? |url=https://lists.libav.org/pipermail/libav-devel/2020-April/086589.html |url-status=dead |archive-url=https://web.archive.org/web/20200812182017/https://lists.libav.org/pipermail/libav-devel/2020-April/086589.html |archive-date=2020-08-12 |access-date=2020-12-20}}</ref> [[free software]] project, [[Fork (software development)|forked]] from [[FFmpeg]] in 2011, that contains [[Library (computing)|libraries]] and [[Computer program|programs]] for handling [[multimedia]] data. |
|||
'''Libav''' is a [[free software]] project, [[Fork (software development)|forked]] from [[FFmpeg]] in 2011, that produces [[Library (computing)|libraries]] and [[Computer program|programs]] for handling [[multimedia]] data. Libav is developed for many [[operating system]]s, including [[GNU]]/[[Linux]], the [[BSD]]s, [[OS X]], [[Microsoft Windows]], [[AmigaOS]] and its heir [[MorphOS]]. It supports most common [[instruction set architectures]], including [[IA-32]], [[x86-64]], [[PowerPC]], [[ARM family|ARM]], [[DEC Alpha]], [[SPARC]], and [[MIPS architecture|MIPS]].<ref>{{cite web | url=http://fate.libav.org/ | title=FATE | work=libav.org | accessdate=2012-05-17}}</ref> |
|||
== History == |
== History == |
||
=== Fork from FFmpeg === |
=== Fork from FFmpeg === |
||
The Libav project |
The Libav project was a fork of the [[FFmpeg]] project.<ref>{{cite web|title=About Libav|url=https://www.libav.org/about.html|url-status=bot: unknown|archive-url=https://web.archive.org/web/20141205021526/http://www.libav.org/about.html|archive-date=2014-12-05|access-date=2014-11-30|work=libav.org|quote=... which convinced us to fork "properly" under the name Libav with its own website, mailing lists, IRC channel and repositories, thus completely separating from the old FFmpeg project}}</ref> It was announced on March 13, 2011 by a group of FFmpeg developers.<ref>{{cite web | url=https://www.libav.org/ | title=Libav project site | work=libav.org | access-date=2012-01-04 | archive-date=2022-06-22 | archive-url=https://web.archive.org/web/20220622163825/https://libav.org/ | url-status=dead }}</ref><ref>{{cite web | url=http://article.gmane.org/gmane.comp.video.ffmpeg.devel/129579 | title=Project renamed to Libav | work=gmane.org | date=2011-03-14 | access-date=2012-01-04 | author=Ronald S. Bultje | archive-url=https://web.archive.org/web/20161107163133/http://article.gmane.org/gmane.comp.video.ffmpeg.devel/129579 | archive-date=2016-11-07 | url-status=dead }}</ref><ref>{{cite web | url=https://www.phoronix.com/scan.php?page=news_item&px=OTIwNw | title=A group of FFmpeg developers just forked as Libav | publisher=Phoronix | work=phoronix.com | date=2011-03-14 | access-date=2012-01-04}}</ref> The event was related to an issue in project management and different goals: FFmpeg supporters wanted to keep development velocity in favour of more features, while Libav supporters and developers wanted to improve the state of the code and take the time to design better APIs.<ref>{{Cite web|date=2011-03-30|title=What happened to FFmpeg|url=http://codecs.multimedia.cx/?p=339|url-status=bot: unknown|archive-url=https://web.archive.org/web/20120307113846/http://codecs.multimedia.cx/?p=339|archive-date=2012-03-07|access-date=2012-05-19|work=multimedia.cx}}</ref><ref>{{Cite web | url=https://lwn.net/Articles/423702/ | title=FFMpeg turmoil | date=2011-01-19 | access-date=2012-01-04 | work=lwn.net}}</ref> |
||
The maintainer of the FFmpeg packages for [[Debian]]<ref>{{Cite web |
The maintainer of the FFmpeg packages for [[Debian]]<ref>{{Cite web|date=2011-05-01|title=transition: Libav 0.7|url=http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=624807|url-status=bot: unknown|archive-url=https://web.archive.org/web/20150211103811/https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=624807|archive-date=2015-02-11|access-date=2012-01-04|work=debian.org}}</ref> and [[Ubuntu (operating system)|Ubuntu]],<ref>{{Cite web | url=http://people.canonical.com/~ubuntu-archive/transitions/libav.html | title=Ubuntu Release Management: Transition: "Libav" | access-date=2012-01-04 | work=canonical.com | url-status=dead | archive-url=https://web.archive.org/web/20120107080821/http://people.canonical.com/~ubuntu-archive/transitions/libav.html | archive-date=2012-01-07 }}</ref> being one of the group of developers who forked FFmpeg, switched the packages to this fork in 2011. Hence, most software on these systems that depended on FFmpeg automatically switched to Libav. On July 8, 2015, Debian announced it would return to FFmpeg<ref>{{Cite web | url=https://lists.debian.org/debian-devel-announce/2015/07/msg00001.html | title=libav and FFmpeg: switch over | date=2015-08-02 | access-date=2015-08-02 | work=debian.org}}</ref> for various, technical reasons.<ref>{{Cite web|date=2015-08-02|title=Debate/libav-provider/ffmpeg - Debian Wiki|url=https://wiki.debian.org/Debate/libav-provider/ffmpeg|access-date=2015-08-02|work=debian.org}}</ref> Several arguments justified this step. Firstly, FFmpeg had a better record of responding to vulnerabilities than Libav. Secondly, Mateusz "j00ru" Jurczyk, a security-oriented developer at Google, argued that all issues he found in FFmpeg were fixed in a timely manner, while Libav was still affected by various bugs.<ref>{{Cite web|title=FFmpeg and a thousand fixes|date=10 January 2014|url=https://j00ru.vexillium.org/2014/01/ffmpeg-and-the-tale-of-a-thousand-fixes/|url-status=bot: unknown|archive-url=https://web.archive.org/web/20210915021034/https://j00ru.vexillium.org/2014/01/ffmpeg-and-the-tale-of-a-thousand-fixes/|archive-date=2021-09-15|access-date=2021-09-15}}</ref> Finally, FFmpeg supported a far wider variety of codecs and containers than Libav. |
||
{{As of|2022|post=,}} Libav is an abandoned software project, with Libav developers either returning to FFmpeg, moving to other multimedia projects like the [[AV1]] video codec,<ref>{{Cite web|title=Luca Barbato's (Libav developer) blog|date=9 April 2019 |url=https://blogs.gentoo.org/lu_zero/tag/rav1e/}}</ref> or leaving the multimedia field entirely. |
|||
Even if it has been expressed several time to merge back the two projects, this has still not happened yet. With Debian and Ubuntu stopping to use that library, the future of libav might be compromised and its development may be not sustainable any more without Debian.<ref>{{cite web|url=https://lwn.net/Articles/650816/|title=Why Debian returned to FFmpeg|date={{date|2015-07-13|mdy}}|accessdate={{date|2015-08-14|mdy}}}}</ref> |
|||
=== Confusion === |
=== Confusion === |
||
At the beginning of this fork, Libav and FFmpeg separately developed their own versions of the ffmpeg command. Libav then renamed their ffmpeg to avconv to distance themselves from the FFmpeg project. During the transition period, when a Libav user typed ffmpeg, there was a message telling the user that the ffmpeg command was deprecated and avconv has to be used instead. This confused some users into thinking that FFmpeg (the project) was dead. |
At the beginning of this fork, Libav and FFmpeg separately developed their own versions of the ffmpeg command. Libav then renamed their ffmpeg to avconv to distance themselves from the FFmpeg project. During the transition period, when a Libav user typed ffmpeg, there was a message telling the user that the ffmpeg command was deprecated and avconv has to be used instead. This confused some users into thinking that FFmpeg (the project) was dead.<ref>{{Cite web |date=2012-02-23 |title=Bug #939863 "Warning message from ffmpeg program needs update" : Bugs : libav package : Ubuntu |url=https://bugs.launchpad.net/bugs/939863 |access-date=2024-07-02 |website=Launchpad |language=en}}</ref> |
||
This message was removed upstream when ffmpeg was finally removed from the Libav sources. In June 2012, on Ubuntu 12.04, the message was re-worded, but that new "deprecated" message caused even more user confusion. Starting with Ubuntu 15.04 "Vivid", FFmpeg's ffmpeg is back in the repositories again. |
This message was removed [[Upstream (software development)|upstream]] when ffmpeg was finally removed from the Libav sources. In June 2012, on Ubuntu 12.04, the message was re-worded, but that new "deprecated" message caused even more user confusion. Starting with Ubuntu 15.04 "Vivid", FFmpeg's ffmpeg is back in the repositories again. |
||
To further complicate matters, Libav chose a name that was used by FFmpeg to refer to its libraries (libavcodec, libavformat, etc.). For example, the libav-user mailing list, for questions and discussions about using the FFmpeg libraries, is unrelated to the Libav project.<ref>{{cite web|url= |
To further complicate matters, Libav chose a name that was used by FFmpeg to refer to its libraries (libavcodec, libavformat, etc.). For example, the libav-user mailing list, for questions and discussions about using the FFmpeg libraries, is unrelated to the Libav project.<ref>{{cite web|url=https://stackoverflow.com/questions/9477115/who-can-tell-me-the-difference-and-relation-between-ffmpeg-libav-and-avconv/9477756#9477756|title=What are the differences and similarities between ffmpeg, libav, and avconv?|date=February 28, 2012|access-date=14 August 2015}}</ref><ref>{{cite web |date=30 June 2012 |title=The FFmpeg/Libav situation |url=http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html |url-status=live |archive-url=https://web.archive.org/web/20120701210503/http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html |archive-date=1 July 2012 |access-date=14 August 2015}}</ref> |
||
=== Software using Libav instead of FFmpeg === |
=== Software using Libav instead of FFmpeg === |
||
Debian followed Libav when it was announced and announced it would return to FFmpeg for Debian Stretch (9.0).<ref>{{cite web|url=https://lwn.net/Articles/650495/| |
Debian followed Libav when it was announced, and announced it would return to FFmpeg for Debian Stretch (9.0).<ref>{{cite web|date=July 8, 2015|title=Debian to switch back to ffmpeg|url=https://lwn.net/Articles/650495/|url-status=bot: unknown|archive-url=https://web.archive.org/web/20150726221848/http://lwn.net/Articles/650495/|archive-date=2015-07-26|access-date=14 August 2015}}</ref> |
||
MPlayer2, a defunct fork of [[MPlayer]], used Libav exclusively, but could be used with [[GStreamer]] with its public API. The [[Mpv (media player)|MPV]] media player no longer supports Libav due to missing API changes.<ref>{{cite web|date=April 20, 2018|title=mpv - README - FFmpeg vs. Libav|website=[[GitHub]]|url=https://github.com/mpv-player/mpv/blob/7af6cabcba434dfe47619866526bd3c739789d32/README.md|url-status=bot: unknown|archive-url=https://web.archive.org/web/20210915021031/https://github.com/mpv-player/mpv/blob/7af6cabcba434dfe47619866526bd3c739789d32/README.md#ffmpeg-vs-libav|archive-date=September 15, 2021|access-date=June 5, 2018}}</ref> |
|||
[[Gentoo Linux|Gentoo]] users are free to choose between FFmpeg and its fork libav by the way they install their "virtual" FFmpeg.<ref>http://packages.gentoo.org/package/virtual/ffmpeg</ref> [[Arch Linux]] has a source port of libav in AUR, which is its additional repository for packages provided by the community but not maintained by Arch developers.<ref name="arch-libav">{{cite web | url=https://aur.archlinux.org/packages/libav/ | title=libav in AUR | work=aur.archlinux.org | accessdate=2013-03-30}}</ref> |
|||
MPlayer2, a defunct fork of MPlayer, used Libav exclusively, but could be used with [[Gstreamer]] with its public API. [[mpv (media player)|mpv]] can use both.<ref>{{cite web|url=https://github.com/mpv-player/mpv|title=mpv - README - Compilation |date={{date|2015-07-14|mdy}} |accessdate={{date|2015-08-13|mdy}}}}</ref> [[GStreamer]] can however support Mplayer and Mplayer2 through different plugins.{{citation needed|date=August 2015}} |
|||
== Legal aspects == |
== Legal aspects == |
||
Line 51: | Line 46: | ||
=== Codecs === |
=== Codecs === |
||
Libav contains more than 100 codecs.<ref>{{cite web | url=https://libav.org/general.html#Supported-File-Formats-and-Codecs | title=Supported File Formats and Codecs | website=libav.org | |
Libav contains more than 100 codecs.<ref>{{cite web | url=https://libav.org/general.html#Supported-File-Formats-and-Codecs | title=Supported File Formats and Codecs | website=libav.org | access-date=2014-05-04 | archive-date=2014-05-04 | archive-url=https://web.archive.org/web/20140504140415/https://libav.org/general.html#Supported-File-Formats-and-Codecs | url-status=dead }}</ref> Many codecs that compress information have been claimed by patent holders.<ref>{{cite web | url=https://libav.org/legal.html | title=Libav License and Legal Considerations | website=libav.org | access-date=2014-05-04 | archive-date=2014-04-14 | archive-url=https://web.archive.org/web/20140414115254/https://libav.org/legal.html | url-status=dead }}</ref> Such claims may be enforceable in countries like the United States which have implemented [[software patent]]s, but are considered unenforceable or void in countries that have not implemented software patents. |
||
=== Logo === |
=== Logo === |
||
The Libav logo uses a zigzag pattern that references how [[MPEG]] video codecs handle [[entropy encoding]].<ref>[http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/44638/ FFmpeg logo] - FFMpeg mailing list, 20 Feb 2007</ref> It was previously the logo of the |
The Libav logo uses a zigzag pattern that references how [[MPEG]] video codecs handle [[entropy encoding]].<ref>[http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/44638/ FFmpeg logo] {{Webarchive|url=https://web.archive.org/web/20170428072406/http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/44638/ |date=2017-04-28 }} - FFMpeg mailing list, 20 Feb 2007</ref> It was previously the logo of the FFmpeg project until Libav was forked from it. Following the fork, in 2011 one of the Libav developers Måns Rullgård claimed copyright over the logo and requested FFmpeg [[cease and desist]] from using it.<ref>[http://ffmpeg.org/threat1.png Legal Threat] - ffmpeg.org 28 May 2011</ref> FFmpeg subsequently altered their logo into a 3D version.<ref>{{Cite web |date=2011-05-31 |title=FFmpeg License and Legal Considerations |url=http://ffmpeg.org/legal.html |url-status=dead |archive-url=https://web.archive.org/web/20120103190924/http://ffmpeg.org/legal.html |archive-date=2012-01-03 |website=ffmpeg.org}}</ref> |
||
=== FFmtech board === |
|||
See [[FFmpeg#FFmtech board]]. |
|||
== Google Summer of Code participation == |
== Google Summer of Code participation == |
||
Libav participated in the [[Google Summer of Code]] program in 2011 and 2012. |
Libav participated in the [[Google Summer of Code]] program in 2011 and 2012.<ref name="GSOC">{{cite web | url=http://wiki.multimedia.cx/index.php?title=FFmpeg_/_Libav_Summer_Of_Code | title=FFmpeg/Libav Summer of Code | work=multimedia.cx | access-date=2012-05-19 | archive-url=https://web.archive.org/web/20111117193550/http://wiki.multimedia.cx/index.php?title=FFmpeg_%2F_Libav_Summer_Of_Code | archive-date=2011-11-17 | url-status=dead }}</ref> |
||
With participation in the Google Summer of Code, Libav has had many new features and improvements |
With participation in the Google Summer of Code, Libav has had many new features and improvements developed, including a WMVP/WVP2 decoder, hardware accelerated [[H.264]] decoding on [[Android (operating system)|Android]], and [[G.723.1]] codec support.<ref name=GSOC /> |
||
== Technical details == |
== Technical details == |
||
=== Components === |
=== Components === |
||
an audio/video [[codec]] library used by several other projects, ''libavformat'', an audio/video [[Container format (digital)|container]] [[multiplexing| |
Libav primarily consists of libavcodec, which is an audio/video [[codec]] library used by several other projects, ''libavformat'', which is an audio/video [[Container format (digital)|container]] [[multiplexing|muxing and demuxing]] library, and ''avconv'', which is a multimedia manipulation tool similar to [[FFmpeg]]'s ''ffmpeg'' or [[GStreamer|Gstreamer]] ''gst-launch-1.0'' command. |
||
The [[Command-line interface|command line]]-programs: |
The [[Command-line interface|command line]]-programs: |
||
Line 78: | Line 69: | ||
The libraries: |
The libraries: |
||
;[[libavcodec]] : A library containing all the Libav audio/video encoders and decoders. |
;[[libavcodec]] : A library containing all the Libav audio/video encoders and decoders. |
||
;libavfilter : The substitute for '' |
;libavfilter : The substitute for ''vhook'' which allows the video/audio to be modified or examined between the decoder and the encoder. |
||
;libavformat : A library containing [[demuxer]]s and muxers for audio |
;libavformat : A library containing [[demuxer]]s and muxers for audio and video container formats. |
||
;libavresample : A library containing audio [[Resampling (audio)|resampling]] routines. |
;libavresample : A library containing audio [[Resampling (audio)|resampling]] routines. |
||
;libavutil : A helper library containing routines common to different parts of Libav. |
;libavutil : A helper library containing routines common to different parts of Libav. |
||
This library includes [[Adler-32 |
This library includes [[Adler-32]], [[Cyclic redundancy check|CRC]], [[MD5]], [[SHA-1]], [[Lempel-Ziv-Oberhumer|LZO]] decompressor, [[Base64]] encoder/decoder, [[Data Encryption Standard|DES]] encrypter/decrypter, [[RC4]] encrypter/decrypter and [[Advanced Encryption Standard|AES]] encrypter/decrypter. |
||
;libswscale : A library containing video [[image scaling]] and [[Color space|colorspace]]/pixelformat conversion routines. |
;libswscale : A library containing video [[image scaling]] and [[Color space|colorspace]]/pixelformat conversion routines. |
||
Line 90: | Line 81: | ||
==== Video codecs ==== |
==== Video codecs ==== |
||
Libav includes video decoders and/or encoders for the following formats:<ref>{{cite web |
Libav includes video decoders and/or encoders for the following formats:<ref>{{cite web|title=General Documentation|url=https://www.libav.org/general.html|url-status=bot: unknown|archive-url=https://web.archive.org/web/20120527101743/http://libav.org/general.html#SEC6|archive-date=2012-05-27|access-date=2012-05-19|work=libav.org}}</ref> |
||
{{Col-begin}} |
{{Col-begin}} |
||
{{Col-2}} |
{{Col-2}} |
||
Line 109: | Line 100: | ||
* [[H.263]] |
* [[H.263]] |
||
* [[H.264/MPEG-4 AVC]] (native decoder, encoding through [[x264]]) |
* [[H.264/MPEG-4 AVC]] (native decoder, encoding through [[x264]]) |
||
* [[H.265/HEVC]] since 2014-02-12<ref> |
* [[H.265/HEVC]] since 2014-02-12<ref>{{cite web |title=Add libx265 encoder |url=https://github.com/libav/libav/commit/50ea93158d4c480f64069e8bd1da388486dcf4ba |website=Github.com |access-date=19 January 2023}}</ref><ref>{{Cite web |url=https://github.com/OpenHEVC/libav |title=OpenHEVC/Libav · GitHub |website=[[GitHub]] |archive-url=https://archive.today/20130825201843/https://github.com/OpenHEVC/libav |archive-date=25 August 2013 |url-status=dead}}</ref> |
||
* [[Huffyuv]] |
* [[Huffyuv]] |
||
* [[id Software]] RoQ Video |
* [[id Software]] RoQ Video |
||
Line 116: | Line 107: | ||
* [[Lagarith]] (decoding only) |
* [[Lagarith]] (decoding only) |
||
* LOCO (decoding only) |
* LOCO (decoding only) |
||
* [[DVD Forum]] standards related / [[Dolby]] audio codecs: [[Meridian Lossless Packing|MLP]] ( |
* [[DVD Forum]] standards related / [[Dolby]] audio codecs: [[Meridian Lossless Packing|MLP]] (a.k.a. [[TrueHD]]) and [[Dolby Digital|AC-3]] |
||
* Mimic (decoding only) |
* Mimic (decoding only) |
||
* [[MJPEG]] |
* [[MJPEG]] |
||
Line 130: | Line 121: | ||
* [[QuickTime]] related video codecs: [[Cinepak]], [[Motion JPEG]], [[ProRes 422|ProRes]], [[Sorenson 3 Codec]], [[Animation codec]] (RLE), [[Apple Video|Apple Video (RPZA)]], [[Apple Graphics Codec|Graphics Codec]] (SMC) |
* [[QuickTime]] related video codecs: [[Cinepak]], [[Motion JPEG]], [[ProRes 422|ProRes]], [[Sorenson 3 Codec]], [[Animation codec]] (RLE), [[Apple Video|Apple Video (RPZA)]], [[Apple Graphics Codec|Graphics Codec]] (SMC) |
||
* [[RAD Game Tools]]: [[Smacker video]] and [[Bink video]] |
* [[RAD Game Tools]]: [[Smacker video]] and [[Bink video]] |
||
* [[RenderWare]]: TXD<ref name="ffdev20070507">{{cite web | url=http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-May/028760.html | title=FFmpeg development mailing list | work=mplayerhq.hu | date=7 May 2007 | |
* [[RenderWare]]: TXD<ref name="ffdev20070507">{{cite web | url=http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-May/028760.html | title=FFmpeg development mailing list | work=mplayerhq.hu | date=7 May 2007 | access-date=24 December 2010 | author=ivo | url-status=dead | archive-url=https://archive.today/20070811203618/http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-May/028760.html | archive-date=11 August 2007 }}</ref> |
||
* [[RealVideo]] RV10 and RV20 |
* [[RealVideo]] RV10 and RV20 |
||
* RealVideo RV30 and RV40 (decoding only) |
* RealVideo RV30 and RV40 (decoding only) |
||
Line 142: | Line 133: | ||
* [[VMware]] VMnc (decoding only) |
* [[VMware]] VMnc (decoding only) |
||
* [[Westwood Studios]] [[.VQA|VQA]] (decoding only) |
* [[Westwood Studios]] [[.VQA|VQA]] (decoding only) |
||
* [[Windows Media Player]] related video codecs: [[Microsoft RLE]], [[Microsoft Video 1]], [[Cinepak]], [[Indeo]] 2, 3 and 5,<ref name="svn8747"/> [[Motion JPEG]], [[Microsoft MPEG-4]] v1, v2 and v3, [[Windows Media Video|WMV]]1, WMV2 and WMV3 ( |
* [[Windows Media Player]] related video codecs: [[Microsoft RLE]], [[Microsoft Video 1]], [[Cinepak]], [[Indeo]] 2, 3 and 5,<ref name="svn8747"/> [[Motion JPEG]], [[Microsoft MPEG-4]] v1, v2 and v3, [[Windows Media Video|WMV]]1, WMV2 and WMV3 (a.k.a. VC-1) |
||
* [[Society of Motion Picture and Television Engineers|SMPTE]] video standards: [[VC-1]] ( |
* [[Society of Motion Picture and Television Engineers|SMPTE]] video standards: [[VC-1]] (a.k.a. [[WMV3]]), [[VC-2]] (a.k.a. Dirac), [[VC-3]] (a.k.a. AVID [[DNxHD]]) and [[Digital Picture Exchange|DPX]] image |
||
* [[Wing Commander (video game)|Wing Commander]]/Xan Video (decoding only) |
* [[Wing Commander (video game)|Wing Commander]]/Xan Video (decoding only) |
||
{{Col-end}} |
{{Col-end}} |
||
==== Audio codecs ==== |
==== Audio codecs ==== |
||
Libav includes decoders and encoders for the following formats:<ref>{{Cite web | url= |
Libav includes decoders and encoders for the following formats:<ref>{{Cite web | url=https://www.libav.org/general.html#SEC7 | title=General Documentation | access-date=2012-05-19 | work=libav.org | archive-date=2012-05-27 | archive-url=https://web.archive.org/web/20120527101743/http://libav.org/general.html#SEC7 | url-status=dead }}</ref> |
||
{{Col-begin}} |
{{Col-begin}} |
||
{{Col-2}} |
{{Col-2}} |
||
Line 155: | Line 146: | ||
* [[Advanced Audio Coding|AAC]] |
* [[Advanced Audio Coding|AAC]] |
||
* [[Dolby AC-3|AC-3]] |
* [[Dolby AC-3|AC-3]] |
||
* [[3GPP]] vocoder standards: [[AMR-NB]], [[AMR-WB]] ( |
* [[3GPP]] vocoder standards: [[AMR-NB]], [[AMR-WB]] (a.k.a. G.722.2) |
||
* ITU-T vocoder standards: [[G.711]] |
* ITU-T vocoder standards: [[G.711]] μ-law, [[G.711]] A-law, [[G.721]] (a.k.a. [[G.726]] 32k), [[G.722]], [[G.722.2]] (a.k.a. [[Adaptive Multi-Rate Wideband|AMR-WB]]), [[G.723]] (a.k.a. [[G.726]] 24k and 40k), [[G.723.1]], [[G.726]], [[G.729]] and G.729D |
||
* [[Apple Lossless]] |
* [[Apple Lossless]] |
||
* [[ATRAC3]] (decoding only) |
* [[ATRAC3]] (decoding only) |
||
Line 163: | Line 154: | ||
* [[SimCity 3000|EA ADPCM]] (decoding only) |
* [[SimCity 3000|EA ADPCM]] (decoding only) |
||
* [[E-AC-3]] |
* [[E-AC-3]] |
||
* [[FLAC]] (24/32 bit support for decoding only<ref>{{Cite web| url=http://ffmpeg.org/trac/ffmpeg/ticket/210 | title=#210 (24bit flac encoding) - FFmpeg | |
* [[FLAC]] (24/32 bit support for decoding only<ref>{{Cite web| url=http://ffmpeg.org/trac/ffmpeg/ticket/210 | title=#210 (24bit flac encoding) - FFmpeg | access-date=2012-02-03 | work=Ffmpeg.org}}</ref>) |
||
* [[Full Rate|GSM 06.10]] (native decoder, encoding through [[libgsm]]) |
* [[Full Rate|GSM 06.10]] (native decoder, encoding through [[libgsm]]) |
||
* [[GSM]] related voice codecs: [[Full Rate]] |
* [[GSM]] related voice codecs: [[Full Rate]] |
||
Line 181: | Line 172: | ||
* [[VSELP|RealAudio 1.0]] |
* [[VSELP|RealAudio 1.0]] |
||
* [[LD-CELP|RealAudio 2.0]] (decoding only) |
* [[LD-CELP|RealAudio 2.0]] (decoding only) |
||
* [[RealPlayer]] related audio codecs: [[RealAudio]] 3, 6, 7, 8, 9 and 10 ( |
* [[RealPlayer]] related audio codecs: [[RealAudio]] 3, 6, 7, 8, 9 and 10 (a.k.a. ralf for RealAudioLosslessFormat) |
||
* [[RealPlayer]] related voice codecs: [[RealAudio]] 1, 2 (variant of [[G.728]]), 4 and 5 |
* [[RealPlayer]] related voice codecs: [[RealAudio]] 1, 2 (variant of [[G.728]]), 4 and 5 |
||
* [[Shorten (file format)|Shorten]] (decoding only) |
* [[Shorten (file format)|Shorten]] (decoding only) |
||
* SMPTE audio standards: SMPTE 302M |
* SMPTE audio standards: SMPTE 302M |
||
* [[Sony]]: [[Adaptive Transform Acoustic Coding|ATRAC1]] and [[Adaptive Transform Acoustic Coding|ATRAC3]]<ref name="svn8747">{{cite web | url=http://svn.mplayerhq.hu/ffmpeg/trunk/Changelog?revision=8747&view=marku | title=Changelog | work=mplayerhq.hu | date=17 April 2007 | |
* [[Sony]]: [[Adaptive Transform Acoustic Coding|ATRAC1]] and [[Adaptive Transform Acoustic Coding|ATRAC3]]<ref name="svn8747">{{cite web | url=http://svn.mplayerhq.hu/ffmpeg/trunk/Changelog?revision=8747&view=marku | title=Changelog | work=mplayerhq.hu | date=17 April 2007 | access-date=26 April 2007 | author=banan }}{{dead link|date=December 2017 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> |
||
* [[Speex]] (via [[libspeex]]) |
* [[Speex]] (via [[libspeex]]) |
||
* [[Truespeech]] |
* [[Truespeech]] |
||
* |
* TTA (decoding only) |
||
* [[TwinVQ]] (decoding only) |
* [[TwinVQ]] (decoding only) |
||
* [[Vorbis]] |
* [[Vorbis]] |
||
Line 201: | Line 192: | ||
=== Supported file formats === |
=== Supported file formats === |
||
Additionally to the aforementioned codecs, |
Additionally to the aforementioned codecs, Libav also supports several [[file format]]s (file formats designed to contain audio and/or video data and subtitles, are called "[[Digital container format|containers]]", but that is just a special denomination.): |
||
{{Col-begin}} |
{{Col-begin}} |
||
Line 207: | Line 198: | ||
* [[Advanced Systems Format|ASF]] |
* [[Advanced Systems Format|ASF]] |
||
* [[Audio Video Interleave|AVI]] and also input from [[AviSynth]] |
* [[Audio Video Interleave|AVI]] and also input from [[AviSynth]] |
||
* BFI<ref name="ffdev20080413">{{cite web | author = vitor | url = https://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-April/013231.html | title = FFmpeg development mailing list | work=mplayerhq.hu |
* BFI<ref name="ffdev20080413">{{cite web | author = vitor | url = https://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-April/013231.html | title = FFmpeg development mailing list | work = mplayerhq.hu | date = 13 April 2008 | access-date = 14 April 2008 }}{{dead link|date=December 2017 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> |
||
* [[Core Audio Format|CAF]] |
* [[Core Audio Format|CAF]] |
||
* [[FLV]] |
* [[FLV]] |
||
* [[General Exchange Format|GXF]], General eXchange Format, SMPTE 360M |
* [[General Exchange Format|GXF]], General eXchange Format, SMPTE 360M |
||
* [[Interchange File Format|IFF]]<ref name="ffdev20080330">{{cite web | author = vitor | url = https://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-March/012963.html | title = FFmpeg development mailing list | work=mplayerhq.hu |
* [[Interchange File Format|IFF]]<ref name="ffdev20080330">{{cite web | author = vitor | url = https://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-March/012963.html | title = FFmpeg development mailing list | work = mplayerhq.hu | date = 30 March 2008 | access-date = 30 March 2008 }}{{dead link|date=December 2017 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> |
||
* [[Voyeur (video game)|RL2]]<ref name="ffdev20080321">{{cite web |
* [[Voyeur (video game)|RL2]]<ref name="ffdev20080321">{{cite web|author=faust3 |url=http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-March/012799.html |title=FFmpeg development mailing list |work=mplayerhq.hu |date=21 March 2008 |access-date=21 March 2008 |url-status=dead |archive-url=https://web.archive.org/web/20080425024126/http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-March/012799.html |archive-date=25 April 2008 }}</ref> |
||
* [[ISO base media file format]] (including [[QuickTime File Format|QuickTime]], [[3GP and 3G2|3GP]] and [[MPEG-4 Part 14|MP4]]) |
* [[ISO base media file format]] (including [[QuickTime File Format|QuickTime]], [[3GP and 3G2|3GP]] and [[MPEG-4 Part 14|MP4]]) |
||
* [[Matroska]] (including [[WebM]]) |
* [[Matroska]] (including [[WebM]]) |
||
* [[SimCity 3000|Maxis XA]]<ref name="ffdev20080414">{{cite web | author = benoit | url = https://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-April/013245.html | title = FFmpeg development mailing list | work=mplayerhq.hu |
* [[SimCity 3000|Maxis XA]]<ref name="ffdev20080414">{{cite web | author = benoit | url = https://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-April/013245.html | title = FFmpeg development mailing list | work = mplayerhq.hu | date = 14 April 2008 | access-date = 14 April 2008 }}{{dead link|date=December 2017 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> |
||
* [[MPEG program stream]] |
* [[MPEG program stream]] |
||
{{Col-2}} |
{{Col-2}} |
||
* [[MPEG transport stream]] (including [[AVCHD]]) |
* [[MPEG transport stream]] (including [[AVCHD]]) |
||
* [[MXF]], Material eXchange Format, SMPTE 377M |
* [[Material Exchange Format|MXF]], Material eXchange Format, SMPTE 377M |
||
* MSN Webcam stream<ref name="ffdev20080318">{{cite web |
* MSN Webcam stream<ref name="ffdev20080318">{{cite web|url=http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-March/012708.html |title=FFmpeg development mailing list |work=mplayerhq.hu |date=18 March 2008 |access-date=18 March 2008 |author=ramiro |url-status=dead |archive-url=https://web.archive.org/web/20080817072304/http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-March/012708.html |archive-date=17 August 2008 }}</ref> |
||
* NUT |
* NUT |
||
* NUV ([[MythTV]] NuppelVideo file format) |
* NUV ([[MythTV]] NuppelVideo file format) |
||
* [[Ogg]] |
* [[Ogg]] |
||
* [[OpenMG Audio|OMA]]<ref name="ffdev20080608">{{cite web |
* [[OpenMG Audio|OMA]]<ref name="ffdev20080608">{{cite web|url=http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-June/014417.html |title=FFmpeg development mailing list |work=mplayerhq.hu |date=8 June 2008 |access-date=8 June 2008 |author=banan |url-status=dead |archive-url=https://web.archive.org/web/20090114195646/http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/2008-June/014417.html |archive-date=14 January 2009 }}</ref> |
||
* TXD<ref name="ffdev20070507"/> |
* TXD<ref name="ffdev20070507"/> |
||
* [[Windows Media Center|WTV]] |
* [[Windows Media Center|WTV]] |
||
Line 231: | Line 222: | ||
=== Supported protocols === |
=== Supported protocols === |
||
Support for several [[communications protocol]]s is also contained in |
Support for several [[communications protocol]]s is also contained in Libav. Here is a list: |
||
* IETF standards: [[Transmission Control Protocol|TCP]], [[User Datagram Protocol|UDP]], [[Gopher (protocol)|Gopher]], [[HTTP]], [[Real-time Transport Protocol|RTP]], [[Real Time Streaming Protocol|RTSP]] and [[Session Description Protocol|SDP]] |
* IETF standards: [[Transmission Control Protocol|TCP]], [[User Datagram Protocol|UDP]], [[Gopher (protocol)|Gopher]], [[HTTP]], [[Real-time Transport Protocol|RTP]], [[Real Time Streaming Protocol|RTSP]] and [[Session Description Protocol|SDP]] |
||
* Apple related protocols: [[HTTP Live Streaming]] |
* Apple related protocols: [[HTTP Live Streaming]] |
||
Line 237: | Line 228: | ||
* Adobe related protocols: [[Real Time Messaging Protocol|RTMP]], RTMPT (via librtmp), RTMPE (via librtmp), RTMPTE (via librtmp) and RTMPS (via librtmp) |
* Adobe related protocols: [[Real Time Messaging Protocol|RTMP]], RTMPT (via librtmp), RTMPE (via librtmp), RTMPTE (via librtmp) and RTMPS (via librtmp) |
||
* Microsoft related protocols: [[Microsoft Media Server|MMS]] over TCP and MMS over HTTP |
* Microsoft related protocols: [[Microsoft Media Server|MMS]] over TCP and MMS over HTTP |
||
=== Hardware acceleration === |
|||
There is e.g. support for [[Broadcom CrystalHD]] ASIC available in FFmpeg and MPlayer.<ref>{{cite web |url=http://intr.overt.org/blog/?p=117 |title=Broadcom CrystalHD Decoder support for FFmpeg and MPlayer}}</ref> |
|||
[[FFmpeg]] obtained support to use [[Nvidia NVENC]] in 2014.<ref>{{cite web |url=http://ffmpeg.org/doxygen/trunk/nvenc_8c_source.html |title=nvenc.c H.264 hardware encoding using nvidia nvenc}}</ref> |
|||
== See also == |
== See also == |
||
{{ |
{{Portal|Free and open-source software}} |
||
⚫ | * [[VLC media player]] uses [[libavcodec]] as its codec base, adds other codecs, cross platform<ref>{{Cite web | url=http://git.videolan.org/?p=vlc.git;a=blob;f=contrib/src/ffmpeg/rules.mak;h=948d76d2d52836c8abfb76eebec103014fe3c92b;hb=HEAD | title=Page showing Libav and FFmpeg snapshots VLC uses (people can compile VLC with either FFmpeg or Libav) | access-date=2018-04-06 | work=videolan.org | archive-date=2018-04-07 | archive-url=https://web.archive.org/web/20180407183025/http://git.videolan.org/?p=vlc.git;a=blob;f=contrib/src/ffmpeg/rules.mak;h=948d76d2d52836c8abfb76eebec103014fe3c92b;hb=HEAD | url-status=dead }}</ref> |
||
* [[FFmpeg]], the project from which Libav forked |
|||
⚫ | * [[VLC media player]] uses [[libavcodec]] as its codec base, adds other codecs, cross platform<ref>{{Cite web | url=http://git.videolan.org/?p=vlc.git;a=blob;f=contrib/src/ffmpeg/rules.mak;h= |
||
* [[Open source codecs and containers]] |
* [[Open source codecs and containers]] |
||
== References == |
== References == |
||
{{reflist |
{{reflist}} |
||
== External links == |
== External links == |
||
* |
* {{Official website|https://libav.org}} |
||
* [http://www.libav.org/projects.html Libav-based Projects] (includes projects using FFmpeg) |
|||
⚫ | |||
{{DEFAULTSORT:Libav}} |
|||
⚫ | |||
[[Category:Cross-platform free software]] |
[[Category:Cross-platform free software]] |
||
[[Category:Free codecs]] |
[[Category:Free codecs]] |
||
Line 266: | Line 249: | ||
[[Category:Multimedia frameworks]] |
[[Category:Multimedia frameworks]] |
||
[[Category:Video libraries]] |
[[Category:Video libraries]] |
||
[[Category:Software that uses FFmpeg]] |
|||
[[Category:Discontinued software]] |
Latest revision as of 15:39, 15 December 2024
Developer(s) | Libav team |
---|---|
Initial release | March 13, 2011[1] |
Final release | 12.3 (February 12, 2018[±] | )
Written in | C[2] |
Operating system | Linux, BSD, macOS, Microsoft Windows, AmigaOS, MorphOS[3] |
Platform | IA-32, x86-64, PowerPC, ARM, DEC Alpha, SPARC, and MIPS[3] |
Type | Multimedia framework |
License | LGPL-2.1-or-later GPL-2.0-or-later[4] |
Website | libav |
Libav is an abandoned[5] free software project, forked from FFmpeg in 2011, that contains libraries and programs for handling multimedia data.
History
[edit]Fork from FFmpeg
[edit]The Libav project was a fork of the FFmpeg project.[6] It was announced on March 13, 2011 by a group of FFmpeg developers.[7][8][9] The event was related to an issue in project management and different goals: FFmpeg supporters wanted to keep development velocity in favour of more features, while Libav supporters and developers wanted to improve the state of the code and take the time to design better APIs.[10][11]
The maintainer of the FFmpeg packages for Debian[12] and Ubuntu,[13] being one of the group of developers who forked FFmpeg, switched the packages to this fork in 2011. Hence, most software on these systems that depended on FFmpeg automatically switched to Libav. On July 8, 2015, Debian announced it would return to FFmpeg[14] for various, technical reasons.[15] Several arguments justified this step. Firstly, FFmpeg had a better record of responding to vulnerabilities than Libav. Secondly, Mateusz "j00ru" Jurczyk, a security-oriented developer at Google, argued that all issues he found in FFmpeg were fixed in a timely manner, while Libav was still affected by various bugs.[16] Finally, FFmpeg supported a far wider variety of codecs and containers than Libav.
As of 2022,[update] Libav is an abandoned software project, with Libav developers either returning to FFmpeg, moving to other multimedia projects like the AV1 video codec,[17] or leaving the multimedia field entirely.
Confusion
[edit]At the beginning of this fork, Libav and FFmpeg separately developed their own versions of the ffmpeg command. Libav then renamed their ffmpeg to avconv to distance themselves from the FFmpeg project. During the transition period, when a Libav user typed ffmpeg, there was a message telling the user that the ffmpeg command was deprecated and avconv has to be used instead. This confused some users into thinking that FFmpeg (the project) was dead.[18]
This message was removed upstream when ffmpeg was finally removed from the Libav sources. In June 2012, on Ubuntu 12.04, the message was re-worded, but that new "deprecated" message caused even more user confusion. Starting with Ubuntu 15.04 "Vivid", FFmpeg's ffmpeg is back in the repositories again.
To further complicate matters, Libav chose a name that was used by FFmpeg to refer to its libraries (libavcodec, libavformat, etc.). For example, the libav-user mailing list, for questions and discussions about using the FFmpeg libraries, is unrelated to the Libav project.[19][20]
Software using Libav instead of FFmpeg
[edit]Debian followed Libav when it was announced, and announced it would return to FFmpeg for Debian Stretch (9.0).[21]
MPlayer2, a defunct fork of MPlayer, used Libav exclusively, but could be used with GStreamer with its public API. The MPV media player no longer supports Libav due to missing API changes.[22]
Legal aspects
[edit]Codecs
[edit]Libav contains more than 100 codecs.[23] Many codecs that compress information have been claimed by patent holders.[24] Such claims may be enforceable in countries like the United States which have implemented software patents, but are considered unenforceable or void in countries that have not implemented software patents.
Logo
[edit]The Libav logo uses a zigzag pattern that references how MPEG video codecs handle entropy encoding.[25] It was previously the logo of the FFmpeg project until Libav was forked from it. Following the fork, in 2011 one of the Libav developers Måns Rullgård claimed copyright over the logo and requested FFmpeg cease and desist from using it.[26] FFmpeg subsequently altered their logo into a 3D version.[27]
Google Summer of Code participation
[edit]Libav participated in the Google Summer of Code program in 2011 and 2012.[28]
With participation in the Google Summer of Code, Libav has had many new features and improvements developed, including a WMVP/WVP2 decoder, hardware accelerated H.264 decoding on Android, and G.723.1 codec support.[28]
Technical details
[edit]Components
[edit]Libav primarily consists of libavcodec, which is an audio/video codec library used by several other projects, libavformat, which is an audio/video container muxing and demuxing library, and avconv, which is a multimedia manipulation tool similar to FFmpeg's ffmpeg or Gstreamer gst-launch-1.0 command.
The command line-programs:
- avconv
- A video and audio converter that can also grab from a live audio/video source.
- avserver
- A streaming server for both audio and video.
- avplay
- A very simple and portable media player using the Libav libraries and the SDL library.
- avprobe
- Gathers information from multimedia streams and prints it in human- and machine-readable fashion.
The libraries:
- libavcodec
- A library containing all the Libav audio/video encoders and decoders.
- libavfilter
- The substitute for vhook which allows the video/audio to be modified or examined between the decoder and the encoder.
- libavformat
- A library containing demuxers and muxers for audio and video container formats.
- libavresample
- A library containing audio resampling routines.
- libavutil
- A helper library containing routines common to different parts of Libav.
This library includes Adler-32, CRC, MD5, SHA-1, LZO decompressor, Base64 encoder/decoder, DES encrypter/decrypter, RC4 encrypter/decrypter and AES encrypter/decrypter.
- libswscale
- A library containing video image scaling and colorspace/pixelformat conversion routines.
Contained codecs
[edit]Numerous free and open-source implementations of existing algorithms for the (usually lossy) compression and decompression of audio or video data, called codecs, are available. Please note that an algorithm can be subject to patent law in some jurisdictions. Here are lists of the ones contained in the libav library:
Video codecs
[edit]Libav includes video decoders and/or encoders for the following formats:[29]
|
|
Audio codecs
[edit]Libav includes decoders and encoders for the following formats:[34]
|
|
Supported file formats
[edit]Additionally to the aforementioned codecs, Libav also supports several file formats (file formats designed to contain audio and/or video data and subtitles, are called "containers", but that is just a special denomination.):
|
Supported protocols
[edit]Support for several communications protocols is also contained in Libav. Here is a list:
- IETF standards: TCP, UDP, Gopher, HTTP, RTP, RTSP and SDP
- Apple related protocols: HTTP Live Streaming
- RealMedia related protocols: RealMedia RTSP/RDT
- Adobe related protocols: RTMP, RTMPT (via librtmp), RTMPE (via librtmp), RTMPTE (via librtmp) and RTMPS (via librtmp)
- Microsoft related protocols: MMS over TCP and MMS over HTTP
See also
[edit]- VLC media player uses libavcodec as its codec base, adds other codecs, cross platform[42]
- Open source codecs and containers
References
[edit]- ^ "Libav Home/News Page". libav.org. 2012-05-09. Archived from the original on 2022-06-22. Retrieved 2018-09-01.
- ^ "Developer Documentation". libav.org. 2011-12-08. Archived from the original on 2012-04-22. Retrieved 2012-05-17.
- ^ a b "FATE". libav.org. Archived from the original on 2018-09-02. Retrieved 2012-05-17.
- ^ "Libav License and Legal Considerations". libav.org. Archived from the original on 2013-07-23. Retrieved 2012-01-04.
- ^ Kunhya, Kieran (2020-04-16). "[libav-devel] What is the status of this project?". Archived from the original on 2020-08-12. Retrieved 2020-12-20.
- ^ "About Libav". libav.org. Archived from the original on 2014-12-05. Retrieved 2014-11-30.
... which convinced us to fork "properly" under the name Libav with its own website, mailing lists, IRC channel and repositories, thus completely separating from the old FFmpeg project
{{cite web}}
: CS1 maint: bot: original URL status unknown (link) - ^ "Libav project site". libav.org. Archived from the original on 2022-06-22. Retrieved 2012-01-04.
- ^ Ronald S. Bultje (2011-03-14). "Project renamed to Libav". gmane.org. Archived from the original on 2016-11-07. Retrieved 2012-01-04.
- ^ "A group of FFmpeg developers just forked as Libav". phoronix.com. Phoronix. 2011-03-14. Retrieved 2012-01-04.
- ^ "What happened to FFmpeg". multimedia.cx. 2011-03-30. Archived from the original on 2012-03-07. Retrieved 2012-05-19.
{{cite web}}
: CS1 maint: bot: original URL status unknown (link) - ^ "FFMpeg turmoil". lwn.net. 2011-01-19. Retrieved 2012-01-04.
- ^ "transition: Libav 0.7". debian.org. 2011-05-01. Archived from the original on 2015-02-11. Retrieved 2012-01-04.
{{cite web}}
: CS1 maint: bot: original URL status unknown (link) - ^ "Ubuntu Release Management: Transition: "Libav"". canonical.com. Archived from the original on 2012-01-07. Retrieved 2012-01-04.
- ^ "libav and FFmpeg: switch over". debian.org. 2015-08-02. Retrieved 2015-08-02.
- ^ "Debate/libav-provider/ffmpeg - Debian Wiki". debian.org. 2015-08-02. Retrieved 2015-08-02.
- ^ "FFmpeg and a thousand fixes". 10 January 2014. Archived from the original on 2021-09-15. Retrieved 2021-09-15.
{{cite web}}
: CS1 maint: bot: original URL status unknown (link) - ^ "Luca Barbato's (Libav developer) blog". 9 April 2019.
- ^ "Bug #939863 "Warning message from ffmpeg program needs update" : Bugs : libav package : Ubuntu". Launchpad. 2012-02-23. Retrieved 2024-07-02.
- ^ "What are the differences and similarities between ffmpeg, libav, and avconv?". February 28, 2012. Retrieved 14 August 2015.
- ^ "The FFmpeg/Libav situation". 30 June 2012. Archived from the original on 1 July 2012. Retrieved 14 August 2015.
- ^ "Debian to switch back to ffmpeg". July 8, 2015. Archived from the original on 2015-07-26. Retrieved 14 August 2015.
{{cite web}}
: CS1 maint: bot: original URL status unknown (link) - ^ "mpv - README - FFmpeg vs. Libav". GitHub. April 20, 2018. Archived from the original on September 15, 2021. Retrieved June 5, 2018.
{{cite web}}
: CS1 maint: bot: original URL status unknown (link) - ^ "Supported File Formats and Codecs". libav.org. Archived from the original on 2014-05-04. Retrieved 2014-05-04.
- ^ "Libav License and Legal Considerations". libav.org. Archived from the original on 2014-04-14. Retrieved 2014-05-04.
- ^ FFmpeg logo Archived 2017-04-28 at the Wayback Machine - FFMpeg mailing list, 20 Feb 2007
- ^ Legal Threat - ffmpeg.org 28 May 2011
- ^ "FFmpeg License and Legal Considerations". ffmpeg.org. 2011-05-31. Archived from the original on 2012-01-03.
- ^ a b "FFmpeg/Libav Summer of Code". multimedia.cx. Archived from the original on 2011-11-17. Retrieved 2012-05-19.
- ^ "General Documentation". libav.org. Archived from the original on 2012-05-27. Retrieved 2012-05-19.
{{cite web}}
: CS1 maint: bot: original URL status unknown (link) - ^ a b c d e f g banan (17 April 2007). "Changelog". mplayerhq.hu. Retrieved 26 April 2007.[permanent dead link ]
- ^ "Add libx265 encoder". Github.com. Retrieved 19 January 2023.
- ^ "OpenHEVC/Libav · GitHub". GitHub. Archived from the original on 25 August 2013.
- ^ a b ivo (7 May 2007). "FFmpeg development mailing list". mplayerhq.hu. Archived from the original on 11 August 2007. Retrieved 24 December 2010.
- ^ "General Documentation". libav.org. Archived from the original on 2012-05-27. Retrieved 2012-05-19.
- ^ "#210 (24bit flac encoding) - FFmpeg". Ffmpeg.org. Retrieved 2012-02-03.
- ^ vitor (13 April 2008). "FFmpeg development mailing list". mplayerhq.hu. Retrieved 14 April 2008.[permanent dead link ]
- ^ vitor (30 March 2008). "FFmpeg development mailing list". mplayerhq.hu. Retrieved 30 March 2008.[permanent dead link ]
- ^ faust3 (21 March 2008). "FFmpeg development mailing list". mplayerhq.hu. Archived from the original on 25 April 2008. Retrieved 21 March 2008.
{{cite web}}
: CS1 maint: numeric names: authors list (link) - ^ benoit (14 April 2008). "FFmpeg development mailing list". mplayerhq.hu. Retrieved 14 April 2008.[permanent dead link ]
- ^ ramiro (18 March 2008). "FFmpeg development mailing list". mplayerhq.hu. Archived from the original on 17 August 2008. Retrieved 18 March 2008.
- ^ banan (8 June 2008). "FFmpeg development mailing list". mplayerhq.hu. Archived from the original on 14 January 2009. Retrieved 8 June 2008.
- ^ "Page showing Libav and FFmpeg snapshots VLC uses (people can compile VLC with either FFmpeg or Libav)". videolan.org. Archived from the original on 2018-04-07. Retrieved 2018-04-06.