dwing吧 关注:5,636贴子:88,443
  • 14回复贴,共1

萌新求解Capped CRF

只看楼主收藏回复

网上有不少介绍,但有点我没看懂,
CRF的大小是根据0~51数值变化而变化的,
且难以精确预测码率体积,但VBV可以指定码率,
这二者不是冲突的吗?还是说该怎么平衡?
以这段信息来看
ffmpeg -i <input> -c:v libx265 -crf 28 -x265-params vbv-maxrate=1000:vbv-bufsize=2000 <output>
假如这个个CRF 28,最终整体的平均码率有5000,
那么vbv-maxrate=1000:vbv-bufsize=2000这段设置,
是不是就没有意义了?


IP属地:四川来自Android客户端1楼2023-07-13 19:05回复
    可以看做是码率上限


    IP属地:福建来自Android客户端2楼2023-07-13 20:45
    收起回复
      简单来说可以这样理解:
      编码器先按照正常的crf编码,然后每vbv-bufsize检测一次平均码率有没有超过vbv-maxrate,如果超过了就减小。
      正常编码是不用也不应该考虑这个的,如果非常在意体积,应该选择2pass;或者截取一些短的片段去试不同crf下的画面质量和码率,最终选择一个合适的crf值。我能想到的应用场景只有视频直播时担心码率过高大于上传带宽导致卡顿,可以通过设置这个避免。


      IP属地:北京3楼2023-07-14 17:59
      收起回复
        你可能没有搞清楚能不能和该不该。
        能不能,能,你可以给vbv设置各种离谱的值
        该不该,不该


        IP属地:福建来自Android客户端4楼2023-07-15 07:56
        收起回复