news 2026/5/1 4:02:44

linux下ffmpeg源码编译

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
linux下ffmpeg源码编译

文章目录

    • 1. 背景
    • 2. 准备工作
    • 3. 源码编译
      • 3.1 configure 配置
      • 3.2 编译
      • 3.3 安装
      • 3.4 验证
      • 3.5 动态库路径

1. 背景

ffmpeg 是从事音视频领域绕不过去的一道坎,掌握了ffmpeg工具,在音视频开发的时候,无论是效率,还是看待问题的角度,都会产生一个不一样的情况。ffmpeg提供了源码,可以从源码角度,慢慢地去掌握这个工具。

2. 准备工作

  • 卸载之前安装的ffmpeg版本;
  • 如果知道安装位置,直接进行删除;
  • 如果是直接使用版本包工具安装的,直接使用命令删除;
    sudo apt remove -y ffmpeg libavutil-dev libavcodec-dev libavformat-dev
  • 源码下载
    • 登录ffmpeg官网https://ffmpeg.org/download.html,下载源码,或者在终端下
wget https://ffmpeg.org/releases/ffmpeg-8.0.1.tar.xz
  • 源码解压
tar-xvf ffmpeg-8.0.1.tar.xz

3. 源码编译

linux 下源码编译通常都是 configure、make、install。 ffmpeg的编译也是如此。

3.1 configure 配置

./configure --prefix=/usr/local --enable-gpl --enable-version3 --enable-nonfree --enable-libfdk-aac --enable-alsa --enable-static --enable-debug --enable-ffmpeg --enable-ffplay --enable-ffprobe --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-gray --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzvbi --enable-filters --enable-demuxers --enable-muxers --enable-encoders --enable-decoders --enable-bsfs

-prefix 选项为后续安装的路径,这里指定为usr/local,其他的是一些使能编译的功能。

  • 注意:configure 会检查系统依赖是否安装,如果没有安装或者版本过低,需要根据报错逐步去单个安装相关的工具。这一步会很繁琐且很麻烦。所以对于不需要的功能,可以直接--disable
  • 3.2 编译

因为我们不是交叉编译,也就不需要在上面的一步配置交叉编译链,这里直接编译就行。

make-j16

3.3 安装

makeinstall

3.4 验证

配置环境变量以及链接库路径:

# 修改 ~/.bashrc,在最后添加PATH以及LD_LIBRARY_PATHexportPATH=/usr/share/bin:$PATHexportLD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
ffmpeg -v ffmpeg version8.0.1 Copyright(c)2000-2025 the FFmpeg developers built with gcc9(Ubuntu9.4.0-1ubuntu1~20.04.3)configuration: --prefix=/usr/local --enable-gpl --enable-version3 --enable-nonfree --enable-libfdk-aac --enable-alsa --enable-static --enable-shared --enable-debug --enable-ffmpeg --enable-ffplay --enable-ffprobe --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-gray --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzvbi --enable-filters --enable-demuxers --enable-muxers --enable-encoders --enable-decoders --enable-bsfs libavutil60.8.100/60.8.100libavcodec62.11.100/62.11.100libavformat62.3.100/62.3.100libavdevice62.1.100/62.1.100libavfilter11.4.100/11.4.100libswscale9.1.100/9.1.100libswresample6.1.100/6.1.100

3.5 动态库路径

编译出来的 .so 在 /usr/local/lib 目录下,后续开发可以从此目录获取相关库。

  • 参考
  1. https://blog.csdn.net/u013416034/article/details/130649958
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 18:06:21

Qwen2.5-1.5B实战:打造你的专属本地智能客服系统

Qwen2.5-1.5B实战:打造你的专属本地智能客服系统 1. 为什么你需要一个真正属于自己的智能客服? 你有没有遇到过这些情况? 客服系统总在问“请稍等,正在转接”,结果等了三分钟还是机器人;企业知识库更新了…

作者头像 李华
网站建设 2026/4/20 23:29:42

设计师福音:Banana Vision Studio平铺拆解图生成全攻略

设计师福音:Banana Vision Studio平铺拆解图生成全攻略 最近在设计圈里,一个名字悄悄火了——Banana Vision Studio。 不是水果品牌,也不是新出的香蕉味咖啡,而是一款让工业设计师、服装打版师、产品结构工程师直呼“早该有这工…

作者头像 李华
网站建设 2026/4/28 13:26:30

SenseVoice Small语音数据治理:原始录音→元数据标注→质量评估流水线

SenseVoice Small语音数据治理:原始录音→元数据标注→质量评估流水线 1. 什么是SenseVoice Small SenseVoice Small是阿里通义实验室推出的轻量级语音识别模型,专为边缘设备与日常办公场景设计。它不是动辄几十GB的庞然大物,而是一个仅约2…

作者头像 李华
网站建设 2026/4/3 7:39:39

DeepSeek-R1-Distill-Llama-8B效果展示:多轮数学证明生成与错误自检能力实录

DeepSeek-R1-Distill-Llama-8B效果展示:多轮数学证明生成与错误自检能力实录 你有没有试过让一个模型连续推演三步以上、每步都带逻辑验证的数学证明?不是简单套公式,而是像人一样边写边检查、发现矛盾就回退重来、甚至主动指出自己上一步的…

作者头像 李华
网站建设 2026/4/16 15:35:54

保姆级教程:基于InsightFace的人脸属性分析系统快速部署

保姆级教程:基于InsightFace的人脸属性分析系统快速部署 你是否试过在项目中集成人脸分析功能,却卡在模型加载失败、GPU显存不足、关键点错位或WebUI打不开的环节?是否希望跳过繁琐的环境配置,直接上传一张照片就能看到精准的年龄…

作者头像 李华
网站建设 2026/4/25 4:39:34

从零开始学AI视频:WAN2.2+SDXL风格保姆级教程

从零开始学AI视频:WAN2.2SDXL风格保姆级教程 你是不是也试过——输入一段文字,满怀期待点下“生成”,结果等了三分钟,出来的视频要么动作僵硬得像提线木偶,要么画面糊成一团马赛克,连主角的脸都分不清是男…

作者头像 李华