linux安装ffmpeg7.0.2全过程

news2025/5/31 21:06:24

​编辑 白眉大叔  发布于 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.2

mkdir 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_git

cd /opt/ffmpeg/ffmpeg7.0.2/ffmpeg_sources/x265_git/build/linux

cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source

make
make install

6、安装libfdk_aac

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



cd ~/ffmpeg_sources

git clone --depth 1 https://github.com/mstorsjo/fdk-aac

cd fdk-aac

autoreconf -fiv

./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --disable-shared

make
make install

7、安装libmp3lame

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

cd ~/ffmpeg_sources

curl -O -L https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz

tar xzvf lame-3.100.tar.gz

cd lame-3.100

./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --bindir="/opt/ffmpeg/ffmpeg7.0.2/bin" --disable-shared --enable-nasm

make
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.gz

tar xzvf opus-1.3.1.tar.gz

cd opus-1.3.1

./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --disable-shared

make
make install

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

需要做个软连接:

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


cd ~/ffmpeg_sources

git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git

cd libvpx

./configure --prefix="/opt/ffmpeg/ffmpeg7.0.2/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm

make
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
make

make 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.coloradmin.cn/o/2391849.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java中的设计模式实战:单例、工厂、策略模式的最佳实践

Java中的设计模式实战:单例、工厂、策略模式的最佳实践 在Java开发中,设计模式是构建高效、可维护、可扩展应用程序的关键。本文将深入探讨三种常见且实用的设计模式:单例模式、工厂模式和策略模式,并通过详细代码实例&#xff0…

2025.05.28【Parallel】Parallel绘图:拟时序分析专用图

Improve general appearance Add title, use a theme, change color palette, control variable orders and more Highlight a group Highlight a group of interest to help people understand your story 文章目录 Improve general appearanceHighlight a group探索Paralle…

自动驾驶与智能交通:构建未来出行的智能引擎

