1.1 Linux 编译FFmpeg 4.4.1

linux系统下安装编译ffmpeg-4.1.3源码 1、到官网下载源码http://www.ffmpeg.org/download.html 下载好了之后,解压。 2、安装必要文件gcc sudo apt-get install gcc 3、新建目录,放置在/usr/local中 sudo mkdir /usr/local/ffmpeg-4.1.3 4、cd到下载的源码,目录中,然后输入命令 ./configure --enabl... 阅读详情

一、安装编译工具

sudo apt install -y autoconf automake build-essential cmake git pkg-config nasm yasm libtool zlib1g-dev

说明:

  • autoconf:生成 configure 脚本,用于自动配置源码。
  • automake:与 autoconf 配合,生成 Makefile。
  • build-essential:包括 gcc、g++、make 等基本编译工具。
  • cmake:x265 等依赖库需要 CMake 来生成构建文件。
  • git:用于从 Git 仓库(如 x264、fdk-aac)克隆源码。
  • pkg-config:用于查找已安装库的头文件和库路径。
  • nasm 与 yasm:汇编优化工具,x264 和 FFmpeg 使用它提高性能。
  • libtool:统一管理库文件的编译、链接和安装过程,屏蔽不同平台的底层差异
  • zlib1g-dev:用于处理压缩数据,如 PNG 解码或某些容器格式,FFmpeg 核心功能需要。

二、ffmpeg依赖库(apt安装)

2.1 有哪些ffmpeg依赖库

分类库名称用途FFmpeg 配置选项Ubuntu 安装命令
视频编码libx264-devH.264 视频编码(高效、广泛使用)--enable-libx264sudo apt install -y libx264-dev
libx265-devH.265/HEVC 视频编码(高压缩率,适用于 4K/8K)--enable-libx265sudo apt install -y libx265-dev
libvpx-devVP8/VP9 视频编码(用于 WebM 格式)--enable-libvpxsudo apt install -y libvpx-dev
libtheora-devTheora 视频编码(开源视频格式)--enable-libtheorasudo apt install -y libtheora-dev
libxvidcore-devXvid(MPEG-4)视频编码--enable-libxvidsudo apt install -y libxvidcore-dev
libaom-devAV1 视频编码(下一代开源视频格式)--enable-libaomsudo apt install -y libaom-dev
音频编码libfdk-aac-dev高质量 AAC 音频编码(非自由软件,需 --enable-nonfree)--enable-libfdk-aacsudo apt install -y libfdk-aac-dev
libmp3lame-devMP3 音频编码--enable-libmp3lamesudo apt install -y libmp3lame-dev
libvorbis-devVorbis 音频编码(常用于 Ogg 容器)--enable-libvorbissudo apt install -y libvorbis-dev
libopus-devOpus 音频编码(低延迟、高质量,适合网络传输)--enable-libopussudo apt install -y libopus-dev
其他常用功能库libass-dev字幕渲染(支持 ASS/SSA 字幕格式)--enable-libasssudo apt install -y libass-dev
libfreetype6-dev字体渲染(用于字幕和文本叠加)--enable-libfreetypesudo apt install -y libfreetype6-dev
libsdl2-devSDL 库,用于 FFmpeg 的 ffplay 播放器--enable-sdl2sudo apt install -y libsdl2-dev
zlib1g-dev压缩支持(用于处理压缩元数据,如 PNG 或某些容器格式)--enable-zlibsudo apt install -y zlib1g-dev
libva-dev硬件加速解码/编码(VAAPI,Intel/AMD GPU)--enable-vaapisudo apt install -y libva-dev
libvdpau-dev硬件加速解码(VDPAU,NVIDIA GPU)--enable-vdpausudo apt install -y libvdpau-dev
libdav1d-devAV1 视频解码(高性能 AV1 解码器)--enable-libdav1dsudo apt install -y libdav1d-dev
libopenjpeg-devJPEG 2000 图像/视频编码--enable-libopenjpegsudo apt install -y libopenjpeg-dev

2.2 常见案例

最小化配置:x264、x265、fdk-aac 和 lame

安装依赖:

sudo apt install -y libx264-dev libx265-dev libfdk-aac-dev libmp3lame-dev

ffmpeg 4.4.1 编译:

wget https://ffmpeg.org/releases/ffmpeg-4.4.1.tar.xz
tar xf ffmpeg-4.4.1.tar.xz && cd ffmpeg-4.4.1

./configure \
  --prefix="$(pwd)/../ffmpeg_build" \
  --enable-gpl \
  --enable-nonfree \
  --enable-libx264 \
  --enable-libx265 \
  --enable-libfdk-aac \
  --enable-libmp3lame \
  --enable-static \
  --disable-shared \
  --disable-doc
  
