Ubuntu22.04.3LTS源码编译安装ffmpeg6.x

1.官网ffmpeg下载源码 https://ffmpeg.org/download.html#build-windows

安装 libx264 开发库(一个开源的视频压缩库,用于编码视频流为 H.264/MPEG-4 AVC 视频格式)。这是编译 FFmpeg 时如果要支持 H.264 编码必须的。

bash 复制代码
sudo apt install libx264-dev

安装编译工具(如 gcc 和 g++ 等)和一些必需的程序(如 make)。这是编译大多数从源代码构建的软件所必需的。

bash 复制代码
sudo apt install build-essential

一次性安装多个开发库:

bash 复制代码
sudo apt install libx264-dev libx265-dev libaom-dev libvorbis-dev libmp3lame-dev libfdk-aac-dev libass-dev

libx265-dev:提供对 H.265/HEVC 视频编码的支持。

libaom-dev:提供对 AV1 视频编码的支持。

libvorbis-dev:提供对 Vorbis 音频编码的支持。

libmp3lame-dev:提供对 MP3 音频编码的支持。

libfdk-aac-dev:提供对 AAC 音频编码的支持。

libass-dev:提供对字幕的支持。

安装 NASM,一个汇编语言编译器,某些库可能需要通过汇编代码来编译。

bash 复制代码
sudo apt install nasm

编译 FFmpeg

./configure 命令及其参数

这是配置编译选项的命令。它指定了 FFmpeg 要安装到的位置(--prefix=/usr/loacl/ffmpeg6.0),启用了 GPL 许可下的功能(--enable-gpl)。启用了多个库的支持,包括 libx264, libx265, libaom(视频编码库),libvorbis, libmp3lame, libfdk-aac(音频编码库),libass(字幕支持),并启用了 non-free 非免费库 --enable-nonfree(例如 libfdk-aac)。--extra-cflags 和 --extra-ldflags 是编译和链接时的额外选项。

bash 复制代码
./configure --prefix=/usr/local/ffmpeg6.0 --enable-gpl --enable-libx264 --enable-libx265 --enable-libaom --enable-libvorbis --enable-libmp3lame --enable-libfdk-aac --enable-libass --enable-nonfree --extra-cflags="-I/usr/include" --extra-ldflags="-L/usr/local/lib -lx264"

编译源代码。这一步会根据前面 ./configure 命令配置的选项编译 FFmpeg,可能会花费一些时间。

bash 复制代码
make

将编译好的 FFmpeg 程序安装到之前 ./configure 中指定的目录(/usr/loacl/ffmpeg6.0)。这需要超级用户权限,因为这个操作会向系统级别的目录写入数据。

bash 复制代码
sudo make install

将 /usr/local/ffmpeg6.0/bin 添加到 PATH 环境变量中,可以执行以下命令:

bash 复制代码
export PATH="/usr/local/ffmpeg6.0/bin:$PATH"

查看版本

bash 复制代码
ffmpeg -version
相关推荐
blanks20204 天前
ffmpeg 学习笔记 通过命令行采集音频
ffmpeg
XIAOHEZIcode4 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
Mahut7 天前
我用 Electron + FFmpeg 做了一个本地视频处理工作站 ClipForge
前端·ffmpeg·electron
张飞飞飞飞飞17 天前
Tmux命令使用教程
linux·服务器·ubuntu
源之缘-OFD先行者17 天前
破界渲染:WinForm下的FFmpeg+Vortice极速推流引擎
ffmpeg·winform·推流·h264
源来猿往17 天前
记ffmpeg-8.1.1 之Android库编译(window)
android·ffmpeg
盼小辉丶17 天前
Ubuntu极速部署OpenClaw完全指南(本地模型+DeepSeek)
linux·ubuntu·openclaw
黑白园17 天前
【环境搭建】Ubuntu安装(一)
linux·ubuntu
Moshow郑锴17 天前
Ubuntu用SDKMAN轻松管理多个Java 版本
java·ubuntu·sdkman
error:(17 天前
Ubuntu 22.04 GNOME远程桌面配置问题排查与解决全流程
linux·运维·ubuntu