Nvidia FFmpeg安装说明

编译安装支持 NVIDIA GPU 加速的 FFmpeg

FFmpeg是一款开源的音视频编解码工具,同时也是一套音视频编码开发套件。它提供了丰富的音视频处理功能,包括多种媒体格式的封装和解封装、多种音视频编码、多种协议的流媒体、多种格式转换、多种采样率转换和多种码率转换等。

FFmpeg框架包含了多种插件模块,如封装与解封装的插件、编码与解码的插件等。通过使用Python,可以轻松实现批量处理视频转码、加水印等操作

这个 FFmpeg 启用了 CUDA/NVENC 硬件加速,需要从源码编译。

一、安装依赖

基础编译工具

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

额外依赖

yum install -y openssl-devel

二、安装 nv-codec-headers

cd /usr/local/src

git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git

cd nv-codec-headers

make install

三、安装 nasm

yum安装版本会低可以编译安装

cd /usr/local/src

wget https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2

tar xjf nasm-2.15.05.tar.bz2

cd nasm-2.15.05

./configure --prefix=/usr/local

make -j$(nproc)

make install

验证

nasm -v

应显示: NASM version 2.15.05

、安装 x264

cd /usr/local/src

git clone --depth 1 https://code.videolan.org/videolan/x264.git

cd x264

./configure --enable-shared --enable-static

make -j$(nproc)

make install

、编译 FFmpeg

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

这个会比较慢会失败可以用下面的国内源

cd /usr/local/src

使用 Gitee 镜像

git clone https://gitee.com/mirrors/ffmpeg.git

cd ffmpeg

git checkout b6c4332

HEAD is now at b6c4332...

表示已成功切换到 b6c4332 这个版本

配置(启用 CUDA/NVENC)

./configure --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --enable-gpl --enable-libx264 --enable-openssl --enable-protocols --enable-protocol=https --prefix=/usr/local/ffmpeg

--enable-libnpp 低版本能会报错 7.1之后可以,用不用自己评估下

报错:

1.确认 x264 已安装

检查库文件

ls /usr/local/lib/libx264*

检查 pkg-config 文件

ls /usr/local/lib/pkgconfig/x264.pc

  1. 设置 PKG_CONFIG_PATH

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

验证能找到 x264

pkg-config --libs x264

  1. 更新库缓存

echo "/usr/local/lib" >> /etc/ld.so.conf.d/local.conf

ldconfig

编译安装

make -j$(nproc)

make install

、配置环境变量

复制cat << 'EOF' >> ~/.bashrc

FFmpeg

export PATH=/usr/local/ffmpeg/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/ffmpeg/lib:/usr/local/lib:$LD_LIBRARY_PATH

export PKG_CONFIG_PATH=/usr/local/ffmpeg/lib/pkgconfig:$PKG_CONFIG_PATH

EOF

source ~/.bashrc

更新动态库

echo "/usr/local/ffmpeg/lib" >> /etc/ld.so.conf.d/ffmpeg.conf

echo "/usr/local/lib" >> /etc/ld.so.conf.d/ffmpeg.conf

ldconfig

、验证安装

查看版本

ffmpeg -version

检查 NVIDIA 编码器

ffmpeg -encoders | grep nvenc

应该显示:

V..... h264_nvenc NVIDIA NVENC H.264 encoder

V..... hevc_nvenc NVIDIA NVENC HEVC encoder

、测试 GPU 加速

复制# 使用 GPU 转码测试

ffmpeg -hwaccel cuda -i input.mp4 -c:v h264_nvenc -preset fast output.mp4

相关推荐
shao9185163 小时前
第10章 Streaming(上):初级音频应用(1)——项目三:自建服务器的Mini-Omni实时语音聊天机器人
ffmpeg·whisper·asr·mini-omni·自建语音服务器
Leon_Chenl20 小时前
【已开源】【嵌入式 Linux 音视频+ AI 实战项目】瑞芯微 Rockchip 系列 RK3588-基于深度学习的人脸门禁+ IPC 智能安防监控系统
深度学习·opencv·yolo·ffmpeg·音视频·边缘计算·人脸识别+检测
antzou1 天前
视频图片/文字水印
ffmpeg·视频水印·批量水印
AC赳赳老秦2 天前
DBA 专属方案:用 OpenClaw 实现 SQL 语句优化、慢查询分析、数据库备份巡检全自动化
服务器·前端·数据库·ffmpeg·自动化·deepseek·openclaw
小叮当⇔3 天前
M4A 转 MP3 桌面转换器(PyQt5 + FFmpeg)
开发语言·qt·ffmpeg
aovenus6 天前
FFmpeg 官网及文档
ffmpeg
aovenus6 天前
FFmpeg 工具介绍
ffmpeg
jr-create(•̀⌄•́)6 天前
简单视频编辑tools
python·ffmpeg
山栀shanzhi7 天前
在做直播时,I帧的间隔(GOP)一般是多少?
网络·c++·面试·ffmpeg
weixin_421607557 天前
SRT字幕驱动视频自动分镜切割:电影解说批量生成的工程实现思路
ffmpeg·srt字幕·ai剪辑·影视解说·ai电影解说·视频自动切割·字幕文件解析