Selur's Little Message Board

Full Version: can't encode but displays finished
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
i want to encode a file, it displays added when run encode button, but the state displays finished. can't encode
Seems like you accidentally misconfigured your settings and used 'specific filesize/bitrage (2pass - 2nd pass)' when you should have used 'specific filesize/bitrage (2pass)' as encoding mode.
According to the debug output you created a job where only the 2nd pass of a 2pass encoding is included.
Hybrid allows this, but it can't start the encoding since the stats file
Code:
--stats "C:\Users\x\AppData\Local\Temp\fix.stats"
that was specified doesn't exist.
-> doesn't look like a problem of Hybrid, but a mistake on your end.

Cu Selur
you mean i should not use 'specific filesize/bitrage (2pass - 2nd pass)' , i should have use 'specific filesize/bitrage (2pass)' instead?

but i using 'specific filesize/bitrage (2pass)' get the same result, can't encode.



i close hybrid, then restart, and clear all jobs before, then encode, this time can works.
Quote:you mean i should not use 'specific filesize/bitrage (2pass - 2nd pass)' , i should have use 'specific filesize/bitrage (2pass)' instead?
Unless you know what you are doing (which does not seem to be the case): Yes

Quote:but i using 'specific filesize/bitrage (2pass)' get the same result, can't encode.
Can't reproduce that here.
So:
  • clear your job queue
  • delete any old debug output file
  • use 'specific filesize/bitrage (2pass)'
  • enable the debug output
  • create the job
  • rename, zip and attach the debug output
  • start the job processing
  • in case it gets stuck zip and attach the 2nd debug output too

Cu Selur
thank you, and i also want to know, this clip is 29.97fps, if i want to encode it to a 25fps, how to?
try to tweak frames then encode get crashed, new
According to the debug output there is a problem with decoding the Vapoursynth script.

The script itself:
Code:
# Imports
import os
import sys
import ctypes
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("C:/Program Files/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll")
import vapoursynth as vs
# 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/NEO_FFT3DFilter/neo-fft3d.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/EEDI3.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/temporalsoften.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/SourceFilter/LSmashSource/vslsmashsource.dll")
# Import scripts
import havsfunc
# source: 'D:\L\权力的游戏 iso\fix.264'
# current color space: YUV420P8, bit depth: 8, resolution: 1920x1080, fps: 29.97, color matrix: 709, yuv luminance scale: limited, scanorder: top field first
# Loading D:\L\权力的游戏 iso\fix.264 using LWLibavSource
clip = core.lsmas.LWLibavSource(source="D:/L/权力的游戏 iso/fix.264", format="YUV420P8", cache=0, fpsnum=30000, fpsden=1001, prefer_hw=0)
# making sure input color matrix is set as 709
clip = core.resize.Bicubic(clip, matrix_in_s="709",range_s="limited")
# making sure frame rate is set to 29.970
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
# 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]
# DEBUG: VsQTGMC changed scanorder to: progressive
# set output frame rate to 29.970fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# Output
clip.set_output()
and the encoding call used:
Code:
"C:\Program Files\Hybrid\64bit\Vapoursynth\vspipe.exe" "C:\Users\x\AppData\Local\Temp\encodingTempSynthSkript_2021-12-04@02_58_50_1110.vpy" - --y4m | "C:\Program Files\Hybrid\64bit\x264.exe" --preset veryfast --pass 1 --slow-firstpass --bitrate 22000 --profile high --level 4.1 --ref 3 --direct auto --b-adapt 0 --sync-lookahead 66 --qcomp 0.50 --rc-lookahead 40 --qpmax 51 --partitions i4x4,p8x8,b8x8 --no-fast-pskip --subme 5 --aq-mode 0 --sar 1:1 --non-deterministic --range tv --stats "C:\Users\x\AppData\Local\Temp\fix_2021-12-04@02_58_50_1110_02.stats" --demuxer y4m  --input-range tv --fps 30000/1001 --output-depth 8 --output "C:\Users\x\AppData\Local\Temp\fix.264" -
both look fine on first glance, but the first part of the encoding call has problems decoding the script.

