Posts: 12
Threads: 3
Joined: Oct 2020
Sample file (83MB)
Hi Selur, please grab the above file and try encoding it with any settings at all, no matter what type of output I select, Hybrid just throws this error: "Helper(1) finished with exitCode: -22 and exitStatus: 0" instantly.
The file is the result of some restoration work using Photoshop and I saved the result using the only lossless option I could see in Photoshop - QuickTime .mov Uncompressed. The resulting .mov plays fine in MPC-HC and the avisynth script Hybrid produces for it also plays fine in MPC-HC.
When I got the crash, I used VirtualDub to make an actual .avi from the avisynth script (sample of this avi is what's posted above), which again plays fine in MPC-HC, but Hybrid cannot handle it. Is this because of the Photoshop output format? What about it is incompatible?
P.S I also tried using the avi as input and disabling avisynth in Hybrid, still the same crash.
Posts: 10.565
Threads: 57
Joined: May 2017
10.10.2024, 05:08
(This post was last modified: 10.10.2024, 05:09 by Selur.)
"Helper(1) finished with exitCode: -22 and exitStatus: 0" happens when the decoder fails, without a debug output that is all I can say.
Tried loading the source and processing it with Vapoursynth and Avisynth: no problem
Not using either Avisynth or Vapoursynth, but only Vapoursynth does crash due to a bug int the ffmpeg call.
=> Will look at it after work, either configuring Hybrid to always use Avisynth or Vapoursynth does work fine as a workaround for me.
No clue why, you would get a crash while using Avisynth, since you didn't share enough details (first thing would be a debug output) to reproduce the problem.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 12
Threads: 3
Joined: Oct 2020
Thanks Selur, sorry about the lack of debug log, here it is: DebugLog
Posts: 10.565
Threads: 57
Joined: May 2017
Avisynth uses:
ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\LSMASHSource.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\nnedi3.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\neo-fft3d.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\mvtools2.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\masktools2.dll")
LoadPlugin("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\RgTools.dll")
Import("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\mtmodes.avsi")
Import("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\Zs_RF_Shared.avsi")
Import("C:\Program Files\Hybrid\64bit\Avisynth\avisynthPlugins\QTGMC.avsi")
# loading source: C:\temp\sample.avi
# color sampling RGB24@8, matrix: pc601, scantyp: bottom field first, luminance scale: full
LWLibavVideoSource("C:\temp\sample.avi",cache=false,format="RGB24", prefer_hw=0)
# current resolution: 720x576
# deinterlacing
ConvertToYV24(interlaced=true, matrix="PC.601")
AssumeBFF()
QTGMC(Preset="Very Slow", InputType=0, TR2=0, Sharpness=0.2, SourceMatch=2, Lossless=2, MatchPreset="Very Slow", EZKeepGrain=0.80, NoisePreset="Fast", ediThreads=4)
SelectEven()
# adjust color to YV12 (color matrix: PC.601)
ConvertToYV12()
# setting output fps to 25.000fps
AssumeFPS(25,1)
PreFetch(10)
# output: color sampling YV24@8, matrix: pc601, scantyp: progressive, luminance scale: full
return last
In the script the shown output color sampling is wrong (YV24@8 should be YV12@8) but that only seems to be a local bug, since ffmpeg assumes correctly YV12 when decoding it.
"C:\Program Files\Hybrid\64bit\ffmpeg.exe" -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "C:\Users\User\AppData\Local\Temp\encodingTempSynthSkript_2024-10-10@10_07_20_9710_0.avs" -an -sn -vf scale=out_color_matrix=rec.601 -sws_flags accurate_rnd+full_chroma_inp -pix_fmt yuv420p -vsync 0 -f rawvideo -
not sure where the problem is.
=> looking into it
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 10.565
Threads: 57
Joined: May 2017
10.10.2024, 17:12
(This post was last modified: 10.10.2024, 17:14 by Selur.)
Trying to reproduce the crash I: - Start Hybrid
- Load the file
- Switch under Filtering to Avisynth (no clue why you use Avisynth, but okay)
- Enable 'Filtering->(De-)Interlace/Telecine->Overwrite input scan type to' to 'bottom field first' (took that from your debug output, since the sample does not show any motion, to seeing combing is kind of hard )
- Enable 'Filtering->(De-)Interlace/Telecine->QTGMC Avisynth->Bob'.
- Set 'Filtering->(De-)Interlace/Telecine->QTGMC Avisynth->Preset' to 'Custom'.
- Set 'Filtering->(De-)Interlace/Telecine->QTGMC Avisynth->Custom->Preset' to 'Very Slow'.
- Set 'Filtering->(De-)Interlace/Telecine->QTGMC Avisynth->Custom->EdiThreads' to '4'.
- Enable 'Filtering->(De-)Interlace/Telecine->QTGMC Avisynth->Custom->EZKeepGrain' and set it to '0.80'.
- Set 'Filtering->(De-)Interlace/Telecine->QTGMC Avisynth->Custom->Source matching' to 'refined'.
- Set 'Filtering->(De-)Interlace/Telecine->QTGMC Avisynth->Custom->Lossless' to 'before resharpening'.
- Set 'Filtering->(De-)Interlace/Telecine->QTGMC Avisynth->Custom->Match Preset' to 'Very Slow'.
- Check the Avisynth Preview:
ClearAutoloadDirs()
SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\LSMASHSource.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\nnedi3.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\neo-fft3d.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\mvtools2.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\masktools2.dll")
LoadPlugin("F:\Hybrid\64bit\Avisynth\avisynthPlugins\RgTools.dll")
Import("F:\Hybrid\64bit\Avisynth\avisynthPlugins\mtmodes.avsi")
Import("F:\Hybrid\64bit\Avisynth\avisynthPlugins\Zs_RF_Shared.avsi")
Import("F:\Hybrid\64bit\Avisynth\avisynthPlugins\QTGMC.avsi")
# loading source: C:\Users\Selur\Desktop\uncompressed_sample.avi
# color sampling RGB24@8, matrix: pc601, scantyp: bottom field first, luminance scale: full
LWLibavVideoSource("C:\Users\Selur\Desktop\uncompressed_sample.avi",cache=false,format="RGB24", prefer_hw=0)
# current resolution: 720x576
# deinterlacing
ConvertToYV24(interlaced=true, matrix="PC.601")
AssumeBFF()
QTGMC(Preset="Very Slow", InputType=0, TR2=2, SourceMatch=2, Lossless=2, MatchPreset="Very Slow", EZKeepGrain=0.80, NoisePreset="Fast", ediThreads=4)
# Converting from 8 to 10bit for encoder
ConvertBits(10)
# adjust color to YV12 (color matrix: PC.601)
ConvertToYUV420()
# setting output fps to 50.000fps
AssumeFPS(50,1)
PreFetch(16)
# output: color sampling YV12@10, matrix: pc601, scantyp: progressive, luminance scale: full
return last
My Avisynth script is basically the same as yours. (with adjusted paths)
- Set 'x264->Base->Encoding mode' to 'constant rate factor (1-pass)'.
Can't use 2-pass, like you did, since the sample is to short for that, but since the decoder/helper crashed for you that should not matter.
- Set and output file, create and create a new job.
- Disable 'Jobs->Queue->Minimize job command line' to see the calls.
- Check the call video call:
ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "J:\tmp\2024-10-10@17_02_04_9110\encodingTempSynthSkript_2024-10-10@17_02_04_9110_0.avs" -an -sn -vf scale=out_color_matrix=bt601 -sws_flags accurate_rnd+full_chroma_inp -pix_fmt yuv420p -fps_mode passthrough -f rawvideo - | x264 --preset veryfast --crf 18.00 --profile high --level 5.1 --ref 3 --direct auto --b-adapt 0 --sync-lookahead 15 --qcomp 0.50 --rc-lookahead 40 --qpmax 51 --partitions i4x4,p8x8,b8x8 --no-fast-pskip --subme 5 --aq-mode 0 --vbv-maxrate 300000 --vbv-bufsize 300000 --sar 1:1 --non-deterministic --range pc --colormatrix smpte170m --demuxer raw --input-res 720x576 --input-csp i420 --input-range pc --input-depth 8 --fps 50/1 --output-depth 8 --output "J:\tmp\2024-10-10@17_02_04_9110\2024-10-10@17_02_04_9110_02.264" -
The decoding part is the same as yours (aside from the paths) and the name of the color matrix, I assume this is the problem.
Encoding works fine here.
Can't reproduce the problem here.
I uploaded the current dev I used for testing to the 'experimental'-folder in my GoogleDrive which is linked on the download page.
=> Please try whether that dev version fixes the problem for you too.
In case it does not:
Does the Avisynth Preview work for you? If not: What cpu are you using? Also, please create another debugoutput of you opening the Avisynth Preview.
If the Avisynth Preview does work: Please create another debug output with the dev version.
Cu Selur
Ps.: Unless you write your own Avisynth scripts or custom parts in Hybrid, I would recommend sticking with Vapoursynth instead of Avisynth.
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 10.565
Threads: 57
Joined: May 2017
10.10.2024, 20:13
(This post was last modified: 10.10.2024, 20:13 by Selur.)
Updated the dev version again, now it should work with raw, even when not using Avisynth or Vapoursynth.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Posts: 12
Threads: 3
Joined: Oct 2020
Thank you Selur for your help with this, your time is greatly appreciated. I've installed the Dev version and everything works fine now, whether I use avisynth/vapoursynth or neither - great work, thanks!
|