我一直在使用以下命令进行两次传递编码
ffmpeg -i <input> -c:v libx265 -x265-params pass=1:crf=22 -f mp4 /dev/null
ffmpeg -i <input> -c:v libx265 -x265-params pass=2 <output>
如果我尝试在第二遍中使用 vf 比例更改分辨率
ffmpeg -i <input> -vf scale=720:-2 -c:v libx265 -x265-params pass=2 <output>
我明白了`
[Error]CU-tree frame type 87 doesn't match actual frame type 0.
`
编辑 1: x264 和 x265 已经存在多年了,如果有人没有找到解决方案/破解使用不同分辨率的第一次传递的统计数据来获得多个输出分辨率,我认为至少比特率分布看起来相同
最佳答案
您需要使用与第一遍相同的分辨率、fps 和持续时间。像 x265 这样的编码器将帧分解为切片,切片本身由具有一定像素大小的 CTU 组成。通过更改分辨率,第一遍中计算的统计数据将与第二遍中的分区不匹配。
关于video - 是否可以在第二遍中更改 ffmpeg 多遍编码的分辨率;x264 和 x265?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44224183/