This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Crash DVD encoding and Vapoursynth
#1
I try to encode a DVD to mkv and as usual I use vapoursynth and x264, but it crashed when it starts the 1st pass. I don't have this problem when I'm encoding blu-ray.
I haven't applied any filter or crop to the DVD, only mkv tagging for audio and subtitle that I already extracted and converted to srt.

If I try to test the script I receive an error message, but I have the same problem when testing script of blu-ray.

It's a new installation of Hybrid from scratch that I'm using.

Thanks
Reply
#2
Read the sticky, provide proper data.
DVD is tricky since neither Avisynth nor Vapoursynth has proper DVD parsing, so if your source isn't the first title, DGIndex&Co will fail.
Also, Hybrid is not able to process encrypted content. (German laws do not allow any circumvention of encryption, even for private use. Since I live in Germany, I'm bound by those laws and Hybrid will not be able to handle encrypted content.)
Assuming you are allowed to do that using MakeMKV and rewrapping the DVD/BluRay into a mkv before processing with Hybrid should help.

If neither Avisynth nor Vapoursynth are used, Hybrid will use mplayer to handle DVDs and ffmpeg to handle Blu-rays, to know what is happening I need proper details. (first line in my reply)

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#3
It's the first title of the DVD and is already decrypted on my HDD. DGindexNV can parse the files without any problem and also extracting the audio tracks.
Subtitle Workshop extracted the subtitle and then I converted them to .srt.

I add the DebugOutput
Reply
#4
x264
"C:\Audio-video App\Hybrid\64bit\Vapoursynth\vspipe.exe" "D:\DVD\VIDEO_TS\2023-10-15@18_15_17_7210\encodingTempSynthSkript_2023-10-15@18_15_17_7210_0.vpy" - -c y4m | "C:\Audio-video App\Hybrid\64bit\x264.exe" --preset veryfast --pass 1 --bitrate 963 --profile high --direct auto --b-adapt 0 --sync-lookahead 12 --ratetol 2.00 --qcomp 0.50 --rc-lookahead 40 --qpmax 51 --aq-mode 0 --sar 64:45 --qpfile "D:\DVD\VIDEO_TS\2023-10-15@18_15_17_7210\Scusi dov'è il west AC3.ITA.ENG_1_2023-10-15@18_15_17_7210_06.qp" --non-deterministic --range tv --stats "D:\DVD\VIDEO_TS\2023-10-15@18_15_17_7210\Scusi dov'è il west AC3.ITA.ENG_1_2023-10-15@18_15_17_7210_07.stats" --demuxer y4m --input-range tv --fps 25/1 --output-depth 8 --output NUL -
aborts with:
x264 output: y4m [error]: bad sequence header magic
Which usually happens if there is a problem with the Avisynth or Vapoursynth script used.
Looking at the Vapoursynth script used:
# Imports
import vapoursynth as vs
import os
import ctypes
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("C:/Audio-video App/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll")
import sys
# getting Vapoursynth core
core = vs.core
# Import scripts folder
scriptPath = 'C:/Audio-video App/Hybrid/64bit/vsscripts'
sys.path.insert(0, os.path.abspath(scriptPath))
# Loading Plugins
core.std.LoadPlugin(path="C:/Audio-video App/Hybrid/64bit/vsfilters/GrainFilter/RemoveGrain/RemoveGrainVS.dll")
core.std.LoadPlugin(path="C:/Audio-video App/Hybrid/64bit/vsfilters/GrainFilter/AddGrain/AddGrain.dll")
core.std.LoadPlugin(path="C:/Audio-video App/Hybrid/64bit/vsfilters/DenoiseFilter/FFT3DFilter/fft3dfilter.dll")
core.std.LoadPlugin(path="C:/Audio-video App/Hybrid/64bit/vsfilters/DenoiseFilter/DFTTest/DFTTest.dll")
core.std.LoadPlugin(path="C:/Audio-video App/Hybrid/64bit/vsfilters/Support/EEDI3m.dll")
core.std.LoadPlugin(path="C:/Audio-video App/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/vsznedi3.dll")
core.std.LoadPlugin(path="C:/Audio-video App/Hybrid/64bit/vsfilters/Support/libmvtools.dll")
core.std.LoadPlugin(path="C:/Audio-video App/Hybrid/64bit/vsfilters/Support/scenechange.dll")
core.std.LoadPlugin(path="C:/Audio-video App/Hybrid/64bit/vsfilters/Support/fmtconv.dll")
core.std.LoadPlugin(path="C:/Audio-video App/Hybrid/64bit/vsfilters/MiscFilter/MiscFilters/MiscFilters.dll")
core.std.LoadPlugin(path="C:/Audio-video App/Hybrid/64bit/vsfilters/DeinterlaceFilter/Bwdif/Bwdif.dll")
core.std.LoadPlugin(path="C:/Audio-video App/Hybrid/64bit/vsfilters/SourceFilter/d2vSource/DGDecode.dll")
# Import scripts
import havsfunc
# source: 'D:\DVD\VIDEO_TS'
# current color space: YUV420P8, bit depth: 8, resolution: 720x576, fps: 25, color matrix: 709, yuv luminance scale: limited, scanorder: top field first
# Loading D:\DVD\VIDEO_TS\VTS_03_1.VOB using DGDecode
clip = core.dgdecode.MPEG2Source("D:/Jdownloader/[DVD] Scusi, dov e il West_ - EB/Scusi, dov'e il west/VIDEO_TS/2023-10-15@18_15_17_7210/2023-10-15@18_15_17_7210.d2v")# 25 fps, scanorder: top field first
# Setting detected color matrix (709).
clip = core.std.SetFrameProps(clip, _Matrix=1)
# Setting color transfer info (709), when it is not set
clip = clip if not core.text.FrameProps(clip,'_Transfer') else core.std.SetFrameProps(clip, _Transfer=1)
# Setting color primaries info (bt709), when it is not set
clip = clip if not core.text.FrameProps(clip,'_Primaries') else core.std.SetFrameProps(clip, _Primaries=1)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
# making sure frame rate is set to 25
clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1)
clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=2) # tff
# Deinterlacing using QTGMC
clip = havsfunc.QTGMC(Input=clip, Preset="Fast", TFF=True) # new fps: 25
# Making sure content is preceived as frame based
clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=0) # progressive
clip = clip[::2] # selecting previously even frames
# set output frame rate to 25fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1)
# Output
clip.set_output()
I don't see any issue with the script. => Does the Vapoursynth Preview work, or does it show an error?

