LINUX doubango编译详细过程记录

简介: LINUX doubango编译详细过程记录

说明

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


目录
相关文章
|
22天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
67 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
26天前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
8天前
|
Linux
Linux - 如何编译源码安装软件
源码编译安装通常包括三个步骤:1) `./configure` 检测平台特征和依赖项,生成 Makefile;2) `make` 编译源码,生成可执行文件;3) `make install` 将可执行文件安装到指定目录并配置环境变量。
24 0
|
1月前
|
Linux 编译器 C语言
Linux c/c++之多文档编译
这篇文章介绍了在Linux操作系统下使用gcc编译器进行C/C++多文件编译的方法和步骤。
36 0
Linux c/c++之多文档编译
|
25天前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
3月前
|
监控 机器人 Unix
GoLand——windows下如何编译Linux二进制文件
GoLand——windows下如何编译Linux二进制文件
52 1
GoLand——windows下如何编译Linux二进制文件
|
2月前
|
Linux
用clang编译Linux内核
用clang编译Linux内核
|
3月前
|
Linux C语言
深度探索Linux操作系统 —— 编译过程分析
深度探索Linux操作系统 —— 编译过程分析
27 2
|
3月前
|
Ubuntu Linux Windows
如何在WSL中的ubuntu编译Linux内核并且安装使用ebpf?
请注意,在WSL1中可能会由于内核架构限制而无法成功进行以上过程,WSL2对于Linux内核的完整支持更为合适。此外,部分步骤可能因不同的Linux发行版或内核版本而异。
159 4
|
3月前
|
Java Linux 编译器
【Linux】gcc简介+编译过程
【Linux】gcc简介+编译过程
下一篇
无影云桌面