以前我只有NVIDIA独显,想使用FFmpeg硬件编码的时候不能用-crf控制码率
搜到的资料是NVIDIA不支持这个参数,只能用平均码率
但是用命令行控制平均码率太麻烦了
所以我很长一段时间都用shotcut先libx265软编码一段短片,得到平均码率之后在用nevc_nvenc编码
最近新换了cpu有核显,在shotcut里直接用nevc_qsv时,好像可以用crf自动控制码率,测试了几个素材,cpu软编码和核显编码之后得到的码率都差不多
最后问题来了,因为有些素材短,我就想直接FFmpeg命令行
ffmpeg -y -i %1 -c:v hevc_qsv -vf format=yuv420p -crf 26 -c:a aac -ar 44100 -b:a 128K -strict -2 %shuchu%
转换后得到的码率又偏高
搜了一圈后改为
ffmpeg -y -i %1 -c:v hevc_qsv -vf format=yuv420p -global_quality 26 -c:a aac -ar 44100 -b:a 128K -strict -2 %shuchu%
这次转换的码率符合质量了
shotcut不是基于FFmpeg吗,为什么shotcut里能用-crf控制,FFmpeg里不能用?
有没有懂哥来补充点其他资料?谢谢