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

linux安装ffmpeg7.0.2全过程

​编辑 白眉大叔  发布于 2025年4月16日 评论关闭 阅读(341)

centos 编译安装 ffmpeg 7.0.2 :连接https://www.baimeidashu.com/19668.html

下载 FFmpeg 源代码 在文章最后

一、在CentOS上编译安装FFmpeg
以常见的CentOS为例,FFmpeg的编译说明页面为https://trac.ffmpeg.org/wiki/CompilationGuide/Centos,这里给出了在CentOS上编译安装FFmpeg的详细步骤。

部署需要的 下载的文件都放在阿里云 oss 上了

1、安装工具包
根据FFmpeg官网的说明,首先要通过yum安装下列工具:

yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c++ git libtool make pkgconfig zlib-devel

然后创建 一个版本的 目录

mkdir /opt/ffmpeg/ffmpeg7.0.2

然后

cd /opt/ffmpeg/ffmpeg7.0.2mkdir ffmpeg_sources
mkdir ffmpeg_build
mkdir bin

ffmpeg_sources– 源文件的下载位置。如果需要,可以在完成指南后删除此 URL。
ffmpeg_build– 构建文件和安装库的位置。
bin– 将安装生成的二进制文件 (、、、) 的位置。ffmpegffprobex264x265

2、安装NASM
某些库使用的汇编程序。强烈建议使用,否则生成的版本可能会非常缓慢。
NASM的编译和安装命令如下:

cd ~/ffmpeg_sources
curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2
tar xjvf nasm-2.15.05.tar.bz2
cd nasm-2.15.05
./autogen.sh./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --bindir="/opt/ffmpeg/ffmpeg7.0.2/bin"
make
make install

运行 autogen.sh 的截图

运行 configure 后 的截图:

3、安装Yasm

某些库使用的汇编程序。强烈建议使用,否则生成的版本可能会非常缓慢。
Yasm的编译和安装命令如下:

cd ~/ffmpeg_sources
curl -O -L https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --bindir="/opt/ffmpeg/ffmpeg7.0.2/bin"
make
make install

4、安装libx264

H.264视频编码器。libx264依赖nasm-2.13以上版本。需要FFmpeg增加配置选项“ --enable-gpl --enable-libx264”。
libx264的编译和安装命令如下:

先对 做个软连接 nasm ,

ln /opt/ffmpeg/ffmpeg7.0.2/bin/nasm  /usr/bin/nasm

不然下边的编译报错,找不到它

cd ~/ffmpeg_sources
git clone --branch stable --depth 1 https://code.videolan.org/videolan/x264.git
cd x264
PKG_CONFIG_PATH="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build/lib/pkgconfig" ./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --bindir="/opt/ffmpeg/ffmpeg7.0.2/bin" --enable-static
make
make install

5、安装libx265

H.265/HEVC视频编码器。如果需要FFmpeg增加配置选项“ --enable-gpl --enable-libx265 ,必须安装libx265

libx265的编译和安装命令如下:

cd ~/ffmpeg_sources
git clone --branch stable --depth 2 https://bitbucket.org/multicoreware/x265_gitcd /opt/ffmpeg/ffmpeg7.0.2/ffmpeg_sources/x265_git/build/linuxcmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" -DENABLE_SHARED:bool=off ../../sourcemake
make install

6、安装libfdk_aac

AAC音频编码器。需要FFmpeg增加配置选项“ --enable-nonfree --enable-libfdk_aac”。
libfdk_aac的编译和安装命令如下

cd ~/ffmpeg_sourcesgit clone --depth 1 https://github.com/mstorsjo/fdk-aaccd fdk-aacautoreconf -fiv./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --disable-sharedmake
make install

7、安装libmp3lame

MP3音频编码器。需要FFmpeg增加配置选项“ --enable-libmp3lame”。
libmp3lame的编译和安装命令如下:

cd ~/ffmpeg_sourcescurl -O -L https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gztar xzvf lame-3.100.tar.gzcd lame-3.100./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --bindir="/opt/ffmpeg/ffmpeg7.0.2/bin" --disable-shared --enable-nasmmake
make install

8、安装libopus

Opus音频解码器和编码器。需要FFmpeg增加配置选项“ --enable-libopus”。
libopus的编译和安装命令如下:


cd ~/ffmpeg_sources
curl -O -L https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gztar xzvf opus-1.3.1.tar.gzcd opus-1.3.1./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --disable-sharedmake
make install

