FFmpeg – Linux下编译FFmpeg

  • Post author:
  • Post category:linux




1. 下载源码

地址:

https://ffmpeg.org/download.html

首先安装依赖库:

apt -y install autoconf automake libass-dev libfreetype6-dev libsdl2-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev

# 汇编库
apt -y install yasm nasm

# 视频库
apt -y install libx264-dev libx265-dev

# 音频库
apt -y install libfdk-aac-dev libmp3lame-dev libopus-dev



2. 编译安装



2.1 安装在默认目录(推荐)


编译:

cd ffmpeg-5.1.3
./configure --enable-ffplay --enable-libx264 --enable-libx265 --enable-pic --enable-libvorbis --enable-libass --enable-nonfree --enable-libass --enable-libfreetype --enable-libfdk-aac --enable-shared --enable-gpl --enable-libmp3lame --enable-libopus --disable-x86asm 
make -j16
make install


配置环境:



vim ~/.bashrc


在此文件的最后一行添加路径:


export LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}


然后执行:

source ~/.bashrc

以使配置生效。


查看版本:



ffmpeg -version



2.2 安装在自定义目录


编译:

cd ffmpeg-5.1.3
./configure --prefix=/usr/local/ffmpeg --extra-cflags="-I/usr/local/include" --extra-ldflags="-L/usr/local/lib" --enable-ffplay --enable-libx264 --enable-libx265 --enable-pic --enable-libvorbis --enable-libass --enable-nonfree --enable-libass --enable-libfreetype --enable-libfdk-aac --enable-shared --enable-gpl --enable-libmp3lame --enable-libopus --disable-x86asm 
make -j16
make install


配置环境:


安装在自定义目录,如果需要使用ffmpeg指令的话,需要配置FFmpeg依赖环境:


vim ~/.bashrc


在此文件的最后一行添加路径:


export LD_LIBRARY_PATH=/usr/local/ffmpeg/lib:${LD_LIBRARY_PATH}



export PATH=/usr/local/ffmpeg/bin:$PATH


然后执行

source ~/.bashrc

以使配置生效。


查看版本:



ffmpeg -version



2.3 部分编译参数解释

–enable-debug=3 能用来调试,

–disable-static –enable-shared 不生成静态库,生成动态库



3. 问题

(1) 报错:asm/yasm not found or too old. Use –disable-x86asm for a crippled build

需要先安装 yasm

(2) 缺少ffplay

需要安装 sdl2


sudo apt install sdl2

(不确定,要用apt search sdl2 搜索一下) 或者

brew install sdl2

(mac下试过可行)

修改

config.h

中的

#define CONFIG_FFPLAY 0

改为

#define CONFIG_FFPLAY 1



版权声明:本文为Jay_Xio原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。