Ubuntu24.04编译FFmpeg6.1(支持x264、x265、fdk-acc)

FFmpeg是一个开源的多媒体处理工具集,可以用于处理音频、视频和图片等多种媒体格式。由于其强大的功能和灵活性,FFmpeg被广泛应用在多媒体处理领域,包括音视频编解码、流媒体服务器、视频转码等。FFmpeg7.0 版本移除了 6.0 之前已弃用的 API,无法向下兼容。所以本文编译的版本选择FFmpeg 6.1。

一、安装依赖环境

复制代码
sudo apt install make cmake g++ nasm yasm diffutils pkg-config -y

#下载源码需要
sudo apt install git

#编译fdk-aac需要
sudo apt install autoconf
sudo apt install libtool

二、编译x264

复制代码
#下载x264源码
git clone https://code.videolan.org/videolan/x264.git

#转到x264源码目录下
cd x264

#指定安装在/usr下
./configure --enable-shared --prefix=/usr/

#编译
make -j4

#安装
sudo make install

libx264.so动态库被安装在了/usr/lib下,显示如下

至此,x264编译完成

三、编译x265

复制代码
#下载x265源码
git clone https://bitbucket.org/multicoreware/x265_git.git

#转到x265源码编译目录下
cd x265_git/build/linux

#执行makefile脚本
./make-Makefiles.bash

#编译
make -j4

#安装
sudo make install

看到x265安装目录在 /usr/local/lib下

复制库文件到/usr/lib文件夹下

复制代码
sudo cp /usr/local/lib/libx265.* /usr/lib

至此,x265编译完成

四、编译fdk-aac

复制代码
#下载fak-aac源码
git clone --depth 1 https://gitee.com/mirrors/fdk-aac.git

#转到fdk-aac源码目录
cd fdk-aac

#执行脚本生成configure
./autogen.sh 

#指定安装在/usr下
./configure --enable-shared --prefix=/usr/

#编译
make -j4

#安装
sudo make install

显示安装到/usr/lib

至此,fdk-aac编译完成

五、编译ffmpeg

复制代码
#下载FFmpeg源码
git clone --depth 1 https://github.com/FFmpeg/FFmpeg.git -b release/6.1

#转到FFmpeg源码目录
cd FFmpeg

#配置configure,生成Makefile
./configure --prefix=/usr/ --enable-shared --enable-libx264 --enable-gpl --enable-libfdk-aac --enable-nonfree --enable-libx265

#编译
make -j4

#安装
sudo make install

最后通过查看编译成功后 FFmpeg 库的编译配置信息,查看我们的编译是否成功

测试执行ffmpeg命令

至此,大功告成!

感谢您的阅读和关注。希望本文能对您有所启发或帮助。如果您还有任何问题或意见,欢迎随时与我交流。祝您生活愉快,事业顺利!

六、相关文章

Windosw下Visual Studio2022编译FFmpeg(支持x264、x265、fdk-acc)-CSDN博客

相关推荐
apcipot_rain7 小时前
C++转Java日记(04)
java·开发语言·c++
WL学习笔记10 小时前
vector模拟实现
c++
2035去旅行11 小时前
bootcmd 详细讲解
linux·嵌入式·arm·soc
陈希12311 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
蜗牛一步步往上爬12 小时前
第十六章 C++语言在深度学习中的应用
开发语言·c++·深度学习
女神下凡12 小时前
芯参谋(95):嵌入式文件系统_开发指南
linux·服务器·arm开发·驱动开发·设计规范
wo_jack15 小时前
C++ 入门笔记(十六):第16课 vector 模拟实现十问十答 —— 从三指针到迭代器失效
c++·后端·面试·stl·vector
且从容.16 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道16 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
D e re k ZH16 小时前
C++ 标准库算法全景指南
数据结构·c++·算法