05.09.2024, 19:20
(05.09.2024, 18:50)Selur Wrote: (calling it 'MAJOR BUG' just triggers me to not take you seriously)
Vapoursynth script:
looks fine, also includes no filter that should change the frame count.# Imports import vapoursynth as vs # getting Vapoursynth core import ctypes import sys import os core = vs.core # Import scripts folder scriptPath = 'C:/Program Files/Hybrid/64bit/vsscripts' sys.path.insert(0, os.path.abspath(scriptPath)) # Loading Support Files Dllref = ctypes.windll.LoadLibrary("C:/Program Files/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll") # loading plugins core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/libvs_placebo.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/GrainFilter/RemoveGrain/RemoveGrainVS.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/CTMF/CTMF.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/fmtconv.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/MiscFilter/MiscFilters/MiscFilters.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/TTempSmooth/TTempSmooth.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/DFTTest/DFTTest.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/NEO_FFT3DFilter/neo-fft3d.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/DCTFilter.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DeblockFilter/Deblock/Deblock.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/libmvtools.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/LSMASHSource.dll") # Import scripts import havsfunc import validate # Source: 'C:\Users\Admin\Desktop\FILM 1 - ETAPE 3 - HUE FIX DAVINCI00000000.mkv' # Current color space: YUV422P8, bit depth: 8, resolution: 1920x1080, frame rate: 23.976fps, scanorder: progressive, yuv luminance scale: limited, matrix: 709, transfer: bt.709, primaries: bt.709 # Loading C:\Users\Admin\Desktop\FILM 1 - ETAPE 3 - HUE FIX DAVINCI00000000.mkv using LWLibavSource clip = core.lsmas.LWLibavSource(source="C:/Users/Admin/Desktop/FILM 1 - ETAPE 3 - HUE FIX DAVINCI00000000.mkv", format="YUV422P8", stream_index=0, cache=0, prefer_hw=0) frame = clip.get_frame(0) # setting color matrix to 709. clip = core.std.SetFrameProps(clip, _Matrix=vs.MATRIX_BT709) # setting color transfer (vs.TRANSFER_BT709), if it is not set. if validate.transferIsInvalid(clip): clip = core.std.SetFrameProps(clip=clip, _Transfer=vs.TRANSFER_BT709) # setting color primaries info (to vs.PRIMARIES_BT709), if it is not set. if validate.primariesIsInvalid(clip): clip = core.std.SetFrameProps(clip=clip, _Primaries=vs.PRIMARIES_BT709) # setting color range to TV (limited) range. clip = core.std.SetFrameProps(clip=clip, _ColorRange=vs.RANGE_LIMITED) # making sure frame rate is set to 23.976fps clip = core.std.AssumeFPS(clip=clip, fpsnum=24000, fpsden=1001) # making sure the detected scan type is set (detected: progressive) clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive clip = core.std.CropRel(clip=clip, left=240, right=240, top=0, bottom=0)# cropping to 1440x1080 # denoising using MCTemporalDenoise clip = havsfunc.MCTemporalDenoise(i=clip, settings="high", thSAD=600, thSAD2=600, thSCD1=600, thSCD2=130, truemotion=False, MVglobal=True, pel=4, pelsearch=5, search=5, searchparam=5, MVsharp=2, DCT=0, ncpu=1) # applying FineDeHalo to remove halos clip = havsfunc.FineDehalo(clip, rx=3.50, ry=2.80, darkstr=0.00, edgeproc=1.00) # adjusting color space from YUV422P8 to YUV444P16 for vsGLSLDarken clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16, range_s="limited") # Using Anime4k Darken GLSL filter for line darkening with open("C:/Program Files/Hybrid/64bit/vsfilters/GLSL/parameterized/Anime4K_Darken_HQ.glsl") as glslf: glsl = glslf.read() glsl = glsl.replace('#define STRENGTH 1.5', '#define STRENGTH 0.3') clip = core.placebo.Shader(clip=clip, shader_s=glsl, width=clip.width, height=clip.height) # adjusting output color from: YUV444P16 to YUV420P8 for FFV1Model clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P8, range_s="limited", dither_type="none") # set output frame rate to 23.976fps (progressive) clip = core.std.AssumeFPS(clip=clip, fpsnum=24000, fpsden=1001) # output clip.set_output()
=> Does the Vapoursynth Preview show all the frames?
If not, you could try another source filter. (Bestsource or FFmpegSource2)
Hybrid expected 72647@23.976, but the encoding stops at 14367 frames without any warnings or erros.
My guess is that:
a. either the source filter has a problem with the source, then the Vapoursynth preview should show only a fraction of the frames
b. some energy saving function of Windows or some antivirus software triggers ffmpeg to stop processing.
=> don't see any bug in the processing of Hybrid.
Cu Selur
Sorry then, but to me when you encode a video and it's the lottery whether it will encode or not, it's quite a major bug.
a. Yes the frame are good
b. Hmm that's not impossible. i didn't know that an antivirus could kill ffmpeg.
OK so what I'll do, is fresh reinstall Hybrid to the last dev version and encode with AVAST disabled.
But I while ago I put "C:\Program Files\Hybrid\Hybrid.exe" and "C:\Program Files\Hybrid\" so I guess ffmpeg.exe run from Hybrid folder should be ignored from AVAST.