This is usually happens when:
  • The source filter has a problem with the source, then switching the source filter might help.
  • The source is buggy, in some way. Then you are out of luck.
  • The script requires more ram than your system has.
  • Something filter that is used in the script doesn't properly work on you system.
  • Some problem with the setup, in example a messed up Vapoursynth folder. -> deinstall Hybrid and install it a new.
  • Some other tool is interfering with the encoding.
  • System is instable.
-> Check the Vapoursynth Preview to see whether it works.
If it does not it should show an error.
In case it does not show an error also call the encoding call inside a Windows Command Prompt to see whether there is another error shown that Hybrid doesn't log.

Cu Selur
# Imports
import os
import sys
import ctypes
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("C:/Program Files/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll")
import vapoursynth as vs
# 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/NEO_FFT3DFilter/neo-fft3d.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/EEDI3.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/temporalsoften.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/SourceFilter/LSmashSource/vslsmashsource.dll")
# Import scripts
import havsfunc
# source: 'D:\L\权力的游戏 iso\fix.264'
# current color space: YUV420P8, bit depth: 8, resolution: 1920x1080, fps: 29.97, color matrix: 709, yuv luminance scale: limited, scanorder: top field first
# Loading D:\L\权力的游戏 iso\fix.264 using LWLibavSource
clip = core.lsmas.LWLibavSource(source="D:/L/权力的游戏 iso/fix.264", format="YUV420P8", cache=0, fpsnum=30000, fpsden=1001, prefer_hw=0)
# making sure input color matrix is set as 709
clip = core.resize.Bicubic(clip, matrix_in_s="709",range_s="limited")
# making sure frame rate is set to 29.970
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# Setting color range to TV (limited) range.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
# 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="Fast", TFF=True) # new fps: 29.97
# make sure content is preceived as frame based
clip = core.std.SetFieldBased(clip, 0)
clip = clip[::2]
# DEBUG: VsQTGMC changed scanorder to: progressive
# set output frame rate to 29.970fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# Output
clip.set_output()




2021-12-05 02:00:03.443
Failed to evaluate the script:
Python exception: Filter LWLibavSource returned zero or negative frame count

Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 2832, in vapoursynth._vpy_evaluate
File "src\cython\vapoursynth.pyx", line 2833, in vapoursynth._vpy_evaluate
File "C:\Users\x\AppData\Local\Temp\tempPreviewVapoursynthFile02_00_01_214.vpy", line 31, in
clip = core.lsmas.LWLibavSource(source="D:/L/权力的游戏 iso/fix.264", format="YUV420P8", cache=0, fpsnum=30000, fpsden=1001, prefer_hw=0)
File "src\cython\vapoursynth.pyx", line 2580, in vapoursynth.Function.__call__
vapoursynth.Error: Filter LWLibavSource returned zero or negative frame count

2021-12-05 02:00:03.445
Core freed but 3113600 bytes still allocated in framebuffers
Core freed but 3113600 bytes still allocated in framebuffers
Quote:vapoursynth.Error: Filter LWLibavSource returned zero or negative frame count
-> LWLibavSource can't handle your source clip.
Since it works fine here, it highly likely there is something wrong with the clip.

Also try:
a. (if you have an NVIDIA graphic card) enabling "Filtering->Vapoursynth->Source->Use DGDecNV when available" and see whether the preview works
b. disabling "Filtering->Vapoursynth->Source->PRefer LWLibAVSource over FFMpegSource2
If both do not work then the cause probably is your source video.

Cu Selur
yes, tried, a and b both works, can see preview now, and can encode.

(04.12.2021, 22:30)ssdde Wrote: [ -> ]yes, tried, a and b both works, can see preview now, and can encode.

but i using mvtoolfps  filter set fps to 25, the encoded clip is still 29.97fps
Pages: 1 2