05.04.2020, 15:41
That one worked:
Looking at the audio extraction call:
Audio should get cut.
The Vapoursynth script:
Looks fine.
BUT,...
Hybrid doesn't support cutting when Vapoursynth is used atm.
-> I'll look whether I can add a quick 'hack' for this.
Cu Selur
Looking at the audio extraction call:
"C:\PROGRA~1\Hybrid\64bit\ffmpeg.exe" -y -threads 8 -i "C:\Users\kevin\Desktop\VHS project\FINALLY CAPTURING FOLDER\Input files\Friends final setup RAW.avi" -map 0:1 -vn -sn -ss 00:01:00.000 -t 00:19:00.000 -ac 2 -ar 48000 -acodec pcm_s16le -f wav -map_metadata -1 -metadata encoding_tool="Hybrid 2020.02.19.1" "C:\Users\kevin\AppData\Local\Temp\iId_1_aid_0_DELAY_-43ms_13_21_42_4010_01.wav"
The Vapoursynth script:
# 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
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/DenoiseFilter/CTMF/CTMF.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/VagueDenoiser/VagueDenoiser.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/FluxSmooth/libfluxsmooth.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/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/FFMS2/ffms2.dll")
# Import scripts
import mvsfunc
import havsfunc
# Loading source using FFMS2
clip = core.ffms2.Source(source="C:/Users/kevin/Desktop/VHSPRO~1/FINALL~1/INPUTF~1/FRIEND~1.AVI",cachefile="C:/Users/kevin/AppData/Local/Temp/13_21_42_4010.ffindex",format=vs.YUV422P8,alpha=False)
# making sure input color matrix is set as 470bg
clip = core.resize.Point(clip, matrix_in_s="470bg",range_s="limited")
# making sure frame rate is set to 25
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)
# cutting from 1500 with 30000 frames - WARNING: This might cause synch issues
clip = core.std.Trim(clip=clip, first=1500, length=28500)
# 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="Faster", TFF=True, InputType=0, TR2=0, Sharpness=1.0, SourceMatch=3, Lossless=2)
# make sure content is preceived as frame based
clip = core.std.SetFieldBased(clip, 0)
clip = clip[::2]
# cropping the video to 692x548
clip = core.std.CropRel(clip=clip, left=14, right=14, top=14, bottom=14)
# removing grain using STPresso
clip = havsfunc.STPresso(clp=clip)
# denoising using VagueDenoiser
clip = core.vd.VagueDenoiser(clip=clip, threshold=5.00, nsteps=6)
# deringing using HQDeringmod
clip = havsfunc.HQDeringmod(clip, nrmode=2, darkthr=3.0)
# letterboxing to 720x576
# Letterbox
clip = core.std.AddBorders(clip=clip, left=14, right=14, top=14, bottom=14)
# adjusting output color from: YUV422P8 to YUV420P8 for x264Model (i420)
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P8, range_s="limited")
# Output
clip.set_output()
BUT,...
Hybrid doesn't support cutting when Vapoursynth is used atm.
-> I'll look whether I can add a quick 'hack' for this.
Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.