当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/419643.html

相关文章:

  • 顺序表-数据结构
  • 如何写出更优雅的并行程序?
  • C#中的Hangfire和Quartz.NET 任务调度的区别
  • 银行卡二三四要素验证-银行卡二三四要素验证接口-银行卡二三四要素
  • C# 设计模式之命令模式
  • pod详解 list-watch机制 预选优选策略 如何指定节点调度pod
  • 深入探索:【人工智能】、【机器学习】与【深度学习】的全景视觉之旅
  • 使用js和css 实现div旋转围绕圆分布排列
  • SQL Server中CPU使用率过高的排查
  • AUTOSAR AP常用文档前缀
  • 服务器迁移基于Tomcat部署的java应用,没有源码怎么办?
  • kafka-go使用:以及kafka一些基本概念说明
  • 景联文科技:破解数据标注行业痛点,引领高质量AI数据服务
  • C#获取Network的相关信息
  • Jenkins 部署Vue项目指引: Vue项目本地跨域代理 、解决ERR_UNSAFE_PORT
  • C语言电子画板
  • Android Gradle开发与应用技术原理
  • Midjourney入门-提示词基础撰写与公式
  • Apache Tomcat服务器版本号隐藏
  • 【Qt】Qt编程注意事项
  • 在Linux系统安装Kafka
  • 【CSharp】简单定义一个异步方法
  • 贪心算法之货仓选址问题
  • Java网络编程——Request Response 对象
  • 【代码随想录训练营第42期 Day24打卡 回溯Part3 - LeetCode 93.复原IP地址 78.子集 90.子集II
  • python venv和virtualenv详解
  • 《征服数据结构》树堆(Treap)
  • 论文笔记:OneBit: Towards Extremely Low-bit Large Language Models
  • 英语文化中的音乐分类及其发展历史(Classical、Jazz、Rock、Pop、Electronic、Country、RB、Hip-Hop)
  • C语言-栈、队列、二叉树