Ubuntu 2404编译安装ffmpeg 7.0

1、创建目录

cd ~
mkdir -p dev/ffmpeg
mkdir bin build resources

2、安装依赖

sudo apt-get update
sudo apt-get -y install autoconf automake build-essential cmake git-core libass-dev libfreetype6-dev libsdl2-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev libasound2-dev libgl1-mesa-dev libglew-dev libglm-dev nasm yasm 

3、编译与安装

①、libx264

cd ~dev/ffmpeg/resources
git clone --depth 1 https://github.com/mirror/x264.git
cd x264
PATH="$HOME/dev/ffmpeg/bin:$PATH" PKG_CONFIG_PATH="$HOME/dev/ffmpeg/build/lib/pkgconfig" ./configure --prefix="$HOME/dev/ffmpeg/build" --bindir="$HOME/dev/ffmpeg/bin" --enable-static --enable-pic
PATH="$HOME/dev/ffmpeg/bin:$PATH" make -j && make install

②、libx265

cd ~dev/ffmpeg/resources
git clone https://gitee.com/mirrors_videolan/x265.git
cd x265/build/linux
PATH="$HOME/dev/ffmpeg/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/dev/ffmpeg/build" -DENABLE_SHARED=off ../../source
PATH="$HOME/dev/ffmpeg/bin:$PATH" make -j && make install

③、libvpx

cd ~dev/ffmpeg/resources
git clone --depth 1 https://github.com/webmproject/libvpx.git
cd libvpx
PATH="$HOME/dev/ffmpeg/bin:$PATH" ./configure --prefix="$HOME/dev/ffmpeg/build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm --enable-pic
PATH="$HOME/dev/ffmpeg/bin:$PATH" make -j && make install

④、libfdk-aac

cd ~dev/ffmpeg/resources
git clone --depth 1 https://github.com/mstorsjo/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure CFLAGS="-fPIC" CPPFLAGS="-fPIC" --prefix="$HOME/dev/ffmpeg/build"
make -j && make install

⑤、libmp3lame

cd ~dev/ffmpeg/resources
git clone  --depth 1 https://gitee.com/hqiu/lame.git
cd lame
PATH="$HOME/dev/ffmpeg/bin:$PATH" ./configure --prefix="$HOME/dev/ffmpeg/build" --bindir="$HOME/dev/ffmpeg/bin"  --enable-nasm --with-pic
PATH="$HOME/dev/ffmpeg/bin:$PATH" make -j && make install

⑥、libopus

cd ~dev/ffmpeg/resources
git clone --depth 1 https://github.com/xiph/opus.git
cd opus
./autogen.sh 
./configure --prefix="$HOME/dev/ffmpeg/build"  -with-pic
make -j && make install

⑦、ffmpeg

cd ~dev/ffmpeg/resources
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
git checkout n7.0
PATH="$HOME/dev/ffmpeg/bin:$PATH" PKG_CONFIG_PATH="$HOME/dev/ffmpeg/build/lib/pkgconfig" CFLAGS="-O3 -fPIC" ./configure \
  --prefix="$HOME/dev/ffmpeg/build" \
  --pkg-config-flags="--static" \
  --extra-cflags="-I$HOME/dev/ffmpeg/build/include" \
  --extra-ldflags="-L$HOME/dev/ffmpeg/build/lib" \
  --extra-libs="-lpthread -lm" \
  --bindir="$HOME/dev/ffmpeg/bin" \
  --enable-gpl \
  --enable-libass \
  --enable-libfdk-aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libvorbis \
  --enable-libvpx \
  --enable-libx264 \
  --enable-libx265 \
  --enable-pic \
  --enable-shared   \
  --enable-nonfree && \
PATH="$HOME/dev/ffmpeg/bin:$PATH" make -j && \
make install

4、异常解决

如果出现libavdevice.so.*:cannot open ....:no such file or directory,需要将ffmpeg lib加入到环境变量

sudo vim /etc/ld.so.conf

在最后把ffmpeg lib路径写入进去,比如:

/home/xxx/dev/ffmpeg/build/lib

然后使环境变量生效

sudo ldconfig
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容