DATE: 2018.12.30
1、參考
http://www.data-compression.org/patents.shtml
http://www.cnblogs.com/lidabo/p/7235316.html
https://en.wikipedia.org/wiki/List_of_open-source_codecs
https://en.wikipedia.org/wiki/Comparison_of_video_codecs
2、前言
在音視頻編解碼領域,有很多優秀的開源項目值得我們去學習研究。在開發過程中,我們可能會學習借鑒這些開源項目,來提高開發效率。下面介紹一些常用的音視頻開源項目。
3、常用的音視頻開源項目
3.1、huffyuv
huffyuv是一種無損壓縮編碼方法。
WIKI介紹:https://en.wikipedia.org/wiki/Huffyuv
下載網址:http://downloads.ddigest-dl.com/software/download.php?sid=730&ssid=0&did=2
https://www.videohelp.com/software/HuffYUV/old-versions#downloadold
3.2、Lame
Lame是一種軟件mp3編碼器,將音頻轉換成mp3文件格式。
WIKI介紹:https://en.wikipedia.org/wiki/LAME
http://www.rarewares.org/mp3-lame-bundle.php
下載網址:http://lame.sourceforge.net/
3.3、 ffmpeg
FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video.
最全面的開源編碼器,包括了H.264、MPEG4、G.72x等音視頻編碼,效率也非常高,強烈推薦!
目前最全面的開源編碼器,其中包括常用的音視頻編碼協議 h.264、MPEG4、H.263、G.721、G.726、G.729等,ffmpeg雖然是基於linux的開源項目,但可以通過交叉編譯的方式在windows下運行,其項目加入了很多優化效率的代碼,如采用匯編替代C,大大提高了編碼的效率,推薦ffmpeg用於視頻會議的實時編碼。
官方網址:http://ffmpeg.org/
下載地址:http://ffmpeg.org/download.html
開源協議:GPL/LGPL
3.4、webrtc
Google收購GIPS后開源的基於瀏覽器的實時通信開源項目,GIPS是目前世界上最好的音頻傳輸庫,但其授權費非常高,webrtc是Google收購GIPS后,公開的一個通信項目,其核心voiceEngine就是由GIPS建立的,因此視頻會議的音頻部分可以參考webrtc來實現。
3.5、live555
live555是最重量級的一個C++流媒體開源項目,其中不僅包括了傳輸協議(SIP、RTP)、音視頻編碼器(H.264、MPEG4)等,還包括流媒體服務器的例子,是流媒體項目的首選,里面的傳輸模塊是非常值得視頻會議開發作為參考的。
3.6、x264
X264是目前應用最廣的H.264編碼器,其省去了H.264效率較低的部分,並對其進行了優化,效率明顯比其他的H.264開源項目高很多,是最適合於實時視頻會議傳輸的H.264編解碼庫。
下載地址:http://www.x264.nl/
開源協議: GNU GPL
3.7、Xvid
最著名的MPEG4編碼器開源項目,但效率不及x264。
在沒有H.264編碼協議之前,Xvid的MPEG4編碼一直是視頻會議的首選視頻編碼器,但隨着x264、CoreAVC等效率更高的H.264編碼器的出現,其應用效果受到較大的沖擊,但其結合directshow的視頻采集模塊還是值得視頻會議開發人員參考的。
下載地址:http://www.xvid.org
開源協議: GNU GPL v2
3.8、x265
x265 is an open-source project and free application library for encoding video streams into the H.265/High Efficiency Video Coding (HEVC) format, and is released under the terms of the GNU GPL.
WIKI介紹:https://en.wikipedia.org/wiki/X265
官方網址: www.x265.org
下載地址: https://bitbucket.org/multicoreware/x265
開源協議: GNU GPL v2
3.9 OpenHEVC
只是一個解碼庫,目前沒有支持編碼
開發語言 C 基於ffmpeg/libav框架寫的
官方網址: https://github.com/OpenHEVC/openHEVC
3.10、libvpx
libvpx is a free software video codec library from Google and the Alliance for Open Media (AOMedia). It serves as the reference software implementation for the video coding formats VP8 and VP9, and for AV1 a special fork named libaom that was stripped of backwards compatibility.
下載網址:http://code.google.com/p/webm/downloads/list
3.11、AV1
AV1是一種免版稅、開源的新視頻編碼標准,集成Daala、Thor和VPx部分最優秀的編碼思想,由開放媒體聯盟(AOMedia)發布,目前第一版Version0.1.0已經在2016年4月7日發布。AV1現階段的主要目標是在編解碼復雜度合理增加的前提下,編碼性能高於VP9/HEVC的50%。
AV1源碼下載地址:https://aomedia.googlesource.com/aom
AV1測試視頻序列:http://media.xipha.org/video/derf/
AV1碼流分析工具源碼:https://github.com/mbebenita/aomanalyzer
AV1碼流分析工具:https://people.xiph.org/~mbebenita/analyzer/
3.12、libmpeg2
libmpeg2 is a free library for decoding mpeg-2 and mpeg-1 video streams. It is released under the terms of the GPL license.
project homepage: http://libmpeg2.sourceforge.net/
下載網址: https://github.com/aholtzma/mpeg2dec/tree/master
https://sourceforge.net/projects/libmpeg2/
開源協議: GNU General Public License version 2.0(GPLv2)
3.13、libjpeg
JPEG官網:https://jpeg.org/
https://jpegclub.org/
JPEG庫開發組織:http://www.ijg.org/
libjpeg庫的下載地址:https://sourceforge.net/projects/libjpeg/
開源協議:Custorm free software license, not GPL
3.14、OpenJPEG
OpenJPEG項目是jpeg2000的開源解碼器項目。
官方網址: http://www.openjpeg.org/
下載網址: https://github.com/uclouvain/openjpeg
開源協議: 2-clauses BSD license
更多音視頻開源項目可參考:https://en.wikipedia.org/wiki/Comparison_of_video_codecs