ARGH,... there are tons of encodes in that debug output.
1st crash, line 3473:
Code:
y4m [error]: bad sequence header magic
x264 [error]: could not open input file `-'
this usually indicates some issue with the processing of the Vapoursynth script.
Looking at that script
Code:
# 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/DenoiseFilter/HQDN3D/libhqdn3d.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/GrainFilter/AddGrain/AddGrain.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/EEDI3m_opencl.dll")# vsQTGMC
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/NNEDI3CL.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/libmvtools.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/scenechange.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/DeinterlaceFilter/Bwdif/Bwdif.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/d2vSource/DGDecode.dll")
# Import scripts
import havsfunc
import validate
# Source: 'C:\Users\hjatsu\Desktop\vhs\VHSREC4#001.vob'
# Current color space: YUV420P8, bit depth: 8, resolution: 720x576, frame rate: 25fps, scanorder: top field first, yuv luminance scale: limited, matrix: 470bg, transfer: bt.470 system b/g, primaries: bt.601 pal
# Loading C:\Users\hjatsu\Desktop\vhs\VHSREC4#001.vob using DGDecode
clip = core.dgdecode.MPEG2Source("C:/Users/hjatsu/Desktop/vhs/temp/2024-08-18@10_49_29_4910.d2v",info=3)# 25 fps, scanorder: top field first
frame = clip.get_frame(0)
# setting color matrix to 470bg.
clip = core.std.SetFrameProps(clip, _Matrix=vs.MATRIX_BT470_BG)
# setting color transfer (vs.TRANSFER_BT470_BG), if it is not set.
if validate.transferIsInvalid(clip):
clip = core.std.SetFrameProps(clip=clip, _Transfer=vs.TRANSFER_BT470_BG)
# setting color primaries info (to vs.PRIMARIES_BT470_BG), if it is not set.
if validate.primariesIsInvalid(clip):
clip = core.std.SetFrameProps(clip=clip, _Primaries=vs.PRIMARIES_BT470_BG)
# setting color range to TV (limited) range.
clip = core.std.SetFrameProps(clip=clip, _ColorRange=vs.RANGE_LIMITED)
# making sure frame rate is set to 25fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1)
# making sure the detected scan type is set (detected: top field first)
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_TOP) # tff
# cutting from frame 43300 to 43728 - WARNING: This might cause synch issues
clip = core.std.Trim(clip=clip, first=43300, last=43728)
# Deinterlacing using QTGMC
clip = havsfunc.QTGMC(Input=clip, Preset="Very Slow", TFF=True, opencl=True, device=1) # new fps: 50
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive
clip = core.std.CropRel(clip=clip, left=12, right=12, top=2, bottom=10)# cropping to 696x564
# denoising using HQDN3D
clip = core.hqdn3d.Hqdn3d(clip=clip, lum_spac=2.00, chrom_spac=2.00, lum_tmp=4.00, chrom_tmp=6.00)
# fallback - adjusting from 696x576 to output resolution 720x576
clip = core.resize.Spline64(clip=clip, width=720, height=576) # resolution 720x576)
# set output frame rate to 50fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=50, fpsden=1)
# output
I see no errors. (not sure why the 'fallback - adjusting' is triggered)
=> Does the Vapoursynth Preview work fine?
Encoding call:
Code:
"C:\Program Files\Hybrid\64bit\Vapoursynth\vspipe.exe" "C:\Users\hjatsu\Desktop\vhs\temp\encodingTempSynthSkript_2024-08-18@10_49_29_4910_0.vpy" - -c y4m | "C:\Program Files\Hybrid\64bit\x264.exe" --preset veryslow --crf 14.50 --profile high --level 5.1 --sync-lookahead 120 --rc-lookahead 120 --no-fast-pskip --vbv-maxrate 300000 --vbv-bufsize 300000 --deadzone-inter 6 --deadzone-intra 6 --threads 4 --sar 16:15 --non-deterministic --range tv --colormatrix bt470bg --demuxer y4m --input-range tv --fps 50/1 --output-depth 8 --output "C:\Users\hjatsu\Desktop\vhs\temp\2024-08-18@10_49_29_4910_06.264" -
looks fine to me.
2nd crash, line 4697:
Code:
per(1) finished with exitCode: -1073741819 and exitStatus: 1
Decoder crashed after 616 frames.
3rd crash, line 5270, is the same as the first.
4th crash, line 6751, is the same as the first.
5th crash, line 7933, is the same as the second, crashed at the same frame.
6th crash, line 9101, is the same as the second, crashed at the same frame.
I tested a similar script with your source:
Code:
# Imports
import vapoursynth as vs
# getting Vapoursynth core
import ctypes
import sys
import os
core = vs.core
# Import scripts folder
scriptPath = 'F:/Hybrid/64bit/vsscripts'
sys.path.insert(0, os.path.abspath(scriptPath))
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("F:/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll")
# loading plugins
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/DenoiseFilter/HQDN3D/libhqdn3d.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/GrainFilter/RemoveGrain/RemoveGrainVS.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/GrainFilter/AddGrain/AddGrain.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/DenoiseFilter/DFTTest/DFTTest.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/DenoiseFilter/NEO_FFT3DFilter/neo-fft3d.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/EEDI3m_opencl.dll")# vsQTGMC
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/NNEDI3CL.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/libmvtools.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/scenechange.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/fmtconv.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/MiscFilter/MiscFilters/MiscFilters.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/DeinterlaceFilter/Bwdif/Bwdif.dll")
core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/SourceFilter/d2vSource/DGDecode.dll")
# Import scripts
import havsfunc
import validate
# Source: 'C:\Users\Selur\Desktop\VHSREC4#001.vob'
# Current color space: YUV420P8, bit depth: 8, resolution: 720x576, frame rate: 25fps, scanorder: top field first, yuv luminance scale: limited, matrix: 470bg, transfer: bt.470 system b/g, primaries: bt.601 pal
# Loading C:\Users\Selur\Desktop\VHSREC4#001.vob using DGDecode
clip = core.dgdecode.MPEG2Source("J:/tmp/vob_6fc6b21b9bfb55ae4e6e5f24686c4223_853323747.d2v",info=3)# 25 fps, scanorder: top field first
frame = clip.get_frame(0)
# setting color matrix to 470bg.
clip = core.std.SetFrameProps(clip, _Matrix=vs.MATRIX_BT470_BG)
# setting color transfer (vs.TRANSFER_BT470_BG), if it is not set.
if validate.transferIsInvalid(clip):
clip = core.std.SetFrameProps(clip=clip, _Transfer=vs.TRANSFER_BT470_BG)
# setting color primaries info (to vs.PRIMARIES_BT470_BG), if it is not set.
if validate.primariesIsInvalid(clip):
clip = core.std.SetFrameProps(clip=clip, _Primaries=vs.PRIMARIES_BT470_BG)
# setting color range to TV (limited) range.
clip = core.std.SetFrameProps(clip=clip, _ColorRange=vs.RANGE_LIMITED)
# making sure frame rate is set to 25fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1)
# making sure the detected scan type is set (detected: top field first)
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_TOP) # tff
# Deinterlacing using QTGMC
clip = havsfunc.QTGMC(Input=clip, Preset="Very Slow", TFF=True, opencl=True) # new fps: 50
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive
clip = core.std.CropRel(clip=clip, left=12, right=12, top=2, bottom=10)# cropping to 696x564
# denoising using HQDN3D
clip = core.hqdn3d.Hqdn3d(clip=clip, lum_spac=2.00, chrom_spac=2.00, lum_tmp=4.00, chrom_tmp=6.00)
# Resizing using 10 - bicubic spline
clip = core.fmtc.resample(clip=clip, kernel="spline16", w=720, h=548, interlaced=False, interlacedd=False) # resolution 720x548 before YUV420P8 after YUV420P16
# adjusting output color from: YUV420P16 to YUV420P10 for NVEncModel
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10, range_s="limited", dither_type="error_diffusion")
# set output frame rate to 50fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=50, fpsden=1)
# output
clip.set_output()
encoding worked fine here. (horribly slow due to QTGMC(Input=clip, Preset="Very Slow"), but it worked fine. No clue why you would use 'Very Slow' on such a source)
(adding the experimental cut support with your values, didn't change a thing, encoding worked fine too)
Out of curiosity (I doubt this has anything to do with the crash):
What settings do you enable aside from:
- "Crop/Resize->Base->Picture Crop" (left=12, right=12, top=2, bottom=10)
- "Filtering->(De-)Interlace/Telecine->QTGMC Vapoursynth->Preset->Very Slow"
- "Filtering->Vapoursynth->DeNoise->QQDN3D"
"Spatial luma strength" 2.00
"Temporal luma strength" 4.00
"Spatial chromastrength" 2.00
"Temporal chroma strength" 6.00
are you using for Hybrid to think the output should be 720x576?
For me the:
Code:
# fallback - adjusting from 696x576 to output resolution 720x576
clip = core.resize.Spline64(clip=clip, width=720, height=576) # resolution 720x576)
part in your script does not appear.
For some reason Hybrid on your end does seem to think the output should be 720x576, but I don't see why.
Cu Selur
Ps.: side note about the source filtering: ChromaShiftSP with x=2 and SpotLess with temporal radius 3 and some deblocking and dehaloing should be applied.
Ps.: Really try to disable / uninstall that antivirus software.