Libavcodec

libavcodec
開發者FFmpeg team
源代码库
  • git.ffmpeg.org/gitweb/ffmpeg.git/tree/HEAD:/libavcodec
編輯維基數據鏈接
编程语言C99
操作系统适用于Windows、OS X和Linux,也可为其它操作系统编译。[1]
平台适用于x86平台
语言英语
类型多媒体编解码
许可协议GNU LGPL 2.1或GNU GPL 2+ or non-redistributable if compiled as such[2]

libavcodec是一款LGPL自由软件编解码库,用于视频和音频数据的编解码工作。带有这个名字的库有FFmpeg项目和Libav项目,但是它们却彼此不兼容。

libavcodec是个集成了许多开源多媒体应用和框架。常见的MPlayer、xineVLC媒体播放器都使用它作为它们的主要内置解码引擎,用于许多音频视频格式在所有支持的平台上的重放。它也被ffdshow试用解码器用作主要的解码库。libavcodec也被用于视频编辑和转换应用,例如AvidemuxMEncoder英语MEncoder或者Kdenlive既用它解码也用其编码。

libavcodec包含了解码器和为实现若干专有格式而存在的编码器。其本身在逆向工程方面的工作就是libavcodec发展成长的一部分。在标准的libavcodec框架下,有着这些有效的编解码器为使用原始的编解码器带来很大的益处,最明显的就是提升了移植性。另一些方面也增加了它的表现力,因为libavcodec包含了一份标准库,它高度优化了常见建立块的实现,比如DCT和色彩空间转换。但是,即便libavcodec致力于将字节提取级别的解码来实现最终结果,这样的重现中出现的错误和丢失的特征有时候能导致回放固定文件的兼容性问题。

已實作的影像編解碼器