Quote:DGindexNV can parse the files without any problem and also extracting the audio tracks.
Okay, since you didn't tell Hybrid to use DGDecNV, it is not using it, but normal DGIndex&DGDecode.
You can tell Hybrid to use DGDecNV, by enabling "Filtering->Vapoursynth->Misc->Source->Use DGDeNV when available".

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#5
Quote:I don't see any issue with the script. => Does the Vapoursynth Preview work, or does it show an error?
It doesn't start. This is the error:

Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Failed to initialize VapourSynth environment!
Failed to evaluate the script.

but it did the same also with the previous encode that went fine and so I was not paying attention to it.

I activate DGindexNV and now is crashing at this point.
Reply
#6
Quote:but it did the same also with the previous encode that went fine and so I was not paying attention to it.
Normally, if the Vapoursynth Preview does not work, neither does the encoding if Vapoursynth is used.
=> looking at the debug output at this point is uninteresting until the Vapoursynth Preview works, since it uses the same environment the encode uses. (Assuming Vapoursynth actively gets used.)

Quote:Failed to initialize VapourSynth environment!
Usually happens if something is wrong with the Vapoursynth setup.
A few common things that could cause this:
  • You modified/exchanged/added files in Hybrid.
  • You got a systemwide Vapoursynth install. (This can issue due to autoloading plugins or when the versions Vapoursynth differ. Vapoursynth has no option to disable autoloading.)
  • Some anti-virus software is interfering.

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#7
I just did a brand new Hybrid installation without changing anything and I don't have a syste Vapoursynth installation and I don't understand while the encoding of blu-ray had worked before even with the same error message.

The creation of the dgi index failed when launched from Hybrid but not when manually launched, that is also strange.
Reply
#8
If your source wasn't interlaced, and you didn't use any additional filters, Hybrid will not use Vapoursynth (unless specificly told), so my guess is that your previous encode didn't use Vapoursynth.
To be sure you use the same files I use, I'll compile a new dev version and send you a link via pm (in ~15min).
Make sure to deinstall Hybrid completely, with settings before using this version to make sure no old stuff is interfering.

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#9
In the previous encode I was only using crop, that I don't know if it's a filter or not.
Reply
#10
Just crop (or letterbox or simple resize) can be done without Vapoursynth, thus I bet Vapoursynth wasn't used.

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)