参考:https://www.cnblogs.com/cyblogs/p/10722306.html
https://blog.csdn.net/fanyun_01/article/details/103565661
不管视频编解码,图像编解码,音频编解码,都有很多组织基金在推动。
当然,在一些特定的情景下,需要用起来编解码库,
而一般这些库都会有编译困难,使用困难等等困难综合症。
图像方面,已经有stb_image,spot,freeimage等编解码库系列,做得特别赞。
https://github.com/nothings/stb/
https://github.com/r-lyeh-archived/spot
http://freeimage.sourceforge.net/index.html
当然有一段时间,jpeg的编码库也是个头疼的事情,直到tinyjpg的出现。
视频这块有libav,ffmpeg
而音频这块,就有点差强人意了。
当然dr_libs 也已经做了不少工作了。
https://github.com/mackron/dr_libs
可惜的是,他做了wav的编解码库,mp3的解码库,就是没有mp3的编码库。
而一般mp3 的编码库,大众使用最多的是lame
在一阵寻寻觅觅之后,俺找到了一个mp3的编码库。
其原官网已经成为历史资源了。
https://web.archive.org/web/20060102002813/http://www.everett9981.freeserve.co.uk/pete.htm
也是相当历史久远了。
也有人对其进行了回炉重造。
https://github.com/toots/shine
https://github.com/cpuimage/tinymp3
---------------------------------------------------------------------------------------------------
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
Lame是一种软件mp3编码器,将音频转换成mp3文件格式。
WIKI介绍:https://en.wikipedia.org/wiki/LAME
http://www.rarewares.org/mp3-lame-bundle.php
下载网址:http://lame.sourceforge.net/
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
Google收购GIPS后开源的基于浏览器的实时通信开源项目,GIPS是目前世界上最好的音频传输库,但其授权费非常高,webrtc是Google收购GIPS后,公开的一个通信项目,其核心voiceEngine就是由GIPS建立的,因此视频会议的音频部分可以参考webrtc来实现。
live555是最重量级的一个C++流媒体开源项目,其中不仅包括了传输协议(SIP、RTP)、音视频编码器(H.264、MPEG4)等,还包括流媒体服务器的例子,是流媒体项目的首选,里面的传输模块是非常值得视频会议开发作为参考的。
X264是目前应用最广的H.264编码器,其省去了H.264效率较低的部分,并对其进行了优化,效率明显比其他的H.264开源项目高很多,是最适合于实时视频会议传输的H.264编解码库。
下载地址:http://www.x264.nl/
开源协议: GNU GPL
最著名的MPEG4编码器开源项目,但效率不及x264。
在没有H.264编码协议之前,Xvid的MPEG4编码一直是视频会议的首选视频编码器,但随着x264、CoreAVC等效率更高的H.264编码器的出现,其应用效果受到较大的冲击,但其结合directshow的视频采集模块还是值得视频会议开发人员参考的。
下载地址:http://www.xvid.org
开源协议: GNU GPL v2
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
只是一个解码库,目前没有支持编码
开发语言 C 基于ffmpeg/libav框架写的
官方网址: https://github.com/OpenHEVC/openHEVC
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
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/
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)
JPEG官网:https://jpeg.org/
https://jpegclub.org/
JPEG库开发组织:http://www.ijg.org/
libjpeg库的下载地址:https://sourceforge.net/projects/libjpeg/
开源协议:Custorm free software license, not GPL
OpenJPEG项目是jpeg2000的开源解码器项目。
官方网址: http://www.openjpeg.org/
下载网址: https://github.com/uclouvain/openjpeg
开源协议: 2-clauses BSD license