9、安装libvpx
VP8/VP9视频编码器和解码器。需要FFmpeg增加配置选项“ --enable-libvpx”。
libvpx的编译和安装命令如下:

需要做个软连接:

 ln -s /opt/ffmpeg/ffmpeg7.0.2/bin/yasm /usr/bin/yasm


cd ~/ffmpeg_sourcesgit clone --depth 1 https://chromium.googlesource.com/webm/libvpx.gitcd libvpx./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasmmake
make install

注意: 在 alios 上出错

需要安装

yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++

10、安装FFmpeg

下载 FFmpeg 源代码

从 FFmpeg 官方 Git 仓库或其官网获取源代码。

cd ~
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg

如果你不想使用 Git,可以直接从官网下载压缩包:


wget https://ffmpeg.org/releases/ffmpeg-7.0.2.tar.gz
tar xf ffmpeg-7.0.2.tar.gz

FFmpeg的编译和安装命令如下:

cd ffmpeg-7.0.2/PATH="/opt/ffmpeg/ffmpeg7.0.2/bin:$PATH" PKG_CONFIG_PATH="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build/lib/pkgconfig" ./configure \--prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" \--pkg-config-flags="--static" \--extra-cflags="-I/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build/include" \--extra-ldflags="-L/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build/lib" \--extra-libs=-lpthread \--extra-libs=-lm \--bindir="/opt/ffmpeg/ffmpeg7.0.2/bin" \--enable-gpl \--enable-libfdk_aac \--enable-libfreetype \--enable-libmp3lame \--enable-libopus \--enable-libvpx \--enable-libx264 \--enable-libx265 \--enable-nonfree
makemake install

成功:如下图:

配置环境变量:

vi /etc/profile

export LD_LIBRARY_PATH=/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build/lib:$LD_LIBRARY_PATH
export PATH=$PATH:/opt/ffmpeg/ffmpeg7.0.2/bin/

source /etc/profile

验证:

ffmpeg -version

---
Operating System: os 上安装 出现的问题

--enable-libvpx \ 这个库编译失败,最后没有带

总是提示 /usr/include  缺少文件。


中间有个地址下不下来的时候看看这个,好像是libvpx链接

几种视频编码器的编译及使用方法 - Windeal - 博客园

http://www.xdnf.cn/news/691615.html

相关文章:

  • es6 函数解构
  • 【系统架构设计师】2025年上半年真题论文回忆版: 论事件驱动架构及应用(包括解题思路和参考素材)
  • nova14 ultra,是如何防住80°C热水和10000KPa水压冲击的?
  • pytorch部分函数理解
  • 【网络通信】详解网络通信、实现 CS / BS架构 通信
  • xxl-job快速创建复制任务
  • IACEES 2025:创新材料与能源模式,迎接未来的挑战
  • 27、请求处理-【源码分析】-怎么改变默认的_method
  • 【周输入】517周阅读推荐-3
  • Spring Boot 启动流程深度解析:从源码到实践
  • 【烧脑算法】定长滑动窗口:算法题中的“窗口”智慧
  • MySQL OCP 与 Oracle OCP 认证,怎么选?
  • 怎样将win11+ubuntu双系统的ubuntu从机械硬盘迁移至固态硬盘(1)
  • 【Elasticsearch】track_total_hits
  • CAD图纸中的文字看不到,这是什么原因?
  • 传输线的特性阻抗和传播延迟
  • DL00916-基于深度学习的金枪鱼各类别目标检测含完整数据集
  • 131.在 Vue3 中使用 OpenLayers 测量长度和面积,并支持 modifyend 动态更新数值
  • 不打架的协议互通,modbus转profibus网关的总线的高效互通方案
  • C53-字符串引入和注意事项.
  • JavaScript 中 this 指向全解析:从基础到 Vue 应用
  • 【加密算法】
  • Qt/C++开发监控GB28181系统/sip协议/同时支持udp和tcp模式/底层协议解析
  • 【Microsoft 365可用】PPT一键取消所有超链接
  • Python 进阶【二】:多进程编程
  • TCP三次握手/四次握手-TCP/IP四层模型-SSL/TLS-HTTP-HTTPS
  • Bootstrap法进行随机模拟
  • 第11章:工程组织与系列总结
  • 8086 处理器寄存器超详细解析:从原理到实战
  • 三分钟打通Stable Diffusion提示词(附实战手册)