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
相关推荐
序属秋秋秋16 小时前
《Linux系统编程之入门基础》【Linux基础 理论+命令】(上)
linux·运维·服务器·ubuntu·centos·命令模式
一张假钞21 小时前
Ubuntu SSH 免密码登陆
linux·ubuntu·ssh
sulikey1 天前
【Linux权限机制深入理解】为何没有目录写权限仍能修改文件权限?
linux·运维·笔记·ubuntu·centos
lihongli0001 天前
修改ros工作空间名称方法与步骤
ubuntu·ros
江公望1 天前
ubuntu kylin(优麒麟)和标准ubuntu的区别浅谈
linux·服务器·ubuntu·kylin
mucheni1 天前
迅为RK3588开发板Ubuntu 系统开发ubuntu终端密码登录
linux·运维·ubuntu
彷徨而立1 天前
【FFmpeg】对比 d3d12va 、d3d11va、dxva2 这三种视频硬解方案
ffmpeg
木欣欣粉皮1 天前
Ubuntu使用图片
linux·ubuntu
jjjxxxhhh1231 天前
【学习】USB摄像头 -> FFmpeg -> H264 -> AI模型
人工智能·学习·ffmpeg
给大佬递杯卡布奇诺1 天前
FFmpeg 基本API avformat_open_input函数内部调用流程分析
c++·ffmpeg·音视频