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,ffmpeg,运维)