第三方库说明 - housekeeper-software/soft GitHub Wiki

简介

SDK中一共使用到21个库,不同平台使用的情况略有区别。

详细

abseil-cpp

版本:20211102.0  
google 开源的 C++ 基础库, 最低支持 C++ 14,为webrtc 所使用。  

c-ares

版本:1.18.1  
异步DNS解析,目前除了MT7628在使用,其他平台均未使用,但是编译系统需要头文件。 

curl

版本:7.79.1  
用于HTTP(S)请求,download/upload,还提供RTSP协议支持。  
依赖:openssl

ffmpeg

版本:4.3.3  
用于音视频编解码,图像格式转换等。  
依赖:x264

jrtplib

版本:3.11.2  
用于RTP协议传输。 作者已经宣布不再更新,后期考虑使用其他项目实现。  
依赖:jthread

jsoncpp

版本:1.9.5  
json c++ 解析库

libevent

版本:2.1.12  
异步信号库,用于线程消息循环和异步网络通讯。  
依赖: openssl

libexosip2

版本:5.1.1  
用于sip协议实现。此项目有新版本,但没有更新,在android arm64上发现存在bug,所以放弃更新。    
依赖: openssl

libwebsockets

版本: 4.3.0  
用于websocket的实现。在室外机中用到。  
依赖: openssl

libyuv

版本:最新版。rv1109使用去年的版本,因为rv1109 gcc编译器版本较低,无法编译新版本的汇编指令集。  
用于YUV和RGB的图像格式转换。支持 SSE, AVX2, NEON等加速指令,速度超快。  

lua

版本:5.3.4  
用于lua脚本支持,在部署和代理中均有用到。  

mp4v2

版本: 2.0.0  
用于将 H264和AAC打包成mp4格式。在rv1109中用到  

openssl

版本: 1.1.1c  
用于加密和解密。为其他诸多库的依赖。本次编译去掉了ASM指令支持。  

paho.mqtt

版本:1.3.9  
mqtt协议实现。室外机中可能用到,目前已经转websocket协议。  

pjproject

版本:2.9  
完整的voip实现,项目中只用到pjnath,用于ICE协议实现。  

protobuf-cpp

版本: 3.7.0  
google protobuf协议格式的解析和编码  

speex

版本: 1.2.0  
speex 音频编解码,只在底座中用到

speexdsp

版本: 1.2.0,github上的版本,修正了arm64的neon指令的问题  
音频重采样,回音消除算法等

sqlite

版本:3360000
sqlite数据库支持,只用在室外机

webrtc-aec3

版本:1.0,来自 freedesk,plusaudio  
支持回音消除,重采样等  
依赖:abseil-cpp

x264

版本:最新版
H264编译器,为ffmpeg使用。目前android和IOS均不使用,而是使用平台内置的编解码器。