随着人工智能、物联网、5G和大数据等前沿技术的发展,自动驾驶汽车和智能交通系统正以前所未有的速度改变人类的出行方式。这一变革不仅是技术的融合创新,更是推动城市可持续发展的关键支撑。 一、自动驾驶与智能交通的定义 1. 自动驾驶(Auto…

ELectron 中 BrowserView 如何进行实时定位和尺寸调整

背景 BrowserView 是继 Webview 后推出来的高性能多视图管理工具,与 Webview 最大的区别是,Webview 是一个 DOM 节点,依附于主渲染进程的附属进程,Webview 节点的崩溃会导致主渲染进程的连锁反应,会引起软件的崩溃。 …

深兰科技董事长陈海波率队考察南京,加速AI大模型区域落地应用

近日,深兰科技创始人、董事长陈海波受邀率队赴南京市,先后考察了南京高新技术产业开发区与鼓楼区,就推进深兰AI医诊大模型在南京的落地应用,与当地政府及相关部门进行了深入交流与合作探讨。 此次考察聚焦于深兰科技自主研发的AI医…

《深度关系-从建立关系到彼此信任》

陈海贤老师推荐的书,花了几个小时,感觉现在的人与人之间特别缺乏这种深度的关系,但是与一个人建立深度的关系并没有那么简单,反正至今为止,自己好像没有与任何一个人建立了这种深度的关系,那种双方高度同频…

IT选型指南:电信行业需要怎样的服务器?

从第一条电报发出的 那一刻起 电信技术便踏上了飞速发展的征程 百余年间 将世界编织成一个紧密相连的整体 而在今年 我们迎来了第25届世界电信日 同时也是国际电联成立的第160周年 本届世界电信日的主题为:“弥合性别数字鸿沟,为所有人创造机遇”,但在新兴技术浪潮汹涌…

【ConvLSTM第二期】模拟视频帧的时序建模(Python代码实现)

目录 1 准备工作:python库包安装1.1 安装必要库 案例说明:模拟视频帧的时序建模ConvLSTM概述损失函数说明(python全代码) 参考 ConvLSTM的原理说明可参见另一博客-【ConvLSTM第一期】ConvLSTM原理。 1 准备工作:pytho…

【论文解读】DETR: 用Transformer实现真正的End2End目标检测

1st authors: About me - Nicolas Carion‪Francisco Massa‬ - ‪Google Scholar‬ paper: [2005.12872] End-to-End Object Detection with Transformers ECCV 2020 code: facebookresearch/detr: End-to-End Object Detection with Transformers 1. 背景 目标检测&#…

ElasticSearch简介及常用操作指南

一. ElasticSearch简介 ElasticSearch 是一个基于 Lucene 构建的开源、分布式、RESTful 风格的搜索和分析引擎。 1. 核心功能 强大的搜索能力 它能够提供全文检索功能。例如,在海量的文档数据中,可以快速准确地查找到包含特定关键词的文档。这在处理诸如…

纤维组织效应偏斜如何影响您的高速设计

随着比特率继续飙升,光纤编织效应 (FWE) 偏移,也称为玻璃编织偏移 (GWS),正变得越来越成为一个问题。今天的 56GB/s 是高速路由器中最先进的,而 112 GB/s 指日可待。而用于个人计算机…

Rust使用Cargo构建项目

文章目录 你好,Cargo!验证Cargo安装使用Cargo创建项目新建项目配置文件解析默认代码结构 Cargo工作流常用命令速查表详细使用说明1. 编译项目2. 运行程序3.快速检查4. 发布版本构建 Cargo的设计哲学约定优于配置工程化优势 开发建议1. 新项目初始化​2. …

Python训练营打卡Day39

DAY 39 图像数据与显存 知识点回顾 1.图像数据的格式:灰度和彩色数据 2.模型的定义 3.显存占用的4种地方 a.模型参数梯度参数 b.优化器参数 c.数据批量所占显存 d.神经元输出中间状态 4.batchisize和训练的关系 作业:今日代码较少,理解内容…

UE5蓝图中播放背景音乐和使用代码播放声音

UE5蓝图中播放背景音乐 1.创建背景音乐Cube 2.勾选looping 循环播放背景音乐 3.在关卡蓝图中 Event BeginPlay-PlaySound2D Sound选择自己创建的Bgm_Cube 蓝图播放声音方法二: 使用代码播放声音方法一 .h文件中 头文件引用 #include "Kismet/GameplayS…

AI 赋能数据可视化:漏斗图制作的创新攻略

在数据可视化的广阔天地里,漏斗图以其独特的形状和强大的功能,成为展示流程转化、分析数据变化的得力助手。传统绘制漏斗图的方式往往需要耗费大量时间和精力,对使用者的绘图技能和软件操作熟练度要求颇高。但随着技术的蓬勃发展,…

用 Python 模拟下雨效果

用 Python 模拟下雨效果 雨天别有一番浪漫情怀:淅淅沥沥的雨滴、湿润的空气、朦胧的光影……在屏幕上也能感受下雨的美妙。本文将带你用一份简单的 Python 脚本,手把手实现「下雨效果」动画。文章深入浅出,零基础也能快速上手,完…

C#对象集合去重的一种方式

前言 现在AI越来越强大了,有很多问题其实不需要在去各个网站上查了,直接问AI就好了,但是呢,AI给的代码可能能用,也可能需要调整,但是自己肯定是要会的,所以还是总结一下吧。 问题 如果有一个…

在ROS2(humble)+Gazebo+rqt下,实时显示仿真无人机的相机图像

文章目录 前言一、版本检查检查ROS2版本 二、步骤1.下载对应版本的PX4(1)检查PX4版本(2)修改文件名(3)下载正确的PX4版本 2.下载对应版本的Gazebo(1)检查Gazebo版本(2)卸载不正确的Gazebo版本(3)下载正确的Gazebo版本 3.安装bridge包4.启动 总结 前言 在ROS2的环境下&#xff…

github双重认证怎么做

引言 好久没登陆github了, 今天登陆github后,提醒进行2FA认证。 查看了github通知,自 2023 年 3 月起,GitHub 要求所有在 GitHub.com 上贡献代码的用户启用一种或多种形式的双重身份验证 (2FA)。 假如你也遇到这个问题&#xf…

数据的类型——认识你的数据

第02篇:数据的类型——认识你的数据 写在前面:嗨,大家好!我是蓝皮怪。在上一篇文章中,我们聊了统计学的基本概念,今天我们来深入了解一个非常重要的话题——数据的类型。你可能会想:"数据就…