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

相关推荐
VidDown4 小时前
自动给视频挑一张能看的封面:帧评分、构图与批量生成
python·ffmpeg·音视频·视频
可乐鸡翅yeah_1 天前
HLS 业务 Referer‑Policy 网页元标签引发播放异常排错
前端·javascript·网络·ffmpeg·php·音视频
开开心心就好2 天前
本地文件搜索工具推荐,占用小速度还快
智能手机·ffmpeg·ocr·word·音视频·网络攻击模型·安全架构
我科绝伦(Huanhuan Zhou)2 天前
oracle坏块导致备份不了
数据库·oracle·ffmpeg
RS迷途小书童2 天前
Python+FFmpeg提取大疆无人机MP4内嵌mov_text遥测SRT字幕并做完整性校验
python·ffmpeg·大疆·srt字幕·dji
开开心心就好2 天前
视频压缩工具推荐,画质效果很能打
智能手机·ffmpeg·ocr·word·排序算法·音视频·散列表
可乐鸡翅yeah_3 天前
业务中 M3U8 水印相关坑,硬水印和动态水印区别
前端·网络·数据库·ffmpeg·m3u8在线
redfred3 天前
HyperFrames 部署教程:5.6 万 Star 开源「写 HTML 出视频」框架,Windows 从零上手(CLI 三条命令 + 7 个避坑)
ffmpeg·开源·自动化·html·音视频
Arcai10243 天前
PostgreSQL数据备份和恢复完全指南
数据库·postgresql·ffmpeg·备份一体机·备份软件·smartstor·智备科技
可乐鸡翅yeah_4 天前
FFmpeg 生成 HLS 独立分片 independent‑segments 参数到底有什么用
javascript·ffmpeg·音视频·safari·m3u8