我尝试编码为 hevc_nvenc,但 FFmpeg 上的文档太少,所有选项都没有明确定义。所以如果有人能足够好地了解所有选项的作用以及可以使用哪些设置和过滤器以及哪些设置来获得良好的编码。
可以找到选项这里
我寻求的信息的一些示例类似于以下内容:
ffmpeg.exe -hwaccel cuvid -i inmovie.mov -c:v h264_nvenc -pix_fmt yuv420p -preset slow -rc vbr_hq -b:v 8M -maxrate:v 10M -c:a aac -b:a 224k outmovie.mp4
Parameters
-hwaccel cuvid uses NVidia CUDA GPU acceleration for decoding (also working: dxva2)
-pix_fmt p010le YUV 4:2:0 10-bit
-c:v hevc_nvenc uses HEVC/h265 GPU hardware encoder
-preset slow HQ gpu encoding
-rc vbr_hq uses RC option to enable variable bitrate encoding with GPU encoding
-qmin:v 19 -qmax:v 14 sets minimum and maximum quantization values (optional)
-b:v 6M -maxrate:v 10M sets average and maximum bitrate allowed for the encoder
这可以找到这里。
答案1
这是我在图灵卡上使用 NVENC HEVC 的设置
ffmpeg -strict 2 -hwaccel auto -i "inputfile.mp4" -c:v hevc_nvenc -rc vbr -cq 24 -qmin 24 -qmax 24 -profile:v main10 -pix_fmt p010le -b:v 0K -c:a aac -map 0 "outputfile.mp4"
增加 24 - 27 或 30 可降低质量并获得更好的压缩效果