FFmpeg是一个功能强大而灵活的开源多媒体处理工具集,适用于处理音频、视频和图片等多种媒体格式。它可以用于音视频编解码、流媒体服务器、视频转码等多媒体处理任务。由于其广泛的应用和强大的功能,FFmpeg在多媒体处理领域非常受欢迎。
然而,FFmpeg 7.0版本移除了6.0之前已弃用的API,并且无法向下兼容。这意味着如果你的代码或项目使用了6.0之前的API,升级到7.0版本可能会导致代码无法编译或运行。
本文编译的版本选择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命令
至此,大功告成!
编译FFmpeg的过程可能需要一些时间,具体取决于您的系统配置和网络速度。在编译完成后,您将能够在您的系统上使用已编译的FFmpeg。一旦编译完成,您可以通过在终端窗口中运行FFmpeg命令来使用它。您可以使用命令ffmpeg -h
来查看可用的选项和用法示例。
感谢您的阅读和关注。希望本文能对您有所启发或帮助。如果您还有任何问题或意见,欢迎随时与我交流。祝您生活愉快,事业顺利!
六、相关文章
Windosw下Visual Studio2022编译FFmpeg(支持x264、x265、fdk-acc)-CSDN博客