make -j$(nproc) && make install

说明:

  • --enable-gpl 和 --enable-nonfree 是 x264、x265 和 fdk-aac 必需的。
  • --extra-cflags 和 --extra-ldflags 指定依赖库的头文件和库路径。
  • --disable-doc 跳过文档生成,节省时间。
  • make -j$(nproc) 使用所有 CPU 核心加速编译。

这是编译、安装的后的目录结构:

laow@laow-pc:~/Downloads$ tree ffmpeg_build/ -L 2
ffmpeg_build/
├── bin
│   ├── ffmpeg
│   └── ffprobe
├── include
│   ├── libavcodec
│   ├── libavdevice
│   ├── libavfilter
│   ├── libavformat
│   ├── libavutil
│   ├── libpostproc
│   ├── libswresample
│   └── libswscale
├── lib
│   ├── libavcodec.a
│   ├── libavdevice.a
│   ├── libavfilter.a
│   ├── libavformat.a
│   ├── libavutil.a
│   ├── libpostproc.a
│   ├── libswresample.a
│   ├── libswscale.a
│   └── pkgconfig
└── share
    └── ffmpeg

三、ffmpeg依赖库(手动编译安装)

所有源码下载:ffmpeg4.4.1源代码

3.1 编译依赖库

(1) 编译x264

x264 是一个 H.264 视频编码库,FFmpeg 使用其进行 H.264 编码。

git clone https://code.videolan.org/videolan/x264.git
cd x264

./configure --prefix="$(pwd)/../3rdparty" --enable-static

make -j$(nproc) && make install

(2) 编译x265

x265 用于 H.265/HEVC 编码,需安装 CMake。

wget https://bitbucket.org/multicoreware/x265_git/downloads/x265_3.5.tar.gz
tar xzvf x265_3.5.tar.gz && cd x265_3.5
mkdir tmp && cd tmp

cmake -G "Unix Makefiles" \
-DCMAKE_INSTALL_PREFIX=$(pwd)/../../3rdparty \
../source

make -j$(nproc) && make install

(3) 编译fdk-aac

fdk-aac 是高质量 AAC 编码器,需 --enable-nonfree 编译 FFmpeg。

wget https://sourceforge.net/projects/opencore-amr/files/fdk-aac/fdk-aac-2.0.2.tar.gz
tar -xf fdk-aac-2.0.2.tar.gz && cd fdk-aac-2.0.2/

# 生成 configure 脚本
autoreconf -fiv

./configure --prefix="$(pwd)/../3rdparty" --disable-shared

make -j$(nproc) && make install

(4) 编译mp3lame

LAME 用于 MP3 编码,简单易用。

wget https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz
tar -xf lame-3.100.tar.gz && cd lame-3.100

./configure --prefix="$(pwd)/../3rdparty" --enable-static --disable-shared

make -j$(nproc) && make install

3.2 编译ffmpeg

wget https://ffmpeg.org/releases/ffmpeg-4.4.1.tar.xz
tar xf ffmpeg-4.4.1.tar.xz && cd ffmpeg-4.4.1

export PKG_CONFIG_PATH=$(pwd)/../3rdparty/lib/pkgconfig

./configure \
  --prefix="$(pwd)/../ffmpeg_build" \
  --extra-cflags="-I$(pwd)/../3rdparty/include" \
  --extra-ldflags="-L$(pwd)/../3rdparty/lib" \
  --enable-gpl \
  --enable-nonfree \
  --enable-libx264 \
  --enable-libx265 \
  --enable-libfdk-aac \
  --enable-libmp3lame \
  --enable-static \
  --disable-shared \
  --disable-doc
  
make -j$(nproc) && make install
FFmpeg 4.3.1 从源码到动态库:手把手教你Linux环境编译与安装(含常见错误解决) 本文详细指导如何在Linux环境下从源码编译安装FFmpeg 4.3.1,并生成动态库。内容涵盖编译前的环境准备、依赖库处理、配置选项解析、编译优化技巧,以及针对x86_64和ARM平台的交叉编译实战。文章重点解决了编译过程中常见的依赖和配置错误,旨在帮助开发者构建高度定制化的FFmpeg环境。 阅读详情

相关推荐

ffmpeg-4.4.1-full-build-shared.7z

ffmpeg-4.4.1-full-build-shared.7z

ffmpeg arm linux编译,Linux下编译ffmpeg-4.1,arm32, arm64, x86

目录目标准备工作编译arm版本遇到的问题及解决方案arm32, arm64, 成功编译x86目标编译ffmpeg-4.1版本的 arm32, arm64, x86的动态库。准备工作新建目录,mkdir ffmpeg, cd ffmpeg, 下载ffmpeg4.1的源码,并解压。http://ffmpeg.org/releases/# 下载wgethttp://ffmpeg.org/release...

