- 说明
本文章详细记录了编译doubango的详细过程。
为了保证移植的便利,所有用到的库,都自行编译。
默认更简单一些。文中经常看到BUILD_LIBS=${HOME}/build_libs语句。这是为了把所有编译结果放在一个目录下。因为会用到:
export PATH=${BUILD_LIBS}/bin:${PATH}
- 参考文档
https://github.com/DoubangoTelecom/doubango/blob/master/Building_Source_v2_0.md
吾使用的是debango编译。
- 准备工作
apt update apt install gcc make cmake apt install autoconf subversion git wget g++ pkg-config # libtool libtool libogg-devel nasm
- 下载编译libtool
https://blog.csdn.net/quantum7/article/details/104086313
- 下载编译libogg
https://blog.csdn.net/quantum7/article/details/104086366
- 下载编译nasm
https://blog.csdn.net/quantum7/article/details/104086464
- 下载编译libsrtp
https://blog.csdn.net/quantum7/article/details/104086582
- 下载编译OpenSSL
https://blog.csdn.net/quantum7/article/details/104086731
- 下载编译libspeex/libspeexdsp
https://blog.csdn.net/quantum7/article/details/104086849
- 下载编译YASM
https://blog.csdn.net/quantum7/article/details/104086713
- 下载编译Which
https://blog.csdn.net/quantum7/article/details/104086868
- 下载编译libvpx
https://blog.csdn.net/quantum7/article/details/104086885
- 下载编译jpeglib
https://blog.csdn.net/quantum7/article/details/82459960
- 下载编译libyuv
https://blog.csdn.net/quantum7/article/details/104086985
- 下载编译libopus
https://blog.csdn.net/quantum7/article/details/104087104
- 下载编译opencore-amr
https://blog.csdn.net/quantum7/article/details/104087232
- 下载编译vo-amrwbenc
https://blog.csdn.net/quantum7/article/details/104087266
- 下载编译libgsm
https://blog.csdn.net/quantum7/article/details/104087285
- 下载编译g729
https://blog.csdn.net/quantum7/article/details/104087356
- 下载编译iLBC
https://blog.csdn.net/quantum7/article/details/104087424
- 下载编译x264
https://blog.csdn.net/quantum7/article/details/104087603
- 下载编译openh264
https://blog.csdn.net/quantum7/article/details/104087760
- 下载编译FFmpeg
https://blog.csdn.net/quantum7/article/details/104087693
以上编译,注意都要设置prefix
- 编译doubango
吾已适配ffmpeg 4.2.2,并上传到开源库,并提供了编译脚本。推荐下载:
https://github.com/quantum6/doubango-quantum6
BUILD_LIBS=${HOME}/build_libs export PATH=${BUILD_LIBS}/bin:${PATH} export LD_LIBRARY_PATH=${BUILD_LIBS}/lib:${LD_LIBRARY_PATH} if [ -f autogen.sh ]; then echo # ./autogen.sh fi cd bindings if [ -f autogen.sh ]; then ./autogen.sh fi cd .. # 关键一步,必须! # autoreconf -fiv rm config.log ./configure \ --prefix=${BUILD_LIBS} \ CFLAGS=-I${BUILD_LIBS}/include \ LDFLAGS=-L${BUILD_LIBS}/lib \ LIBS="-lm -lc -lswresample -lavutil -lyuv -ljpeg " \ --with-ssl --with-srtp --with-vpx --with-yuv --with-amr --with-speex --with-speexdsp --enable-speexresampler --enable-speexdenoiser --with-opus --with-gsm --with-ilbc --with-ffmpeg # --with-g729 # --with-speexdsp --with-ffmpeg --with-opus make make install