Is there any way I can improve these settings without increasing encode time significantly
I don't know enough about the different settings in x264 to even know where to start tweaking with them.
Below is an image of typical comparisons between source and encoded videos.Code:cabac=1 / ref=3 / deblock=1:-1:-1 / analyse=0x3:0x113 / me=umh / subme=7 / psy=1 / psy_rd=1.00:0.15 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-3 / threads=32 / lookahead_threads=5 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=2pass / mbtree=1 / bitrate=7500 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=40000 / vbv_bufsize=30000 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
[Attachment 59474 - Click to enlarge]
The script I'm using is as follows:
Or is this about the best to be expected without going to extreme settings like "very slow" and a "crf=18"?Code:LoadPlugin("D:\Applications\_Music-Video\Video Converters\MeGUI-2896-64 - 2018-12-08\tools\ffms\ffms2.dll") #~ # ======================================== # If Videos start at different frames use frameadjust to align them frameadjust1=0 frameadjust2=20 name1="Source Name" name2="Encoded" fileName="" sourceLocation="" targetLocation="" # Videos to compare: (v1 is original, v2 is encoded or whatever) v1 = FFVideoSource(sourceLocation + fileName + ".mkv", fpsnum=24000, fpsden=1001, colorspace="YUV420P8").Trim(frameadjust1, 0) v2 = FFVideoSource(targetLocation + fileName + ".mkv", fpsnum=24000, fpsden=1001, colorspace="YUV420P8").Trim(frameadjust2, 0) # use Loop or Trim to align them if they start at different frames sub = v1.subtract(v2) substrong = sub.Levels(112, 1.000, 144, 0, 255) StackVertical(StackHorizontal(v1.subtitle(name1), v2.subtitle(name2)), StackHorizontal(sub.subtitle("Difference"), substrong.subtitle("Difference amplified 8x")))
The source is bluray 1920x1080, 23.976 fps.
+ Reply to Thread
Results 1 to 4 of 4
Last edited by ziggy1971; 18th Jun 2021 at 00:27.
Answer: use something like SMDegrain ro similar to make the job of the encoder easier.
(or at least something like Removegrain or similar which is fast and removes some of he noise,..)
I don't know enough about the different settings in x264 to even know where to start tweaking with them.users currently on my ignore list: deadrats, Stears555
I'm not familiar with SMDegrain and it's purpose. So, if used to degrain the source, wouldn't the output encode be much worse than the source and make things even worse than the current encode is? I must be missing something.
I have read up on many of the settings, not all of them, and tried various combinations like increasing b-frames, ref frames, trellis, Subpixel Refinement levels all the way up to 10, M.E. Algorithms, etc., but each combination I've tried has significantly increased the encoding time (10-400% increases in time required) most with very little "change", I can't say better or worse as different settings seem to affect the video differently. Even encoding the same clip with all things being equal (same settings, same x264 encoder version, same script, same drives, same CPU, everything) gives a slightly different encode output. Even examining the same frame as above shows a different result.
That's why I posted here to see if I was missing something. Perhaps some combination that I missed.
Yes, the preset of Very Slow and a CRF=18 does give some improvement, but at over 400% the time required.
Also, yes, I use MeGUI sometimes, but for this output I used the binaries (x264-r3059-b684ebe.exe in this case) from VideoLAN and a command line script.
It's about removing details/noise in a controlled matter than having the encoder have to make the choice.
If you want a more lossless transfer, lower the crf/quantizer.
If you want lossless use lossless encoding.
users currently on my ignore list: deadrats, Stears555