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博客

相关推荐
lsh曙光6 小时前
延时at指令和定时cron指令
linux·服务器·网络
圆山猫6 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
似的8356 小时前
一步一步学习使用FireMonkey动画() 使用TAnimator类创建动画
linux·学习·nginx
我不管我就要叫小猪8 小时前
嵌入式Linux----网络通信
linux·运维·服务器
小王C语言8 小时前
【7. 实现登录注册模块】:实现会话管理、注册/登录/退出 API
网络·c++
泡沫冰@8 小时前
ECS 的介绍和使用
linux·服务器·网络
姜太小白9 小时前
【Linux】df -h 卡住问题的通用排查与解决方案总结
linux·运维·php
fengyehongWorld9 小时前
Linux 终端快捷键
linux·运维
哎呦喂我去去去10 小时前
C#实现屏幕墙:同时监控多个电脑桌面(支持Windows、信创Linux、银河麒麟、统信UOS)
linux·windows·c#
峥无10 小时前
C++11 深度详解:现代 C++ 基石全梳理
开发语言·c++·笔记