网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
apt-get install -y libasound2-dev \
libgl1-mesa-dev \
libglew-dev \
libglm-dev \
mercurial libnuma-dev
创建目录
mkdir ffmpeg6.0_sources ffmpeg6.0_build bin6.0
编译第三方库
NASM
cd ~/workspace/ffmpeg6.0_sources
wget https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/nasm-2.16.01.tar.bz2
tar xjvf nasm-2.16.01.tar.bz2
cd nasm-2.16.01
./autogen.sh
./configure --prefix="/root/workspace/ffmpeg6.0_build" --bindir="/root/workspace/bin6.0"
make -j4
make install
YASM
cd ~/workspace/ffmpeg6.0_sources
wget -O yasm-1.3.0.tar.gz https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure CFLAGS="-fPIC" CPPFLAGS="-fPIC" --prefix="/root/workspace/ffmpeg6.0_build" --bindir="/root/workspace/bin6.0"
make
make install
libx264
cd /root/workspace/ffmpeg6.0_sources
git clone --depth 1 https://github.com/mirror/x264.git
cd x264
PKG_CONFIG_PATH="/root/workspace/ffmpeg6.0_build/lib/pkgconfig" ./configure --prefix="/root/workspace/ffmpeg6.0_build" --bindir="/root/workspace/bin6.0" --enable-static --enable-shared --enable-pic
make
make install
libx265
cd /root/workspace/ffmpeg6.0_sources
git clone https://gitee.com/mirrors_videolan/x265.git
cd x265/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="/root/workspace/ffmpeg6.0_build" -DENABLE_SHARED=on -DENABLE_PIC=on -DBIN_INSTALL_DIR="/root/workspace/bin6.0" ../../source
make
make install
修改x265.pc
libvpx
cd /root/workspace/ffmpeg6.0_sources
git clone --depth 1 https://github.com/webmproject/libvpx.git
cd libvpx
./configure --prefix="/root/workspace/ffmpeg6.0_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm --enable-pic --enable-shared
make
make install
libfdk-aac
cd /root/workspace/ffmpeg6.0_sources
git clone --depth 1 https://github.com/mstorsjo/fdk-aac.git
cd fdk-aac
autoreconf -fiv
./configure CFLAGS="-fPIC" CPPFLAGS="-fPIC" --prefix="/root/workspace/ffmpeg6.0_build" --bindir="/root/workspace/bin6.0"
make
make install
libmp3lame
cd /root/workspace/ffmpeg6.0_sources
git clone --depth 1 https://gitee.com/hqiu/lame.git
cd lame
./configure --prefix="/root/workspace/ffmpeg6.0_build" --bindir="/root/workspace/bin6.0" --enable-nasm --with-pic
make
make install
libopus
cd /root/workspace/ffmpeg6.0_sources
git clone --depth 1 https://github.com/xiph/opus.git
cd opus
./autogen.sh
./configure --prefix="/root/workspace/ffmpeg6.0_build" -with-pic
make
make install
SDL
git clone https://github.com/libsdl-org/SDL.git -b SDL2
cd SDL
mkdir build
cd build
../configure --prefix="/root/workspace/ffmpeg6.0_build" --bindir="/root/workspace/bin6.0"
make
make install
ffmpeg
cd /root/workspace/ffmpeg6.0_sources
git clone https://github.com/FFmpeg/FFmpeg.git
cd FFmpeg
git checkout remotes/origin/release/6.0
![img](https://img-blog.csdnimg.cn/img_convert/010f4e9a90a5f03b2466d166612f55a1.png)
![img](https://img-blog.csdnimg.cn/img_convert/98bd5ffed861a46906ba0466dd3582f9.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618658159)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618658159)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**