Does the Vapoursynth Preview Work?
Did you install all the filters and scripts for Vapoursynth that you need?
Looking at the debug output again, there is also:
Code:
"/usr/bin/vspipe" "/tmp/encodingTempSynthSkript_2026-02-20@13_10_00_4610_0.vpy" - --outputindex 0 -c y4m | "/usr/bin/x264" --preset slow --tune psnr --crf 20.00 --profile high --level 4.1 --sync-lookahead 9 --no-mbtree --no-psy --aq-mode 0 --vbv-maxrate 62500 --vbv-bufsize 78125 --sar 8:9 --qpfile "/tmp/test_1_2026-02-20@13_10_00_4610_03.qp" --non-deterministic --range tv --colormatrix smpte170m --demuxer y4m --input-range tv --fps 30000/1001 --output-depth 8 --output "/tmp/2026-02-20@13_10_00_4610_04.264" -
with 'y4m [error]: bad sequence header magic' which usually happens if the Vapoursynth setup has some problems or the Vapoursynth script has a bug.
Looking at the Vapoursynth script:
Code:
# Imports
import vapoursynth as vs
# getting Vapoursynth core
import sys
import os
core = vs.core
# Import scripts folder
scriptPath = '/usr/share/hybrid/VapoursynthScriptsInHybrid'
sys.path.insert(0, os.path.abspath(scriptPath))
# Import scripts
import
import validate
# Source: '/home/d/Videos/S1.E3 ∙ Part III Chapter 5.mkv'
# Current color space: YUV420P8, bit depth: 8, resolution: 720x480, frame rate: 29.97fps, scanorder: top field first, yuv luminance scale: limited, matrix: 470bg, transfer: bt.601, primaries: bt.601 ntsc, format: mpeg-2
# Loading /home/d/Videos/S1.E3 ∙ Part III Chapter 5.mkv using LWLibavSource
clip = core.lsmas.LWLibavSource(source="/home/d/Videos/S1.E3 ∙ Part III Chapter 5.mkv", format="YUV420P8", stream_index=0, cache=0, prefer_hw=0)
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_BT601), if it is not set.
if validate.transferIsInvalid(clip):
clip = core.std.SetFrameProps(clip=clip, _Transfer=vs.TRANSFER_BT601)
# 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 29.97fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# 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 = qtgmc.QTGMC(clip, Preset="Fast", TFF=True)# new fps: 29.97
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive
clip = clip[::2] # selecting previously even frames
# set output frame rate to 29.97fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# output
clip.set_output()
itself looks fine to me, but Hybrid relies on all needed Vapoursynth filters&scripts to be installed. (calling the Vapoursynth Preview should show whether there are problems or not,..)
Cu Selur