Quote:Seltsam finde ich, dass anscheinend ausIst normal, ob der raw oder der y4m Demuxer verwendet wird hängt vom Decoder ab, der Anfangs noch nicht bekannt ist.
Folgendes wird:--demuxer raw
wobei zwischen y4m und --input-range zwei Leerzeichen sind.--demuxer y4m
Quote:Aber bei den Dateien, die keine Probleme machen passiert dieser Austausch nicht.Hängt wie gesagt vom Decoder ab.
Quote:Auch wenn ich an den x264-Komprimierungseinstellungen herumspiele, bleibt das Problem im Wesentlichen genau so bestehen.Das Problem sind vermutlich auch nicht der Encoder sondern der Decoder oder das Filtering.
Quote:Wenn ich die HybridDebugOutput.txt ungezippt über die Funktion des Forums als Attachment hinzufügen will, schlägt dies fehl. Welchem Speicherbedarf "HybridDebugOutput.txt Kilobyte" entsprechen weiß ich leider nichtKann ich nichts für, liegt an der Forensoftware. Keine Ahnung ob ich mal Zeit finde mich in den entsprechenden PHP code einzulesen und da eine Änderung vorzunehmen.
Zum Problem:
Wenn ich mir den DebugOutput anschaue sieht eigentlich alles okay aus:
1. Video wird mit Vapoursynth gefiltert
# Imports
import os
import sys
import ctypes
Dllref = ctypes.windll.LoadLibrary("C:/Program Files/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll")
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("C:/Program Files/Hybrid/64bit/vsfilters/Support/OpenCL.dll")
import vapoursynth as vs
core = vs.get_core()
# Import scripts folder
scriptPath = 'C:/Program Files/Hybrid/64bit/vsscripts'
sys.path.append(os.path.abspath(scriptPath))
# Loading Plugins
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/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/SourceFilter/LSmashSource/vslsmashsource.dll")
# Import scripts
import havsfunc
# Loading G:\TestFilm.mkv using LWLibavSource
clip = core.lsmas.LWLibavSource(source="G:/TestFilm.mkv", format="YUV420P8", cache=0)
# making sure input color matrix is set as unspec
clip = core.resize.Point(clip, matrix_in_s="unspec",range_s="limited")
# making sure frame rate is set to 25/1
clip = core.std.AssumeFPS(clip, fpsnum=25, fpsden=1)
# 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
clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=2)
# Deinterlacing using QTGMC
clip = havsfunc.QTGMC(Input=clip, Preset="Fast", TFF=True)
clip = clip[::2]
# Output
clip.set_output()
"C:\PROGRA~1\Hybrid\64bit\VAPOUR~1\vspipe.exe" "G:\TestTemp\encodingTempSynthSkript_20_06_16_1310.vpy" - --y4m
"C:\PROGRA~1\Hybrid\64bit\x264.exe" --preset superfast --pass 1 --bitrate 1500 --profile high --level 4.1 --direct auto --qcomp 0.5 --rc-lookahead 40 --aq-mode 0 --sar 16:15 --non-deterministic --range tv --stats "G:\TestTemp\TestFilm_20_06_16_1310_02.stats" --demuxer y4m --input-range tv --fps 25/1 --output-depth 8 --output NUL -
"C:\PROGRA~1\Hybrid\64bit\VAPOUR~1\vspipe.exe" "G:\TestTemp\encodingTempSynthSkript_20_06_16_1310.vpy" - --y4m | "C:\PROGRA~1\Hybrid\64bit\x264.exe" --preset superfast --pass 1 --bitrate 1500 --profile high --level 4.1 --direct auto --qcomp 0.5 --rc-lookahead 40 --aq-mode 0 --sar 16:15 --non-deterministic --range tv --stats "G:\TestTemp\TestFilm_20_06_16_1310_02.stats" --demuxer y4m --input-range tv --fps 25/1 --output-depth 8 --output NUL -
Problem ist nur, dass der VsPipe-Aufruf bei Dir fehlzuschlagen scheint.
Wenn ich das Versuche hier nachzustellen wird bei mir auch:
vspipe "E:\Temp\encodingTempSynthSkript_05_08_09_2010.vpy" - --y4m | x264 --preset superfast --pass 1 --bitrate 1500 --profile high --level 4.1 --direct auto --sync-lookahead 27 --qcomp 0.5 --rc-lookahead 40 --aq-mode 0 --sar 16:15 --non-deterministic --range tv --stats "E:\Temp\TestFilm_05_08_09_2010_02.stats" --demuxer y4m --input-range tv --fps 25/1 --output-depth 8 --output NUL -
# Imports
import os
import sys
import ctypes
Dllref = ctypes.windll.LoadLibrary("I:/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll")
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("I:/Hybrid/64bit/vsfilters/Support/OpenCL.dll")
import vapoursynth as vs
core = vs.get_core()
# Import scripts folder
scriptPath = 'I:/Hybrid/64bit/vsscripts'
sys.path.append(os.path.abspath(scriptPath))
# Loading Plugins
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/GrainFilter/AddGrain/AddGrain.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/DenoiseFilter/FFT3DFilter/fft3dfilter.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/DenoiseFilter/DFTTest/DFTTest.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/EEDI3.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/vsznedi3.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/libmvtools.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/temporalsoften.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/scenechange.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/Support/fmtconv.dll")
core.std.LoadPlugin(path="I:/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
# Import scripts
import havsfunc
# Loading C:\Users\Selur\Desktop\TestFilm.mkv using LWLibavSource
clip = core.lsmas.LWLibavSource(source="C:/Users/Selur/Desktop/TestFilm.mkv", format="YUV420P8", cache=0)
# making sure input color matrix is set as unspec
clip = core.resize.Point(clip, matrix_in_s="unspec",range_s="limited")
# making sure frame rate is set to 25/1
clip = core.std.AssumeFPS(clip, fpsnum=25, fpsden=1)
# 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
clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=2)
# Deinterlacing using QTGMC
clip = havsfunc.QTGMC(Input=clip, Preset="Fast", TFF=True)
clip = clip[::2]
# Output
clip.set_output()
y4m [error]: bad sequence header magic
process finished with exitcode: -1 and exitStatue: 0
finished after 00:00:00.199 with exitCode -1
Crashed with exit status 0
Da es bei mir ohne Probleme läuft vermute ich aktuell, dass es entweder ein generelles Problem mit Vapoursynth auf dem System gibt was Du verwendest, da irgendetwas dazwischen funkt (Virenscanner&Co) oder ein anderer Decoder verwendet werden muss.
Würde empfehlen:
1. Teste ob der 'Vapoursynth Preview' (Filtering, rechts unten unter der 'Support'-Auswahl), falls der Vapoursynth Preview geht liegt es schon mal nicht am Decoder und am Vapoursynth Setup. Falls er nicht klappt sollte im 'Vapoursynth Preview'-Fenster ein Fehler auftauchen, der mir helfen sollte das Problem zu beheben.
2. Falls der 'Vapoursynth Preview' ohne Probleme klappt, ruf mal bitte:
"C:\PROGRA~1\Hybrid\64bit\VAPOUR~1\vspipe.exe" "G:\TestTemp\encodingTempSynthSkript_20_06_16_1310.vpy" - --y4m | "C:\PROGRA~1\Hybrid\64bit\x264.exe" --preset superfast --pass 1 --bitrate 1500 --profile high --level 4.1 --direct auto --qcomp 0.5 --rc-lookahead 40 --aq-mode 0 --sar 16:15 --non-deterministic --range tv --stats "G:\TestTemp\TestFilm_20_06_16_1310_02.stats" --demuxer y4m --input-range tv --fps 25/1 --output-depth 8 --output NUL -
Cu Selur
Ps.: Fällt mir ein, das Problem könnte an der ff3dfilter.dll liegen, siehe: https://forum.selur.net/showthread.php?tid=732 (Das Ersetzen der .dll durch die von mir hochgeladene .dll sollte das Problem dann beheben.)