shanaencoder吧 关注:956贴子:4,009
  • 2回复贴,共1

hevc提升cpu利用率

只看楼主收藏回复

想要利用多线程可以调整ctu wpp pme pmode这几个参数,在不讨论画质影响的情况下,ctu大概是把一帧画面分割成若干份,比如1080p分辨率 ctu=64的情况下会被拆分成1080/64=14.0625个区域来交由CPU处理,实际上是15个区域,如ctu=32的情况下会被拆分成1080/32=33.75实际上是34个区域。
如果有8核心16线程,压720p ctu=64,总共就只切成12个区域,改成ctu=32就能跑满了
以上来自dwing贴吧https://tieba.baidu.com/p/5500849431?see_lz=0
shana里按f8在编码设置空白处按下空格键加 -x265-params ctu=32:pme=1:pmode=1
ctu根据情况自己改,输出4k一般推荐64输出1080为32
这些参数的具体解释:
wpp (WaveFront Parallel Processing):wpp软件已开启这里只做说明
wpp=1 表示启用波形前沿并行处理,这是一个用于提高编码速度的技术,通过允许编码器在不同的部分并行工作来减少编码时间,设置为 1 代表开启此功能。
pme (Psychovisual Optimization / Perceptual Model Enhancements)?:
pme=1 表示启用心理视觉优化,这个设置有助于编码器在保持视觉质量的同时减少比特率,心理视觉优化考虑到人类视觉系统对不同类型的视觉信息的敏感度不同,从而可以更有效地分配比特。
pmode (Prediction Mode)?:
pmode=1 启用预测模式,模式涉及到如何选择和利用参考帧进行运动估计和补偿,是为了在编码时达到更好的压缩率或质量平衡。
以上方法达不到预期可尝试在软件偏好设置里,设置多线程那,把编码那里的threads 0改0为需要的线程 在这里0是根据情况自动使用多少线程 或直接改 -x265-params ctu=32:pme=1:pmode=1为 -x265-params ctu=32:pme=1:pmode=1:--frame-threads=x 这x指你需要的线程数记得改
ctu=32可能会容易画面出现块状 可改参数为 -x265-params ctu=32:pme=1:pmode=1:deblock=2,2或 -x265-params ctu=32:pme=1:pmode=1:--frame-threads=x:deblock=2,2 x指你需要的线程数记得改 deblock为去块滤镜正值效果强但会有轻微模糊 负值效果弱但保留细节和锐度
如使用 -x265-params ctu=32:pme=1:pmode=1:--frame-threads=x:deblock=2,2出错请使用 -x265-params ctu=32:pme=1:pmode=1:deblock=2,2或 -x265-params ctu=32:pme=1:pmode=1
如已存在 -x265-params 这样的参数 复制:pme=1:pmode=1粘贴到参数最后面 如原参数没有ctu就需要把ctu也复制,比如原参数是 -x265-params level=5.1:ctu=32:deblock=2,2:min-keyint=1:open-gop=no:no-strong-intra-smoothing=1:no-sao=1:selective-sao=0:rdoq-level=2:aq-mode=2:aq-strength=0.9:rskip=2这样的,复制:pme=1:pmode=1粘贴后就是这样 -x265-params level=5.1:ctu=32:deblock=2,2:min-keyint=1:open-gop=no:no-strong-intra-smoothing=1:no-sao=1:selective-sao=0:rdoq-level=2:aq-mode=2:aq-strength=0.9:rskip=2:pme=1:pmode=1


IP属地:陕西1楼2024-11-17 16:46回复
    以上方法不保证对所有CPU都有效,自己测试


    IP属地:陕西2楼2024-11-17 16:52
    回复
      大神好,学习中。


      IP属地:黑龙江来自Android客户端3楼2024-11-24 12:34
      回复