- 说明
本文章详细记录了编译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