- 说明
本文章详细记录了编译telepresence的详细过程。
为了保证移植的便利,所有用到的库,都自行编译。
- 参考文档
https://github.com/DoubangoTelecom/telepresence/blob/master/Support_BuildingSourceCode.md
- 准备工作
apt update
apt install gcc make camke
apt install autoconf subversion git wget g++ pkg-config
# libtool libtool nasm
- 下载编译libtool
https://blog.csdn.net/quantum7/article/details/104086313
- 下载编译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
https://blog.csdn.net/quantum7/article/details/104086849
- 下载编译libogg
https://blog.csdn.net/quantum7/article/details/104086366
- 下载编译vorbis
https://blog.csdn.net/quantum7/article/details/104135601
- 下载编译SDL2
https://blog.csdn.net/quantum7/article/details/104173159
- 下载编译libpng
https://blog.csdn.net/quantum7/article/details/104173294
- 下载编译faac
https://blog.csdn.net/quantum7/article/details/104136411
- 下载编译libfreetype
https://blog.csdn.net/quantum7/article/details/102716352
- 下载编译FriBidi
https://blog.csdn.net/quantum7/article/details/104136580
- 下载libass
https://blog.csdn.net/quantum7/article/details/104136630
- 下载编译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
- 下载编译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
- 下载编译OpenAL
https://blog.csdn.net/quantum7/article/details/104136755
以上编译,注意都要设置prefix
- 编译doubango
BUILD_LIBS=${HOME}/build_libs
export PATH=${BUILD_LIBS}/bin:${PATH}
export PKG_CONFIG_PATH=${BUILD_LIBS}/lib/pkgconfig:${PKG_CONFIG_PATH}
./autogen.sh
cd bindings
./autogen.sh
cd ..
# 关键一步,必须!
autoreconf -fiv
./configure \
CFLAGS=-I${BUILD_LIBS}/include \
LDFLAGS=-I${BUILD_LIBS}/lib \
--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-g729 --with-ffmpeg
# --with-speexdsp --with-ffmpeg --with-opus
# --prefix=${BUILD_LIBS}
make
sudo make install
# for telepresence
cp bindings/_common/* ../telepresence/tinywrap
- 下载编译TelePresence
https://github.com/DoubangoTelecom/telepresence
BUILD_LIBS=${HOME}/build_libs
DOUBANGO_INC=${HOME}/telecom/doubango/doubango/bindings/_common
export PATH=${BUILD_LIBS}/bin:${PATH}
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${BUILD_LIBS}/lib/pkgconfig:${PKG_CONFIG_PATH}
autoreconf -fiv
./autogen.sh
./configure \
--prefix=${BUILD_LIBS} \
CFLAGS=-I${BUILD_LIBS}/include \
LDFLAGS="-L${BUILD_LIBS}/lib -I/usr/local/lib"
实际编译中,最大的问题就是ffmpeg接口太老。要么改成新接口,要么使用老的ffmpeg(具体哪个版本吾亦没试)