libavcodec包含如下的編解碼:[4]

  • Animated GIF
  • Asus v1與v2
  • AVS(僅解碼功能)
  • AV1
  • CamStudio(僅解碼功能)
  • CineForm(僅解碼功能)
  • Cinepak(僅解碼功能)
  • Creative YUV(CYUV,僅解碼功能)
  • Dirac(僅解碼功能,編碼則經由libdirac以及libschroedinger)
  • DNxHD
  • Duck TrueMotion v1與v2(僅解碼功能)
  • Flash Screen Video
  • FFV1
  • Flash Screen Video v1 and v2
  • H.261
  • H.262/MPEG-2 Part 2
  • H.263
  • H.264/MPEG-4 AVC(原生解碼,編碼則透過x264
  • Huffyuv
  • id Software RoQ Video
  • Intel Indeo(僅解碼功能)
  • Lagarith(僅解碼功能)
  • LOCO(僅解碼功能)
  • Mimic(僅解碼功能)
  • MJPEG
  • MPEG-1
  • MPEG-2/H.262
  • MPEG-4 Part 2(格式多用於DivXXvid

  • On2 VP3(僅解碼功能)
  • On2 VP5(僅解碼功能)
  • On2 VP6(僅解碼功能)
  • On2 VP8(native decoder, encoding through libvpx)
  • On2 VP9 (原生解碼,編碼則libvpx-vp9)
  • Apple ProRes
  • Apple Computer QuickDraw(僅解碼功能)
  • QuickTime: Graphics(僅解碼功能), Video(decoding only)and Animation(RLE)
  • RealVideo RV10 and RV20
  • RealVideo RV30 and RV40(僅解碼功能)
  • Smacker video(僅解碼功能)
  • Snow
  • Sorenson SVQ1
  • Sorenson SVQ3(僅解碼功能)
  • Theora(原生解碼,編碼則libtheora)
  • VC-1(僅解碼功能)
  • Sierra VMD Video(decoding only)
  • VMware VMnc(decoding only)
  • Westwood Studios VQA(decoding only)
  • WMV—版本7與8
  • WMV—version 9 / VC-1(僅解碼功能)
  • Windows Media Video Image(僅解碼功能)
  • Windows Media Video Screen 1 and 2(decoding only)
  • Wing Commander/Xan Video(僅解碼功能)

已實作的音頻編解碼器

libavcodec含蓋列下的音頻編解碼格式:[5]

  • 8SVX(僅解碼功能)
  • AAC
  • AC-3
  • AMR(僅解碼功能)
  • AMR-WB(僅解碼功能)
  • Apple Lossless
  • ATRAC3(僅解碼功能)
  • Cook Codec(僅解碼功能)
  • DTS(編碼仍在實驗中)
  • EA ADPCM(僅解碼功能)
  • E-AC-3
  • EVRC英语Enhanced Variable Rate Codec(僅解碼功能)
  • FLAC
  • GSM 06.10(原生解碼功能,編碼則經由libgsm)
  • Intel Music Coder and Indeo Audio Coder(僅解碼功能)
  • Meridian Lossless Packing / Dolby TrueHD
  • Monkey's Audio(僅解碼功能)
  • MP1(僅解碼功能)
  • MP2
  • MP3(原生解碼功能,編碼係透過LAME

  • Nellymoser Asao Codec in Flash
  • Opus透過外部的libopus
  • QCELP(僅解碼)
  • QDM2(僅解碼)
  • RealAudio 1.0
  • RealAudio 2.0(僅解碼)
  • Shorten(僅解碼)
  • Truespeech(僅解碼)
  • TTA
  • TwinVQ(僅解碼)
  • Vorbis
  • WavPack
  • Windows Media Audio 1與2
  • Windows Media Audio 9 Lossless(僅解碼)
  • Windows Media Audio 9 Professional(僅解碼)
  • Windows Media Audio Voice(僅解碼)


引用libavcodec的庫

  • libavformat(FFmpeg之部份)
  • libgegl(GEGL可選之部份)
    • libgimp(GIMP之部份)
  • libmpcodecs(MPlayer之部份)

使用libavcodec的應用程式

影像播放器

音頻播放器

  • Audacious(Uses in audacious-plugins's ffaudio)
  • Rockbox(仅FLAC编码)
  • XMMS2

多媒體播放器

影像編輯

參見影像編輯軟體比較表英语Comparison of video editing software

視覺效果

音頻編輯

  • Audacity(自1.3.6版以後)
  • SoX(可選)

影像轉換

  • avconv
  • FFmpeg
  • HandBrake
  • MEncoder
  • SUPER英语SUPER (software)
  • Transcode英语Transcode (software)
  • ffmpeg2theora

視訊庫

光碟制作

圖庫

3D圖形編輯器

VoIP

多媒體流伺服器

多媒體架構

  • ffdshow(将 libavcodec 包装为 DirectShow 滤镜,并添加后处理工序以增强图像质量;安装后可自动为 Windows 上使用 DirectShow 架构的播放器所调用,包括 Windows Media PlayerMedia Player ClassicWinamp 等。ffdshow 同时也将 libavcodec 包装为 Video for Windows 滤镜,这是大多数视频编辑软件所用的架构。)
  • LAV Filters
  • GStreamer via the GStreamer FFmpeg plugin
  • Perian
  • Bellagio OpenMAX Integration Layer – opensource OpenMAX IL API implementation

電腦視訊庫

瀏覽器

媒體中心

擷取螢幕

设备工具集

  • BitPim – 用于CDMA手机的工具集

闭路电视

  • ZoneMinder – 摄像头安全套件
  • Motion – 摄像头安全/监视程序

遊戲

其他

  • CorePlayer
  • FreeJ
  • Ingex Studio – used by BBC
  • PulseAudio – includes only resamplers code[10]

注释

参考资料

  1. ^ Download. ffmpeg.org. FFmpeg. [2012-01-04]. (原始内容存档于2013-09-15). 
  2. ^ libavcodec can be configured to make it a proprietary and non-redistributable library since some optional external libraries are proprietary software and cannot be distributed under the terms of the GPL (e.g. Decklink).
  3. ^ Download FFmpeg#releases. FFmpeg. [2019-11-03]. (原始内容存档于2011-10-06). 
  4. ^ General Documentation, Ffmpeg.org, [2012-01-17], (原始内容存档于2019-07-17) 
  5. ^ General Documentation, Ffmpeg.org, [2022-10-10], (原始内容存档于2019-07-17) 
  6. ^ Blender for Dummies, Books.google.com: 320, [2012-01-17], (原始内容存档于2015-03-17) 
  7. ^ Learning OpenCV: computer vision with the OpenCV library, Books.google.com: 9, 2008-09-24 [2012-01-17], (原始内容存档于2015-03-17) 
  8. ^ whatwg MPEG-1 subset proposal for HTML5 video codec, Lists.whatwg.org, [2012-01-17], (原始内容存档于2012-02-19) 
  9. ^ Open Source Development, Communities and Quality: IFIP 20th World Computer, Books.google.com: 167, [2012-01-17], (原始内容存档于2015-03-17) 
  10. ^ pulseaudio.git/tree – src/pulsecore/ffmpeg/, Git.0pointer.de, [2012-01-17], (原始内容存档于2012-07-13) 
压缩软件
比较
自由软件
免費軟體
  • Filzip英语Filzip
  • IZArc
  • LHA
  • StuffIt Expander英语StuffIt Expander(仅解压)
  • TUGZip英语TUGZip
  • ZipGenius英语ZipGenius
  • 2345好压
  • 360压缩
  • Bandizip
商业软件
  • ARC
  • ALZip
  • Archive Utility英语Archive Utility
  • ARJ
  • BetterZip英语BetterZip
  • BulkZip英语BulkZip
  • JAR英语JAR (software)
  • MacBinary英语MacBinary
  • PKZIP/SecureZIP英语PKZIP
  • PowerArchiver英语PowerArchiver
  • StuffIt英语StuffIt
  • WinAce
  • WinRAR
  • WinZip
非归档压缩
常规
  • bzip2
  • compress英语compress
  • gzip
  • lzip英语lzip
  • lzop英语lzop
  • pack英语pack (compression)
  • rzip英语rzip
  • Snappy
  • XZ Utils英语XZ Utils
面向代码
音频压缩
比较
有损
  • Fraunhofer FDK AAC英语Fraunhofer FDK AAC
  • Nero AAC Codec英语Nero AAC Codec
  • Freeware Advanced Audio Coder (FAAC)英语FAAC
  • Helix DNA Producer英语Helix (multimedia project)
  • l3enc英语l3enc
  • LAME
  • TooLAME英语TooLAME
  • Libavcodec
  • libcelt英语CELT
  • libopus
  • libspeex
  • Musepack
  • libvorbis
  • Windows Media Encoder英语Windows Media Encoder
无损
视频压缩
比较英语Comparison of video codecs
有损
MPEG-4 ASP英语MPEG-4 Part 2
H.264 /
MPEG-4 AVC
HEVC
其他
  • CineForm英语CineForm
  • Cinepak英语Cinepak
  • Daala
  • DNxHD英语DNxHD codec
  • Helix DNA Producer英语Helix (multimedia project)
  • Indeo英语Indeo
  • Libavcodec
  • Schrödinger (Dirac)英语Dirac (video compression format)
  • SBC英语Smart Bitrate Control
  • Sorenson英语Sorenson codec
  • On2 Technologies
  • libtheora
  • libvpx英语libvpx
  • Windows Media Encoder英语Windows Media Encoder
  • AOMedia Video 1
无损
  • FFV1英语FFV1
  • Huffyuv英语Huffyuv
  • Lagarith
  • MSU Lossless英语MSU Lossless Video Codec
  • YULS英语YULS
  • 另見:压缩方法、压缩格式
视频壓縮
ISO/IEC
ITU-T
SMPTE
  • VC-1
  • VC-2英语Dirac (video compression format)
  • VC-3英语DNxHD codec
  • VC-5英语CineForm
開放媒體聯盟
On2 Technologies
(现属谷歌公司
苹果公司
  • Apple Video英语Apple Video
  • Apple ProRes
  • QuickTime
    • 动画英语QuickTime Animation
    • 图形英语QuickTime Graphics
中国标准化协会
其他
  • Bink视频英语Bink Video
  • Cinepak英语Cinepak
  • Daala
  • Dirac英语Dirac (video compression format)
  • DV
  • DVI英语Digital Video Interactive
  • FFV1英语FFV1
  • Huffyuv英语Huffyuv
  • Indeo英语Indeo
  • Lagarith
  • Microsoft Video 1英语Microsoft Video 1
  • MSU无损英语MSU Lossless Video Codec
  • OMS Video英语OMS Video
  • Pixlet英语Pixlet
  • RealVideo
  • RTVideo英语RTVideo
  • SheerVideo英语SheerVideo
  • Smacker英语Smacker video
  • Sorenson Video, Spark英语Sorenson codec
  • Theora
  • Thor英语Thor (video codec)
  • WMV
  • XEB英语ratDVD
  • YULS英语YULS
音频壓縮
ISO/IEC
  • MPEG-1 Layer III (MP3)
  • MPEG-1 Layer II
    • Multichannel英语MPEG Multichannel
  • MPEG-1 Layer I英语MPEG-1 Audio Layer I
  • AAC
    • HE-AAC
    • AAC-LD英语AAC-LD
  • MPEG Surround英语MPEG Surround
  • MPEG-4 ALS
  • MPEG-4 SLS英语MPEG-4 SLS
  • MPEG-4 DST
  • MPEG-4 HVXC英语Harmonic Vector Excitation Coding
  • MPEG-4 CELP
  • MPEG-D USAC英语Unified Speech and Audio Coding
  • MPEG-H 3D Audio英语MPEG-H 3D Audio
ITU-T
  • G.711A-law英语A-law algorithm, µ-law英语µ-law algorithm
  • G.718英语G.718
  • G.719
  • G.722
  • G.722.1英语G.722.1
  • G.722.2英语Adaptive Multi-Rate Wideband
  • G.723
  • G.723.1英语G.723.1
  • G.726
  • G.728英语G.728
  • G.729
  • G.729.1英语G.729.1
IETF
3GPP
  • AMR
  • AMR-WB英语Adaptive Multi-Rate Wideband
  • AMR-WB+英语Extended Adaptive Multi-Rate – Wideband
  • EVRC英语Enhanced Variable Rate Codec
  • EVRC-B英语Enhanced Variable Rate Codec B
  • EVS英语Enhanced Voice Services
  • GSM-HR英语Half Rate
  • GSM-FR英语Full Rate
  • GSM-EFR英语Enhanced full rate
ATSC,DVB
中国标准化协会
其他
  • ACELP英语Algebraic code-excited linear prediction
  • ALAC
  • Asao英语Asao (codec)
  • ATRAC
  • CELT
  • Codec2英语Codec2
  • FLAC
  • iSAC
  • Monkey's Audio
  • TTA
    • True Audio
  • TAK
  • MT9英语MT9
  • Musepack
  • OptimFROG
  • OSQ英语Original Sound Quality
  • QCELP英语Qualcomm code-excited linear prediction
  • RCELP英语Relaxed code-excited linear prediction
  • RealAudio
  • RTAudio英语RTAudio
  • SD2英语Avid Audio#Sound Designer file formats
  • SHN英语Shorten (file format)
  • SILK
  • Siren英语Siren (codec)
  • SMV英语Selectable Mode Vocoder
  • Speex
  • SVOPC英语SVOPC
  • TwinVQ英语TwinVQ
  • VMR-WB英语Variable-Rate Multimode Wideband
  • Vorbis
  • VSELP英语Vector sum excited linear prediction
  • WavPack
  • WMA
  • MQA
  • aptX
  • LDAC
  • MLP英语Meridian Lossless Packing
  • LHDC
  • SBC
图像压缩
IEC,ISO,ITU-T,W3C,IETF
其他
封裝格式
ISO/IEC
  • MPEG-ES英语Elementary stream
    • MPEG-PES英语Packetized elementary stream
  • MPEG-PS英语MPEG program stream
  • MPEG-TS
  • ISO基本媒体文件格式英语ISO base media file format
  • MPEG-4 Part 14(MP4)
  • Motion JPEG 2000英语Motion JPEG 2000
  • MPEG-21 Part 9英语Digital Item#File Format
  • MPEG媒体传输英语MPEG media transport
ITU-T
  • H.222.0
  • T.802英语Motion JPEG 2000
IETF
其他
合作
另见压缩方法、数据压缩软件