shanaencoder吧 关注:1,150贴子:5,802
  • 19回复贴,共1

7.4版本 NVENC编码HEVC的参数推荐及注意事项

只看楼主收藏回复

一、注意事项(版本7.4下)
1.不知道是NVENC的问题还是FFMPEG的问题,亦或者是ShanEncoder的问题,tune使用最新支持的uhq预设,表面上,gop会固定250帧,导致除了用“-g”参数强制改变gop大小从而影响关键帧的插入外,其他一切影响关键帧插入的命令,不论是ffmpeg的还是nvenc的,全部失效。tune用回hq的预设就正常了。
2.编码时对源视频使用硬件解码,会导致编码出的视频(无论是H264、H265、H262)帧类型信息缺失,只能查看是否为关键帧,其他的诸如IDR、B、P、nonref-P等帧信息全部遗失……至于只是信息遗失,还是直接只有I和P帧,手头没有合适的工具解析。解码使用软(CPU)解码就恢复正常。
二、NVENC编码HEVC,我现在使用的参数

-vf "scale=1920:1080:flags=spline+full_chroma_int+accurate_rnd+full_chroma_inp,setsar=1/1,setdar=16/9,shanasubtitle=1"
-af "aresample=48000:resampler=soxr"
-f mkv
-c:v hevc_nvenc -cq:v 24 -profile:v rext -level:v auto -preset:v p7 -tune:v hq -rc-lookahead 721 -no-scenecut 0 -forced-idr 0 -b_adapt 1 -spatial-aq 1 -temporal-aq 1 -nonref_p 1 -strict_gop 0 -aq-strength 15 -g 720
-c:a pcm_s16le -ac 2
-sn -map_metadata -1 -map_chapters -1
解析一下:
1.解码务必使用软解码,原因上面有。
2.profile使用rext,profile下拉列表里各模式的先后顺序就是这些版本推出的先后顺序,这是因为靠后的版本会有一些新特性,比如rext对VR视频会有更好的支持,所以选新不选旧。
3.tune不选用uhq,原因如上,不要说不就一个关键帧插入的问题嘛,对真实影像虽有影响但不大,但对动画片等人造场景影响却巨大,权衡之下我感觉得不偿失,故使用hq。
4.分辨率缩放的情况下使用“spline+full_chroma_int+accurate_rnd+full_chroma_inp”方法,意思是使用spline采样方法,以YUV444格式输入,以YUV444格式计算,不使用有缺陷的MMX指令加速计算(现在几乎不使用MMX指令了,写上是为了保险)。这一参数对YUV420的视频缩放质量有巨大提升,但对本身就是YUV444格式的视频无用。另外要使用这个参数组合,必须使用软解码。如果NVDEC解码直出NVENC编码,缩放参数的使用请自行参考英伟达的相关SDK说明,不展开了。
5.“-rc-lookahead 721 -no-scenecut 0”与“-g 720”配合,保证23.98FPS,极端情况下关键帧间隔30s且码率控制可以涵盖到两个关键帧,个人强迫症设置。但是-rc-lookahead参数必须大于0,否则会使自动关键帧失效,即使指定-no-scenecut为0也无用。
6.“-forced-idr 0 -b_adapt 1 -nonref_p 1”关闭IDR帧,开启自适应B帧和自动非参考P帧。
7.“-spatial-aq 1 -temporal-aq 1 -strict_gop 0 -aq-strength 15”最强的自适应帧内与时间量化,关闭严格的gop间码率波动性,以尽可能的释放自动量化。效果相当于开了动态模糊。
这一堆的参数目的很简单,尽可能地提高压缩比,做到相同码率但画质更好或者相同画质但是码率更低。
PS:即使这样了,我的观感感觉还是不如相同码率下X265的slow预设,甚至与middle相比也稍逊……不过X265实在太慢了,所以还是不得不用NVENC……


IP属地:云南1楼2025-12-07 16:04回复
    大佬,我想压制1080P老电影,网页链接 -DL源,
    想尽可能的做到体积和画质均衡,
    直接套用上面代码可以吗?


    IP属地:山东来自Android客户端2楼2025-12-07 21:39
    收起回复
      2025-12-25 00:22:34
      广告
      不感兴趣
      开通SVIP免广告
      shana是不支持最新的-tune:v uhq,因为shana的ffmpeg版本半年多没更新了


      IP属地:河南3楼2025-12-07 21:40
      收起回复
        当前配置:
        -f mkv
        -c:v hevc_nvenc -cq:v 19 -b:v 5000k -profile:v main -level:v auto -preset:v p7 -tune:v hq -shanakeyframe 5 -shanarcmode variable
        -c:a copy
        -sn -map_metadata -1 -map_chapters -1</encparamBox>


        IP属地:山东4楼2025-12-07 23:10
        收起回复
          感谢大佬回复,这是按您推荐改的配置,片源音频是224kbps,质量并不是太高,直接复制可以吗?
          是否还需要其他优化


          IP属地:山东7楼2025-12-08 11:55
          收起回复
            那要怎么样才能启用5070ti的双编码器呢?


            IP属地:湖北来自Android客户端8楼2025-12-16 09:46
            收起回复
              请问一下这些个参数,是怎么写出来的。比如压制,剪辑


              IP属地:江西来自Android客户端9楼2025-12-21 19:41
              收起回复