VideoHelp Forum

Try NordVPN to access Netflix or other streaming services from any country and also surf safe!
+ Reply to Thread
Results 1 to 3 of 3
  1. Hi,

    I have tried to compare the result of h265 and h264 codec and while h265 is much better in terms of quality and size reduction, unfortunatenly in my test introduce much banding and block on dark gradient.

    Here some commands that I have tried:

    ffmpeg -y -i title00.mkv  -an  -t 80  -b:v 4M ouput_h264_no_special_options.mkv
    This command produce a poor quality result and intruduce grain, but no banding

    ffmpeg -y -vsync 0   -i title00.mkv  -an -sn -c:v:0 hevc_nvenc  -rc:v:0 vbr  -cq 27 -qmin 22 -qmax 40 -b:v:0 10M -maxrate:v:0 15M -gpu 0 -vf format=yuv420p10le -rc-lookahead 32 -spatial-aq 1 -aq-strength:v 15  -level:v 4.1  -t 80 -tune hq  output_banding.mkv
    The quality is much better but introduce banding on dark scene expecially with grey gadient. If I decrease the -cq to 22 the banding persist and seem a bit more evident.

    ffmpeg -y -i title00.mkv -c:v libx265 -an -aq-mode 3 -aq-strength 16 -deblock -2:-2  -g 120 -keyint_min 120 -t 80  -b:v 4M ouput_h265.mkv
    Very very slow with the some banding artefacts no more no less.

    My impression is that the h265 have this side effect by default.

    If I reduce the gamma the banding is less visible, but the the video is more dark.

    I have tried different noise redection via ffmpeg without get good result.

    Someone have similar experience about this ?

    There is a way to reduce/remove the banding on h265 ?

    Thanks !
    Last edited by marco000; 14th Jun 2021 at 13:27.
    Quote Quote  
  2. There is a way to reduce/remove the banding on h265 ?
    Use 10bit encoding. The H.265 standard has 10bit encoding in it's main profile which is why all decent hardware decoders support it.

    1. without even sharing the frame size, frame rate there is no chance to judge whether 4Mbit/s might be way too low/high.
    2. using 1pass bit rate encoding is usually a bad idea,... 2pass or quality based encoding usually is better.
    users currently on my ignore list: deadrats, Stears555
    Quote Quote  
  3. Thank you.

    I have found the solution: using libx265 with this command:

    ffmpeg -y  -i title00.mkv  -c:v libx265 -an -crf 23  -x265-params ref=4:hme=1:hme-search=umh,umh,star:subme=4:bframes=8:rd=4:rd-refine=0:qcomp=0.65:fades=1:strong-intra-smoothing=1:ctu=32:qg-size=32:sao=0:selective-sao=0:cu-lossless=0:cutree=1:tu-inter-depth=4:tu-intra-depth=4:max-merge=2:rskip=2:rskip-edge-threshold=2:rc-lookahead=80:aq-mode=1:aq-strength=1.0:rdoq-level=1:psy-rd=4.0:psy-rdoq=15.0:limit-modes=0:limit-refs=0:limit-tu=0:deblock=-4,-4:weightb=1:weightp=1:rect=1:amp=0:wpp=1:pmode=0:pme=0:b-intra=1:b-adapt=2:b-pyramid=1:tskip=1:tskip-fast=0:fast-intra=0:early-skip=0:splitrd-skip=0:min-keyint=24:keyint=240:transfer=bt709:colorprim=bt709:colormatrix=bt709:crf-min=10 -t 80  ouput_h265_forum_very_slow_crf_23.mkv
    the final result don't show any banding / blocking but there is a compromise:

    with nvidia cuda the process speed is 16x but with this command (libx265) is 0.1X.

    After many tests I have undestand that the only way to get a good result is using libx265, but I still looking for a compromise with these paramaters to speedup the process.

    My CPU is old Intel I5 6600T and my GPU is GTX 1060.
    Quote Quote  

Similar Threads