weixin_36451610的博客 1438

【可下载】ffmpeg-4.4.1工具包

ffmpeg-4.4.1工具包,内含说明文档。

ffmpeg工具初步使用

首先配置环境变量,找到此电脑右键选择属性找到相关设置中的高级系统设置然后点击环境变量找到上方的Path变量双击进去添加下载好的ffmpeg文件的bin目录把弹出的窗口全部点确定然后按Windows+R输入cmd打开命令窗口输入ffmpeg显示此结果则安装成功。

qq_52624850的博客 747

ffmpeg-4.4.1-essentials_build.zip

测试搭建appium环境,appium-doctor检查时报WARN AppiumDoctor ffmpeg cannot be found解决办法

FFMPEG4.4.1 Android so库

FFmpegAndroid平台动态库

linux 编译ffmpeg静态版本,linux下采用PNacl编译ffmpeg4.1

一、发此文的目的1、对于想通过在chrome浏览器上通过插件的方式跑视频的话,可以解决有无的问题。2、对于本文提到的问题欢迎有经验的大神给予指导。二、为什么要做这个事情由于工作关系,需要在chrome浏览器上实现一个播放视频监控的插件。插件架构选择PNacl,通过对nacl-sdk自带的pp::VideoDecoder进行测试后发现,它非常不稳定,跑rtsp://184.72.239.149:55...

weixin_28932089的博客 293

Android ffmpeg .a .so库(ffmpeg 4.4.1)

Android ffmpeg .a .so库(ffmpeg 4.4.1)

Linux下编译ffmpeg-4.1,arm32, arm64, x86

目录 目标 准备工作 编译arm版本 遇到的问题及解决方案 arm32, arm64, 成功 编译x86 目标 编译ffmpeg-4.1版本的 arm32, arm64, x86的动态库。 准备工作 新建目录,mkdir ffmpeg, cd ffmpeg, 下载ffmpeg4.1的源码,并解压。http://ffmpeg.org/releases/ # 下载 wgethttp://ffmpeg.org/releases/ffmpeg-4.2.3.tar.bz2 # 解压 ta.

优快云的博客 2904

ffmpeg4.4.1源代码

x264.tar.gz x265_3.5.tar.gz fdk-aac-2.0.2.tar.gz lame-3.100.tar.gz ffmpeg-4.4.1.tar.xz

ffmpeg-4.4.1-ascend

支持ascend硬件编解码,支持h264_ascend和h265_ascend编解码器

linux下采用PNacl编译ffmpeg4.1

一、发此文的目的 1、对于想通过在chrome浏览器上通过插件的方式跑视频的话,可以解决有无的问题。 2、对于本文提到的问题欢迎有经验的大神给予指导。 二、为什么要做这个事情 由于工作关系,需要在chrome浏览器上实现一个播放视频监控的插件。插件架构选择PNacl,通过对nacl-sdk自带的pp::VideoDecoder进行测试后发现,它非常不稳定,跑rtsp://184.72.23...

weixin_30333885的博客 210

探索热阻测试仪在半导体器件热管理中的应用与前景

T3Ster是MicReD研发的热测试仪,运用JEDEC稳态实时测试方法,专业测试分离或集成的双极型晶体管、MOS晶体管、常见的三极管、LED封装和半导体闸流管等器件的热特性。利用瞬态温升技术,可测得器件稳态热阻和温升,不但可以测得半导体器件稳态热阻和温升,而且可以直接测量各部分对于温升的贡献,计算芯片热流路径上的纵向热阻构成,对器件热可靠性设计、散热问题解决、产品性能提升和长期可靠性至关重要。关键词:T3ster,Micred,功率循环,结温测试,热阻测试,结温热阻测试,半导体热特性测试;

anscos_Olivia的博客 892

编译FFmpeg,ffmpeg4.1.4成功编译(2)

在上一篇(1)的基础上,进行编译ffmpeg4.1.4 上一篇(1)中已经安装了所有需要的基础东西: VM虚拟机 Linux(Ubuntu)系统 android-ndk-r14b (这里依旧使用这个版本) 我这里又安装了一些可能用到的工具集 vim autoconf automake libtool pkg-config curl cmake gcc gperf texinfo yasm nas...

张雨的博客 5619

OmniQuant:全方位校准实现大语言模型高效量化与移动端部署

