Ubuntu arm64下安装ffpeg6.0详细教程

应为项目设备的更新,需要用到在arm64下安装ffmpeg6.0,但是这个过程中遇到好些问题,简直是裂开。。。。
详细步骤如下:
切换到root权限下开始安装
该文基于:ubuntu22.04
开始安装之前先执行该命令跟新系统包,因为我在后面拉取代码的时候超时了,但是更新了以后就可以正常拉取代码了。

sudo apt update

先安装依赖

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 curl git zlib1g-dev

还要安装一些库

apt-get -y install libasound2-dev
apt-get -y install libgl1-mesa-dev
apt-get -y install libglew-dev
apt-get -y install libglm-dev
apt-get -y install mercurial libnuma-dev

如注:果以上过程种有什么报错根据实际报错去查找解决办法,因为可能不同版本的ubuntu系统可能出现的问题也不一样。
首先进到这个目录(注意是root权限下的,所有操作都是root下的)

cd ~
#创建按三个文件夹
mkdir ffmpeg6.0_bin
mkdir ffmpeg6.0_build
mkdir ffmpeg6.0_sources

汇编相关的程序 nasm (版本2.16.02rc1)

wget https://www.nasm.us/pub/nasm/releasebuilds/2.16.02rc1/nasm-2.16.02rc1.tar.bz2
tar jxvf nasm-2.16.02rc1.tar.bz2
cd nasm-2.16.02rc1
./autogen.sh
./configure --prefix="$HOME/ffmpeg6.0_build" --bindir="$HOME/ffmpeg6.0_bin"
make -j4
make install
ln -s $HOME/ffmpeg6.0_bin/nasm /usr/bin/nasm

汇编库 Yasm (版本是1.3.0)

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="$HOME/ffmpeg6.0_build" --bindir="$HOME/ffmpeg6.0_bin"
make && make install
ln -s $HOME/ffmpeg6.0_bin/yasm /usr/bin/yasm

编译拉取的代码
x264

cd ~/ffmpeg6.0_sources
git clone --depth 1 https://github.com/mirror/x264.git
cd x264
PKG_CONFIG_PATH="$HOME/ffmpeg6.0_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg6.0_build" --bindir="$HOME/ffmpeg6.0_bin" --enable-static --enable-shared --enable-pic
make
make install

x265

cd ~/ffmpeg6.0_sources
git clone https://gitee.com/mirrors_videolan/x265.git
cd x265/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg6.0_build" -D ENABLE_SHARED=on -DENABLE_PIC=on -DBIN_INSTALL_DIR="$HOME/ffmpeg6.0_bin" ../../source
make && make install

libvpx

cd ~/ffmpeg6.0_sources
git clone --depth 1 https://github.com/webmproject/libvpx.git
cd libvpx
./configure --prefix="$HOME/ffmpeg6.0_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm --enable-pic --enable-shared
make && make install

fdk-aac

cd ~/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="$HOME/ffmpeg6.0_build" --bindir="$HOME/ffmpeg6.0_bin" 
make && make instal

lame

cd ~/ffmpeg6.0_sources
git clone --depth 1 https://gitee.com/hqiu/lame.git
cd lame
./configure --prefix="$HOME/ffmpeg6.0_build" --bindir="$HOME/ffmpeg6.0_bin" --enable-nasm --with-pic
make && make install

opus

cd ~/ffmpeg6.0_sources
git clone --depth 1 https://github.com/xiph/opus.git
cd opus
./autogen.sh
./configure --prefix="$HOME/ffmpeg6.0_build" -with-pic
make && make install 
ln -s $HOME/ffmpeg6.0_bin/lame /usr/bin/lame

现在正式开始ffmpeg6.0的安装

cd ~/ffmpeg6.0_sources
wget -c https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n6.0.tar.gz
tar zxvf n6.0.tar.gz
mv FFmpeg-n6.0 FFmpeg
cd FFmpeg
PKG_CONFIG_PATH="$HOME/ffmpeg6.0_build/lib/pkgconfig" ./configure  --prefix="$HOME/ffmpeg6.0_build"  --extra-libs="-lpthread -lm"  --bindir="$HOME/ffmpeg6.0_bin"  --pkg-config-flags="--static"  --extra-cflags="-I$HOME/ffmpeg6.0_build/include"  --extra-cflags="-I$HOME/ffmpeg6.0_build/include/fdk-aac"  --extra-ldflags="-L$HOME/ffmpeg6.0_build/lib"  --enable-gpl  --enable-libass  --enable-libfreetype  --enable-libvorbis  --enable-pic  --enable-shared  --enable-static  --enable-nonfree  --enable-libx264  --enable-libx265  --enable-libvpx  --enable-libfdk-aac  --enable-libmp3lame  --enable-libopus --enable-sdl2 --enable-ffplay --disable-optimizations --disable-stripping --enable-debug=3
#注:运行到这里没有报错并提示“License: nonfree and unredistributable”,就可以运行下面的命令了,如果有错根据实际错误去解决,我在此过程没有报错
make -j16
make install

编辑和修改/etc/ld.so.conf

#保存修改:CTRL+X 然后输入Y回车  也可以用vim命令修改
nano /etc/ld.so.conf

把该路径添加末尾

/root/ffmpeg6.0_build/lib

然后执行:


ldconfig

添加环境变量:

#保存修改:CTRL+X 然后输入Y回车  也可以用vim命令修改
nano /etc/profile

把以下加末尾

export PATH=$PATH:/root/ffmpeg6.0_bin

使环境变量生效

source /etc/profile

创建执行的快捷方式

ln -s /root/ffmpeg6.0_bin/ffmpeg /usr/bin/ffmpeg

到这里就已经安装成功了,检查安装成功没有

ffmpeg -version

正常能查看到版本就已经说明安装好了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值