linux下用ffmpeg测试nvidia 显示驱动是否安装成功的脚本

#!/bin/bash
# 生成一个10秒用户来测试的文件
ffmpeg -y -f lavfi -i testsrc=duration=10:size=1280x720:rate=30 \
       -f lavfi -i sine=frequency=1000:duration=10 \
       -c:v libx264 -preset fast -crf 23 \
       -c:a aac -b:a 192k \
       input.mp4


# 测试输入文件(可替换为你自己的视频文件)
INPUT="input.mp4"
OUTPUT="output_nvenc.mp4"

# 检查输入文件是否存在
if [ ! -f "$INPUT" ]; then
    echo "错误:输入文件 $INPUT 不存在"
    exit 1
fi

# 检查ffmpeg是否安装
if ! command -v ffmpeg &> /dev/null; then
    echo "错误:ffmpeg未安装"
    exit 1
fi

# 检查NVENC支持
if ! ffmpeg -hide_banner -encoders | grep -q nvenc; then
    echo "错误:FFmpeg未编译NVENC支持"
    exit 1
fi

echo "开始NVENC编码测试..."
ffmpeg -hide_banner -y -i "$INPUT" \
    -c:v h264_nvenc -preset slow -profile:v high -rc:v vbr_hq -b:v 5M \
    -c:a aac -b:a 192k \
    "$OUTPUT"

if [ $? -eq 0 ]; then
    echo "NVENC编码测试成功完成,输出文件: $OUTPUT"
else
    echo "NVENC编码测试失败"
    exit 1
fi

echo "开始NVENC解码测试..."
ffmpeg -hide_banner -y -i "$OUTPUT" -f null -

if [ $? -eq 0 ]; then
    echo "NVENC解码测试成功完成"
else
    echo "NVENC解码测试失败"
    exit 1
fi

Linux内核版本为 `miivii-tegra 5.10.104-tegra` 的系统上安装FFmpeg,尤其是针对NVIDIA Jetson平台(如Jetson AGX Xavier),需要结合硬件支持和软件依赖进行配置。以下是一个详细的安装流程: ### 安装FFmpeg的步骤 #### 1. 使用源码编译安装FFmpeg(适用于Jetson平台) 首先,确保系统已安装必要的构建工具和依赖项: ```bash sudo apt update sudo apt install -y build-essential git yasm cmake libtool pkg-config ``` 接着,克隆FFmpeg源码仓库并进入目录: ```bash git clone https://git.ffmpeg.org/ffmpeg.git cd ffmpeg ``` 切换到稳定分支(如`release/5.1`)或使用默认的`main`分支: ```bash git checkout release/5.1 ``` 配置编译选项,启用CUDA和硬件加速支持(适用于Jetson平台): ```bash ./configure \ --enable-shared \ --disable-static \ --enable-cuda \ --enable-cuvid \ --enable-nvenc \ --enable-libnpp \ --extra-cflags=-I/usr/local/cuda/include \ --extra-ldflags=-L/usr/local/cuda/lib64 \ --enable-nonfree ``` 开始编译并安装: ```bash make -j$(nproc) sudo make install ``` 最后,更新动态链接库缓存: ```bash sudo ldconfig ``` #### 2. 使用预编译包安装(适用于Ubuntu 20.04) 如果希望避免手动编译,可以使用APT安装预编译版本的FFmpeg: ```bash sudo apt install -y ffmpeg ``` 此方法安装的版本可能不包含最新的功能或硬件加速支持,但适用于基础使用场景。 #### 3. 使用Jetson专用FFmpeg库(参考引用[1]) 如果希望使用专门为Jetson平台优化的FFmpeg版本,可以参考 `jetson-ffmpeg` 项目[^1]。该项目提供了适用于Jetson设备的FFmpeg构建脚本,能够更好地支持硬件加速编码/解码。 克隆项目并编译安装: ```bash git clone https://github.com/Keylost/jetson-ffmpeg.git cd jetson-ffmpeg mkdir build && cd build cmake .. make sudo make install sudo ldconfig ``` 该方法可确保FFmpeg与Jetson平台的GPU和V4L2驱动兼容,适合嵌入式视频处理应用。 #### 4. 验证安装 安装完成后,验证FFmpeg是否成功安装并支持CUDA: ```bash ffmpeg -version ffmpeg -hwaccels ``` 如果输出中包含 `cuda` 和 `nvenc`,则表示硬件加速已启用。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值