模型量化是一种通过降低模型权重和激活值的数值精度来压缩模型大小、减少内存占用和计算开销的核心技术。其原理在于将高精度浮点数映射到低精度整数表示,从而在保持模型性能的同时,显著提升存储和计算效率。这项技术的价值在于,它使得大规模语言模型能够在消费级硬件和资源受限的移动设备上运行,极大地拓宽了AI应用场景。OmniQuant作为一项前沿的量化技术,通过引入可学习权重裁剪和可学习等价变换机制,实现了对权重分布不均匀和激活值异常值问题的协同优化,从而在极低的比特数下仍能保持优异的模型性能。本文深入探讨了OmniQu

weixin_30719711的博客 482

中国 it 集成商 主要有哪些 主要做什么工作

既要懂技术(云计算/AI),又要吃透行业(金融/政务)。:用国产化方案(麒麟OS+达梦数据库)替换Oracle/Windows。:如为银行搭建数据中心(采购华为服务器+思科交换机)。:数据中心监控、故障处理(如华胜天成服务国家电网)。:核心交易系统(如中科软为保险公司开发精算平台)。:智慧城市(如太极股份承建“一网通办”政务平台)。:HIS医院信息系统(如东华软件的电子病历系统)。:硬件透明化(如服务器价格战)压缩集成毛利。:工厂设备联网(新华三的工业互联网平台)。

hxsln11的博客 3031

Linux FFmpeg编译安装

Linux 下arm架构 ffmpeg源码编译安装,配置环境

Leroy的博客 297

基于UWB技术的自动跟随避障系统设计研究

基于UWB技术的自动跟随避障系统设计研究 摘要:目前我国针对自动跟随避障系统方面的研究较少,同时国内自动跟随避障系统仍然处在未成熟阶段,多数仍停留在应用蓝牙控制或摄像头捕捉这类跟随方式,但这类方式在实际应用过程中往往会出现易受干扰,精度差,易受环境干扰等问题,这不仅会降低自动跟随避障系统的性能,同时也会对用户造成诸多困扰。因此,就需要结合目前较为有效的UWB技术,对自动跟随避障系统进行设计。基于此,本文首先将会针对UWB技术展开概述,而后对基于UWB技术的自动跟随避障系统组成展开分析,进而对基于UWB技术的

qq_43543515的博客 7991

Linux下使用android ndk编译FFmpeg(最新版FFmpeg 4.4.1)

附上编译好的android ndk-FFmpeg库:https://github.com/codeinmyself/FFmpegInAndroid以及Ubuntu下编译FFmpeg运行的脚本:https://github.com/codeinmyself/build.sh查了很多资料,FFmpeg版本都比较旧,有些build出现的问题都没有说清楚,看到一篇google到的编译错误指导(找了好久),...

not_in_mountain的博客 1万+

OMAPL138使用UPP读写测试

UPP测试代码 #include "hw_types.h" // 宏命令 #include "hw_syscfg0_OMAPL138.h" // 系统配置模块寄存器 #include "soc_OMAPL138.h" // DSP C6748 外设寄存器 #include "psc.h" // 电源与睡眠控制宏及设备抽象层函数声明 #include "interrupt.h" // DSP C6748 中断相关应用程序接...

wangjie36的博客 1192

车载以太网测试-3【Wireshark介绍】

数据包捕获支持从多种网络接口(如以太网、Wi-Fi、蓝牙等)捕获数据包。可以实时捕获或从文件中读取已捕获的数据包。协议解析支持解析数百种网络协议(如 TCP/IP、HTTP、DNS、FTP 等)。能够深入解析协议头部和负载,帮助用户理解网络通信的细节。过滤功能提供强大的显示过滤器和捕获过滤器,帮助用户快速定位和分析感兴趣的数据包。支持基于协议、IP地址、端口号等多种条件的过滤。统计和分析提供多种统计工具,如流量图、会话统计、协议分层统计等。

车载网络测试工程师的博客 1981

[CentOS_7.4]Linux编译安装ffmpeg4.3.1

[CentOS_7.4]Linux编译安装ffmpeg 安装过程: 下载安装源,配置,编译,安装,设置环境变量。 # wget http://www.ffmpeg.org/releases/ffmpeg-4.3.1.tar.gz # tar -zxvf ffmpeg-4.3.1.tar.gz # cd ffmpeg-4.3.1 # ./configure --prefix=/usr/local/ffmpeg # make && make install 等待安装完成… # vi /etc/

东子的博客 细节决定成败,点滴铸就辉煌。 1171

自监督学习原理与代码实战案例讲解

自监督学习原理与代码实战案例讲解 作者:禅与计算机程序设计艺术 1. 背景介绍 1.1 自监督学习的起源与发展 1.1.1 监督学习的局限性

AI天才研究院 620
上一篇: 2.7 Conan简单使用
下一篇: 2.1 Windows VS2019编译FFmpeg 4.4.1
卖猪肉的痴汉
博客等级 码龄10年 166粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值