看起来 ffmpeg 和 h264_vaapi 编解码器在最新版本 4 中已损坏,因为它们不遵守 -qp 设置。-qp 的任何值都不会改变比特率,这太高了。只有直接设置比特率选项 -b 才有效。有人知道解决方法吗?
可以使用简单命令复制问题:ffmpeg -vaapi_device /dev/dri/renderD128 -i input.mp4 -vf 'format=nv12,hwupload' -c:v h264_vaapi -qp 30 output.mp4
答案1
这是修复于ffmpeg 的提交 f4d7bd6cdbcf9027a36a73531baf7e3885644ee6不幸的是,该提交仍然只在 git master 分支中可用。希望它将成为 ffmpeg-4.1.2 的一部分;将该提交反向移植到早期版本看起来是一项艰巨的任务。
在 ffmpeg-4.1.2 之前,你可以自己编译 git master,或者安装夜间版本来自 ffmpeg 网站。
[2019/03/27 编辑:ffmpeg-4.1.2 发布时没有该提交;不幸的是,它似乎注定要用于 ffmpeg-4.2。]