Posts: 13
Threads: 1
Joined: Mar 2023
Hi! i'm trying to deinterlace a dvd made in makemkv because my external video player was having a hard time playing the file [It has a hard time deinterlacing content.] So i wanted to try out this program
The steps I had taken are as follows:
1. open hybrid
2. drop my file into the first text box of the opening window under the base tab
3. make sure audio processing is at passthrough all
4. change default container to mkv
5. set output to the videos folder
6. Go into x264 tab change bitrate to 10000
7 go into filtering click deinterlace/telecine make sure QTGMC (Vapoursynth) is selected
8. change preset under deinterlace to placebo
9. click the man shoveling
the process stops after the second step. with Exitcode -1 and exit status 0
The program I am currently using is 2023.01.22.1
Posts: 10.976
Threads: 56
Joined: May 2017
According to the debug output the encoding fails when calling:
"C:\Program Files\Hybrid\64bit\Vapoursynth\vspipe.exe" "C:\Users\Tiger\AppData\Local\Temp\encodingTempSynthSkript_2023-03-06@18_51_57_6110_0.vpy" - -c y4m | "C:\Program Files\Hybrid\64bit\x264.exe" --preset veryfast --pass 1 --bitrate 10000 --profile high --level 4.1 --direct auto --b-adapt 0 --sync-lookahead 6 --qcomp 0.50 --rc-lookahead 40 --qpmax 51 --aq-mode 0 --sar 32:27 --non-deterministic --range tv --stats "C:\Users\Tiger\AppData\Local\Temp\Knick Knack [Deinterlaced]_2023-03-06@18_51_57_6110_04.stats" --demuxer y4m --input-range tv --fps 30000/1001 --output-depth 8 --output NUL -
with:
y4m [error]: bad sequence header magic
x264 [error]: could not open input file `-'
which usually happens if there's an issue with the Vapoursynth script.
Looking at the script:
# Imports
import vapoursynth as vs
import os
import ctypes
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("C:/Program Files/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll")
import sys
# getting Vapoursynth core
core = vs.core
# Import scripts folder
scriptPath = 'C:/Program Files/Hybrid/64bit/vsscripts'
sys.path.insert(0, os.path.abspath(scriptPath))
# Loading Plugins
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/FFT3DFilter/fft3dfilter.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/Support/EEDI3m.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/vsznedi3.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/LSmashSource/vslsmashsource.dll")
# Import scripts
import havsfunc
# source: 'C:\Users\Tiger\Desktop\Knick Knack.mkv'
# current color space: YUV420P8, bit depth: 8, resolution: 720x480, fps: 29.97, color matrix: 470bg, yuv luminance scale: limited, scanorder: top field first
# Loading C:\Users\Tiger\Desktop\Knick Knack.mkv using LWLibavSource
clip = core.lsmas.LWLibavSource(source="C:/Users/Tiger/Desktop/Knick Knack.mkv", format="YUV420P8", stream_index=0, cache=0, prefer_hw=0)
# Setting detected color matrix (470bg).
clip = core.std.SetFrameProps(clip, _Matrix=5)
# Setting color transfer info, when it is not set
clip = clip if not core.text.FrameProps(clip,'_Transfer') else core.std.SetFrameProps(clip, _Transfer=5)
# Setting color primaries info, when it is not set
clip = clip if not core.text.FrameProps(clip,'_Primaries') else core.std.SetFrameProps(clip, _Primaries=5)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
# making sure frame rate is set to 29.97
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=2)
# setting field order to what QTGMC should assume (top field first)
clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=2)
# Deinterlacing using QTGMC
clip = havsfunc.QTGMC(Input=clip, Preset="Placebo", TFF=True) # new fps: 29.97
# make sure content is preceived as frame based
clip = core.std.SetFieldBased(clip, 0)
clip = clip[::2]
# set output frame rate to 29.97fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# Output
clip.set_output()
the script looks fine.
Assuming there is no system wide Vapoursynth installation this should work. (Hybrid comes with a portable version)
Does the Vapoursynth Preview work properly, or does it show an error message?
As a side note: Your source is probably not interlaced but either telecined or soft-telecined.
Cu Selur
Posts: 13
Threads: 1
Joined: Mar 2023
(07.03.2023, 18:04)Selur Wrote: the script looks fine.
Assuming there is no system wide Vapoursynth installation this should work. (Hybrid comes with a portable version)
Does the Vapoursynth Preview work properly, or does it show an error message?
As a side note: Your source is probably not interlaced but either telecined or soft-telecined.
Cu Selur
I don't recall installing Vapoursynth... Could FFMPEG interfere with this program?
Edit: Sorry i clicked on the preview and nothing happened. the only thing that shows up is the spinning thing next to the cursor but nothing happens after that.
Edit 2: I think the source may indeed be telecine. No clue which kind I have but i changed the auto deinterlacing handling to TIVTC (Vapoursynth) and the preview now works
Posts: 10.976
Threads: 56
Joined: May 2017
07.03.2023, 20:13
(This post was last modified: 07.03.2023, 20:18 by Selur.)
Can you share a debug output where you try to open the Vapoursynth Preview?
Cu Selur
Ps.: Also send you a link to my current dev version to see whether the issue is fixed there.
Posts: 13
Threads: 1
Joined: Mar 2023
(07.03.2023, 20:13)Selur Wrote: Can you share a debug output where you try to open the Vapoursynth Preview?
Cu Selur
Ps.: Also send you a link to my current dev version to see whether the issue is fixed there.
Heres the output.
Posts: 10.976
Threads: 56
Joined: May 2017
That is a debug output of the processing of the job queue not 'a debug output where you try to open the Vapoursynth Preview',...
Cu Selur
Posts: 13
Threads: 1
Joined: Mar 2023
(07.03.2023, 21:48)Selur Wrote: That is a debug output of the processing of the job queue not 'a debug output where you try to open the Vapoursynth Preview',...
Cu Selur
I legit just made sure create debug file was checked. as per https://forum.selur.net/thread-3.html ...
I don't know where one would find a debug output because it isn't logged in the HybridDebugOutput... there is legit 2 boxes here one that says create report file which is unchecked and the create debug file which is.
Posts: 10.976
Threads: 56
Joined: May 2017
Okay, do the following:
0. delete any old debug output files
1. load source
2. configure Hybrid
3. set output file
4. enable debug output file creation
5. try to open Vapoursynth Preview
-> zip created HybridDebugOutput.txt and attach it to your next post
Cu Selur
Posts: 13
Threads: 1
Joined: Mar 2023
(07.03.2023, 22:00)Selur Wrote: Okay, do the following:
0. delete any old debug output files
1. load source
2. configure Hybrid
3. set output file
4. enable debug output file creation
5. try to open Vapoursynth Preview
-> zip created HybridDebugOutput.txt and attach it to your next post
Cu Selur
I accidently came across something Fast preset works as shown in the log. Placebo however seems to break the preview... anyway here is that log
Posts: 10.976
Threads: 56
Joined: May 2017
07.03.2023, 22:22
(This post was last modified: 07.03.2023, 22:33 by Selur.)
Okay, sadly the debug output doesn't really help, it just shows that the viewer is directly closing.
So my guess is that one of the filters is having issues with your system.
Comparing the used filters when using 'Placebo' and 'Fast':
Placebo:
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/FFT3DFilter/fft3dfilter.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/Support/EEDI3m.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/vsznedi3.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/LSmashSource/vslsmashsource.dll")
Fast:
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/FFT3DFilter/fft3dfilter.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/Support/EEDI3m.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/vsznedi3.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/LSmashSource/vslsmashsource.dll")
both use the same filters. :/
But I still suspect that the issue is EEDI3m, does it work if you replace the EEDI3m.dll with EEDI3-r4_non-OpenCL.7z from https://github.com/HomeOfVapourSynthEvol...ses/tag/r4 ? (I suspect it's an OpenCL issue.)
-> no, that should already be the non-opencl version. :/
What CPU are you using?
Also if you open vsViewer through Tools->vsViewer, clear the existing script, enter:
# Imports
import vapoursynth as vs
import os
import ctypes
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("C:/Program Files/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll")
import sys
# getting Vapoursynth core
core = vs.core
# Import scripts folder
scriptPath = 'C:/Program Files/Hybrid/64bit/vsscripts'
sys.path.insert(0, os.path.abspath(scriptPath))
# Loading Plugins
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/FFT3DFilter/fft3dfilter.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/Support/EEDI3m.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/vsznedi3.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/LSmashSource/vslsmashsource.dll")
# Import scripts
import havsfunc
# source: 'C:\Users\Tiger\Desktop\Knick Knack.mkv'
# current color space: YUV420P8, bit depth: 8, resolution: 720x480, fps: 29.97, color matrix: 470bg, yuv luminance scale: limited, scanorder: top field first
# Loading C:\Users\Tiger\Desktop\Knick Knack.mkv using LWLibavSource
clip = core.lsmas.LWLibavSource(source="C:/Users/Tiger/Desktop/Knick Knack.mkv", format="YUV420P8", stream_index=0, cache=0, prefer_hw=0)
# Setting detected color matrix (470bg).
clip = core.std.SetFrameProps(clip, _Matrix=5)
# Setting color transfer info, when it is not set
clip = clip if not core.text.FrameProps(clip,'_Transfer') else core.std.SetFrameProps(clip, _Transfer=5)
# Setting color primaries info, when it is not set
clip = clip if not core.text.FrameProps(clip,'_Primaries') else core.std.SetFrameProps(clip, _Primaries=5)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
# making sure frame rate is set to 29.97
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=2)
# setting field order to what QTGMC should assume (top field first)
clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=2)
# Deinterlacing using QTGMC
clip = havsfunc.QTGMC(Input=clip, Preset="Placebo", TFF=True) # new fps: 29.97
# make sure content is preceived as frame based
clip = core.std.SetFieldBased(clip, 0)
clip = clip[::2]
# set output frame rate to 29.97fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# Output
clip.set_output()
and then hit F5 does it work? Does vsViewer simply close or show an error?
Cu Selur
|