When I reencode the content the output passing through the HDR and VUI data as in call above, the reencode is properly displayed as HDR using MPC-HC ('passhtrough HDR to display' in madVR). This is probably the cause, why I didn't notice the difference.
Still transfer should be signaled too, which causing the difference in MediaInfos output.
This will happen with everything you encode with NVEnc to HDR.It is btw. also on other sources from (for example) a natural documentary in 4k hdr. Same behaviour
+ Reply to Thread
Results 2,221 to 2,250 of 2356
-
users currently on my ignore list: deadrats, Stears555, marcorocchini
-
Ok, when you say it happens always with Nvenc, i testet it also with x265 and it does happen too there.
When i use this setting:Code:x265 --input - --fps 24000/1001 --output-depth 10 --y4m --profile main10 --limit-modes --no-early-skip --no-open-gop --opt-ref-list-length-pps --lookahead-slices 0 --crf 18.00 --opt-qp-pps --cbqpoffs -2 --crqpoffs -2 --qpfile GENERATED_QP_FILE --limit-refs 0 --ssim-rd --psy-rd 2.50 --rdoq-level 2 --psy-rdoq 10.00 --aq-mode 0 --deblock=-1:-1 --limit-sao --range limited --colormatrix bt2020nc --master-display "G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1)" --hdr10 --sar 1:1 --output "C:\Users\Gaming-Tower\AppData\Local\Temp\König-Der-Löwen_25sec_new_new.265"
Code:x265 --input - --fps 24000/1001 --output-depth 10 --y4m --profile main10 --limit-modes --no-early-skip --no-open-gop --opt-ref-list-length-pps --lookahead-slices 0 --crf 18.00 --opt-qp-pps --cbqpoffs -2 --crqpoffs -2 --qpfile GENERATED_QP_FILE --limit-refs 0 --ssim-rd --psy-rd 2.50 --rdoq-level 2 --psy-rdoq 10.00 --aq-mode 0 --deblock=-1:-1 --limit-sao --range limited --transfer smpte2084 --colormatrix bt2020nc --master-display "G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1)" --hdr10 --sar 1:1 --output "C:\Users\Gaming-Tower\AppData\Local\Temp\König-Der-Löwen_25sec_new_new.265"
-
DOH,
Code:ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "C:\Users\Selur\Desktop\Konig-Der-Lowen_10sec_edit.mkv" -map 0:0 -an -sn -color_primaries bt2020 -color_trc smpte2084 -colorspace bt2020c -color_range tv -pix_fmt yuv420p10le -strict -1 -vsync 0 -f yuv4mpegpipe - | NVEnc --y4m -i - --fps 23.976 --codec h265 --profile main --level auto --tier high --sar 1:1 --lookahead 16 --output-depth 10 --vbr 0 --vbr-quality 23.00 --aq --aq-strength 5 --aq-temporal --gop-len 0 --ref 7 --multiref-l0 3 --multiref-l1 3 --bframes 3 --bref-mode auto --mv-precision Q-pel --preset quality --colorrange limited --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --max-cll ,1000 --master-display G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1) --cuda-schedule sync --output "J:\tmp\nvenc_1_2024-02-29@18_11_53_2110_01.265"
Code:Video ID : 1 Format : HEVC Format/Info : High Efficiency Video Coding Format profile : Main 10@L6@High HDR format : SMPTE ST 2086, HDR10 compatible Codec ID : hvc1 Codec ID/Info : High Efficiency Video Coding Duration : 20 s 187 ms Bit rate : 14.3 Mb/s Maximum bit rate : 22.3 Mb/s Width : 3 840 pixels Height : 2 160 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 23.976 (24000/1001) FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 10 bits Bits/(Pixel*Frame) : 0.072 Stream size : 34.4 MiB (100%) Encoded date : 2024-02-29 17:12:35 UTC Tagged date : 2024-02-29 17:12:36 UTC Color range : Limited Color primaries : BT.2020 Transfer characteristics : PQ Matrix coefficients : BT.2020 non-constant Mastering display color primaries : Display P3 Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2 mdhd_Duration : 20270 Codec configuration box : hvcC
Code:--colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc
users currently on my ignore list: deadrats, Stears555, marcorocchini -
Ahh thanks, now it works. But it works with NVEnc too now:
Code:NVEnc --y4m -i - --fps 23.976 --codec h265 --profile main10 --level auto --tier high --sar 1:1 --lookahead 16 --output-depth 10 --multipass "2pass-full" --vbr 5000 --max-bitrate 800000 --gop-len 0 --ref 3 --bframes 3 --bref-mode auto --no-b-adapt --mv-precision Q-pel --preset default --colorrange limited --colorprim bt2020 --transfer smpte2084 --colormatrix bt2020nc --master-display G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1) --cuda-schedule sync --keyfile GENERATED_KEY_FILE --output "C:\Users\Gaming-Tower\AppData\Local\Temp\König-Der-Löwen_10sec_edit_new.265"
-
yes, I know.
users currently on my ignore list: deadrats, Stears555, marcorocchini -
I know it's quite early, but do you plan to implement h.266 (VVC) decoding encoding ?
If yes, maybe this helps you: https://github.com/MartinEesmaa/VVCEasy/blob/master/FFMPEGVVC.md
If not, maybe it's just interesting for personal use or soLast edited by Platos; 2nd Mar 2024 at 13:16.
-
users currently on my ignore list: deadrats, Stears555, marcorocchini
-
Ah ok, yes i forget about muxing.
Other question: On RIFE Scene Detection you write "In order to avoid artifacts at scene change, invoke `misc.SCDetect` on YUV or Gray format of the input beforehand so as to set frame properties."
Does that means, i have to use "misc-SCDetect" otherwise scene detection won't work properly? Where can i find this setting? -
Hybrid will add SCDetect if 'Scene change' is enabled, but depending on your source, you might want to look at some scene changes and adjust the threshold configured there. (you can check in the Vapoursynth Script view)
The default 0.15 is a good starting point, but might be too low for some HD and too high for some SD content.
Cu Selurusers currently on my ignore list: deadrats, Stears555, marcorocchini -
Ahh, i did not know that higher resolution needs lower values.
Yeah i use now 0.1 for a 4k video because 0.15 was to high. Normally 0.15 did work most of time, but most of time i have 1080p content for interpolation. -
Always depends on the content.
users currently on my ignore list: deadrats, Stears555, marcorocchini -
Is there any way to get Hybrid to write uncompressed video files?
Is it really necessary for the Hybrid installer to be over 1GB in size?
Just the RIFE dependencies are 1GB (extracted) in size.
Unless I would not include either Avisynth or Vapoursynth support, the file size is at it is.
The only way I can think of would be to additionally use executable compressors like UPX.
I did that a bunch of years ago, but then had tons of folks complaining that they frequently get false-positives from their anti-virus scanners. Additionally tons of testing has to be done since those compressors do not work well with all dll and exe files.
Cu Selurusers currently on my ignore list: deadrats, Stears555, marcorocchini -
Thanks for the confirmation on uncompressed files. I was afraid that was the case.
I know Hybrid writes several different lossless formats, and I am experimenting with them. I would need the other programs that I am using to both read, and export lossless to make two way file transfers possible without an additional re-code step. I will follow up when I have more results in. -
Does someone here know how to do that on hybrid (all in one encode-step)?: https://forum.videohelp.com/threads/414347-Fixing-(not-upscaling)-old-VHS-Camera-shot#post2733632
I mean what Sharc did on Post #16.
And a second question about hybrid:
When i want to encode the video in .mp4 with audio pmc it tells me pmc is not allowed in .mp4 output. Ok, then i choose audio--> custom and then on the audio-tab i choose "aac" on audio format (so not pmc) and quality-factor 100. But when i want to start the encode it still says pcm not allowed as ouput. But i am not using pcm??
i did upload a debug file, but im not sure if that helps on audio problems.Last edited by Platos; 30th Apr 2024 at 10:49.
-
- Start Hybrid
- Enable "Crop/Resize->Base->Resize"
- If source isn't detected as TFF, enable "Filtering->(De-)Interlace/Telecine->Deinterlace/Telecine Settings->Overwerite input scan type to" and set it to "top field first"
- enable "Filtering->(De-)Interlace/Telecine->QTGMC Vapoursynth->Bob"
- enable "Filtering->Vapoursynth->Misc->Script->Lower res. before resize" and "Only->width"
- enable "Filtering->Vapoursynth->Frame->Resize->Resizer", set it to "fmtconv" and select "spline36"
Code:# Imports import vapoursynth as vs # getting Vapoursynth core import ctypes import sys import os core = vs.core # Import scripts folder scriptPath = 'F:/Hybrid/64bit/vsscripts' sys.path.insert(0, os.path.abspath(scriptPath)) # Loading Support Files Dllref = ctypes.windll.LoadLibrary("F:/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll") # loading plugins core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/GrainFilter/RemoveGrain/RemoveGrainVS.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/GrainFilter/AddGrain/AddGrain.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/DenoiseFilter/DFTTest/DFTTest.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/DenoiseFilter/NEO_FFT3DFilter/neo-fft3d.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/EEDI3m_opencl.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/ResizeFilter/nnedi3/NNEDI3CL.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/libmvtools.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/scenechange.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/Support/fmtconv.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/MiscFilter/MiscFilters/MiscFilters.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/DeinterlaceFilter/Bwdif/Bwdif.dll") core.std.LoadPlugin(path="F:/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/LSMASHSource.dll") # Import scripts import havsfunc import validate # Source: 'C:\Users\Selur\Desktop\elgato_cut_VideoOnly.avi' # Current color space: RGB24, bit depth: 8, resolution: 720x576, frame rate: 25fps, scanorder: top field first, yuv luminance scale: full, matrix: 470bg # Loading C:\Users\Selur\Desktop\elgato_cut_VideoOnly.avi using LWLibavSource clip = core.lsmas.LWLibavSource(source="C:/Users/Selur/Desktop/elgato_cut_VideoOnly.avi", format="RGB24", stream_index=0, cache=0, prefer_hw=0) frame = clip.get_frame(0) # setting color transfer (170), if it is not set. if validate.transferIsInvalid(clip): clip = core.std.SetFrameProps(clip, _Transfer=6) # setting color primaries info (to 470), if it is not set. if validate.primariesIsInvalid(clip): clip = core.std.SetFrameProps(clip, _Primaries=5) # making sure frame rate is set to 25fps clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1) # making sure the detected scan type is set (detected: top field first) clip = core.std.SetFrameProps(clip=clip, _FieldBased=2) # tff # adjusting color space from RGB24 to YUV444P16 for vsQTGMC clip = core.resize.Spline36(clip=clip, format=vs.YUV444P16, matrix_s="470bg", range_s="full") # Deinterlacing using QTGMC clip = havsfunc.QTGMC(Input=clip, Preset="Fast", TFF=True, opencl=True) # new fps: 50 # Making sure content is preceived as frame based clip = core.std.SetFrameProps(clip=clip, _FieldBased=0) # progressive # adjusting resolution before resizing clip = core.fmtc.resample(clip=clip, w=360, h=576, kernel="spline36", interlaced=False, interlacedd=False)# before YUV444P16 after YUV444P16 # Resizing using fmtconv - spline64 clip = core.fmtc.resample(clip=clip, kernel="spline64", w=720, h=576, interlaced=False, interlacedd=False) # resolution 720x576 before YUV444P16 after YUV444P16 # adjusting output color from: YUV444P16 to YUV420P10 for NVEncModel clip = core.resize.Spline36(clip=clip, format=vs.YUV420P10, range_s="full", dither_type="error_diffusion") # set output frame rate to 50fps (progressive) clip = core.std.AssumeFPS(clip=clip, fpsnum=50, fpsden=1) # output clip.set_output()
users currently on my ignore list: deadrats, Stears555, marcorocchini -
Thank you very much !
Do you also know how i can fix the problem with pmc audio (i did edit my last post) ? -
Ah oh, sorry. Did never edit audios, that's why. Thanks again. Audio worked now.
If i can ask sth to the deinterlace above: Why using bob ? It does double framerate? Is using bob and then half framerate better than without bob ? -
Why using bob ?
It does double framerate?
Is using bob and then half framerate better than without bob ?
Cu Selurusers currently on my ignore list: deadrats, Stears555, marcorocchini -
Somehow the "trick" does not work anymore. I feel like someone is kidding me (i know this is only one resize, it is a test to compare it with the one file where it did work, because you can see it already after the first resize. it does also not work with the 2 time chain.):
"# Imports
import vapoursynth as vs
# getting Vapoursynth core
import ctypes
import sys
import os
core = vs.core
# Import scripts folder
scriptPath = 'C:/Program Files/Hybrid/64bit/vsscripts'
sys.path.insert(0, os.path.abspath(scriptPath))
# Loading Support Files
Dllref = ctypes.windll.LoadLibrary("C:/Program Files/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll")
# 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/DFTTest/DFTTest.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/Support/EEDI3m.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/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/DeinterlaceFilter/Bwdif/Bwdif.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll")
# Import scripts
import havsfunc
# source: 'C:\Users\Gaming-Tower\Videos\vhs-capture-test\deinterlace-tests\elgato2.avi'
# current color space: RGB24, bit depth: 8, resolution: 720x576, fps: 25, scanorder: top field first, yuv luminance scale: full, matrix: 470bg
# Loading C:\Users\Gaming-Tower\Videos\vhs-capture-test\deinterlace-tests\elgato2.avi using LWLibavSource
clip = core.lsmas.LWLibavSource(source="C:/Users/Gaming-Tower/Videos/vhs-capture-test/deinterlace-tests/elgato2.avi", format="RGB24", stream_index=0, cache=0, prefer_hw=0)
frame = clip.get_frame(0)
# Setting color transfer (170), if it is not set.
if '_Transfer' not in frame.props or not frame.props['_Transfer']:
clip = core.std.SetFrameProps(clip, _Transfer=6)
# Setting color primaries info (to 470), if it is not set.
if '_Primaries' not in frame.props or not frame.props['_Primaries']:
clip = core.std.SetFrameProps(clip, _Primaries=5)
# 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
# adjusting color space from RGB24 to YUV444P16 for vsQTGMC
clip = core.resize.Bicubic(clip=clip, format=vs.YUV444P16, matrix_s="470bg", range_s="full")
# Deinterlacing using QTGMC
clip = havsfunc.QTGMC(Input=clip, Preset="Very Slow", TFF=False) # 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
# Resizing using 10 - bicubic spline
clip = core.fmtc.resample(clip=clip, kernel="spline16", w=360, h=576, interlaced=False, interlacedd=False) # resolution 360x576 before YUV444P16 after YUV444P16
# adjusting output color from: YUV444P16 to YUV420P8 for x264Model
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P8, range_s="full", dither_type="error_diffusion")
# set output frame rate to 25fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1)
# Output
clip.set_output()"
Why is tff=false ?
It is working with virtualdub, but i can only use yadif there, so it is not good.Last edited by Platos; 30th Apr 2024 at 15:02.
-
I tried to encode a vhs-video, but i got an error. The video is 12.5 GB, my System has 170GB free space, so it cant be a problem from this side.
When i do a short cut with virtualdub2 and then use this file it works. I feel like hybrid cant handle the big file or some temporary folder is full or so.
Did i sth wrong or is hybrid doing sth wrong ? -
Code:
y4m [error]: bad sequence header magic
Does the Vapoursynth Preview work?users currently on my ignore list: deadrats, Stears555, marcorocchini -
Thanks for your answer and sorry for late answering. Was going to sleep there.
I can open the previev, but that is what is staying there:
Above:HTML Code:# Imports import vapoursynth as vs # getting Vapoursynth core import ctypes import sys import os core = vs.core # Import scripts folder scriptPath = 'C:/Program Files/Hybrid/64bit/vsscripts' sys.path.insert(0, os.path.abspath(scriptPath)) # Loading Support Files Dllref = ctypes.windll.LoadLibrary("C:/Program Files/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll") # 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/DFTTest/DFTTest.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/Support/EEDI3m.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/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/DeinterlaceFilter/Bwdif/Bwdif.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll") # Import scripts import havsfunc # source: 'C:\Users\Gaming-Tower\Videos\vhs-capture-test\crash-test\lang.avi' # current color space: YUV422P8, bit depth: 8, resolution: 720x576, fps: 25, scanorder: top field first, yuv luminance scale: limited, matrix: 470bg # Loading C:\Users\Gaming-Tower\Videos\vhs-capture-test\crash-test\lang.avi using LWLibavSource clip = core.lsmas.LWLibavSource(source="C:/Users/Gaming-Tower/Videos/vhs-capture-test/crash-test/lang.avi", format="YUV422P8", stream_index=0, cache=0, prefer_hw=0) frame = clip.get_frame(0) # Setting detected color matrix (470bg). clip = core.std.SetFrameProps(clip, _Matrix=5) # Setting color transfer (170), if it is not set. if '_Transfer' not in frame.props or not frame.props['_Transfer']: clip = core.std.SetFrameProps(clip, _Transfer=6) # Setting color primaries info (to 470), if it is not set. if '_Primaries' not in frame.props or not frame.props['_Primaries']: clip = core.std.SetFrameProps(clip, _Primaries=5) # 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="Very Slow", 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 clip = core.std.CropRel(clip=clip, left=14, right=16, top=2, bottom=8)# cropping to 690x566 # adjusting resolution before resizing clip = core.fmtc.resample(clip=clip, w=345, h=566, kernel="spline36", interlaced=False, interlacedd=False)# before YUV422P8 after YUV422P16 # Resizing using fmtconv - spline36 clip = core.fmtc.resample(clip=clip, kernel="spline36", w=720, h=542, interlaced=False, interlacedd=False) # resolution 720x542 before YUV422P16 after YUV422P16 # adjusting output color from: YUV422P16 to YUV420P8 for x264Model clip = core.resize.Spline36(clip=clip, format=vs.YUV420P8, range_s="limited", dither_type="error_diffusion") # set output frame rate to 25fps (progressive) clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1) # Output clip.set_output()
HTML Code:Failed to evaluate the script: Python exception: resample: w is not compatible with the output chroma subsampling. Traceback (most recent call last): File "src\cython\vapoursynth.pyx", line 3115, in vapoursynth._vpy_evaluate File "src\cython\vapoursynth.pyx", line 3116, in vapoursynth._vpy_evaluate File "C:\Users\Gaming-Tower\AppData\Local\Temp\tempPreviewVapoursynthFile12_40_38_070.vpy", line 53, in clip = core.fmtc.resample(clip=clip, w=345, h=566, kernel="spline36", interlaced=False, interlacedd=False)# before YUV422P8 after YUV422P16 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "src\cython\vapoursynth.pyx", line 2847, in vapoursynth.Function.__call__ vapoursynth.Error: resample: w is not compatible with the output chroma subsampling.
-
=> adjust the divisor you something that produces a mod2 width
users currently on my ignore list: deadrats, Stears555, marcorocchini -
Which divisor? You mean the one from Vapoursynth->Misc->Script->Lower res. before resize ?
But when i use the short version of the video i have the same resolution and it works:
HTML Code:# Imports import vapoursynth as vs # getting Vapoursynth core import ctypes import sys import os core = vs.core # Import scripts folder scriptPath = 'C:/Program Files/Hybrid/64bit/vsscripts' sys.path.insert(0, os.path.abspath(scriptPath)) # Loading Support Files Dllref = ctypes.windll.LoadLibrary("C:/Program Files/Hybrid/64bit/vsfilters/Support/libfftw3f-3.dll") # 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/DFTTest/DFTTest.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/Support/EEDI3m.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/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/DeinterlaceFilter/Bwdif/Bwdif.dll") core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/vslsmashsource.dll") # Import scripts import havsfunc # source: 'C:\Users\Gaming-Tower\Videos\vhs-capture-test\crash-test\kurz.avi' # current color space: RGB24, bit depth: 8, resolution: 720x576, fps: 25, scanorder: top field first, yuv luminance scale: full, matrix: 470bg # Loading C:\Users\Gaming-Tower\Videos\vhs-capture-test\crash-test\kurz.avi using LWLibavSource clip = core.lsmas.LWLibavSource(source="C:/Users/Gaming-Tower/Videos/vhs-capture-test/crash-test/kurz.avi", format="RGB24", stream_index=0, cache=0, prefer_hw=0) frame = clip.get_frame(0) # Setting color transfer (170), if it is not set. if '_Transfer' not in frame.props or not frame.props['_Transfer']: clip = core.std.SetFrameProps(clip, _Transfer=6) # Setting color primaries info (to 470), if it is not set. if '_Primaries' not in frame.props or not frame.props['_Primaries']: clip = core.std.SetFrameProps(clip, _Primaries=5) # 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 # adjusting color space from RGB24 to YUV444P16 for vsQTGMC clip = core.resize.Spline36(clip=clip, format=vs.YUV444P16, matrix_s="470bg", range_s="full") # Deinterlacing using QTGMC clip = havsfunc.QTGMC(Input=clip, Preset="Very Slow", 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 clip = core.std.CropRel(clip=clip, left=14, right=16, top=2, bottom=8)# cropping to 690x566 # adjusting resolution before resizing clip = core.fmtc.resample(clip=clip, w=345, h=566, kernel="spline36", interlaced=False, interlacedd=False)# before YUV444P16 after YUV444P16 # Resizing using fmtconv - spline36 clip = core.fmtc.resample(clip=clip, kernel="spline36", w=720, h=542, interlaced=False, interlacedd=False) # resolution 720x542 before YUV444P16 after YUV444P16 # adjusting output color from: YUV444P16 to YUV420P8 for x264Model clip = core.resize.Spline36(clip=clip, format=vs.YUV420P8, range_s="full", dither_type="error_diffusion") # set output frame rate to 25fps (progressive) clip = core.std.AssumeFPS(clip=clip, fpsnum=25, fpsden=1) # Output clip.set_output()
Last edited by Platos; 2nd May 2024 at 06:10.
-
After the cropping your source has a resolution of 690x566 then you told Hybrid to divide the width by 2.00 this results in a resolution of 345x566.
Problem is that
Code:clip = core.fmtc.resample(clip=clip, w=345, h=566, kernel="spline36", interlaced=False, interlacedd=False)# before YUV444P16 after YUV444P16
(This is strange since the input should be YUV444P16 and as such support uneven resolutions.)
Cu Selurusers currently on my ignore list: deadrats, Stears555, marcorocchini
Similar Threads
-
vp9 vs x265 vs DivX265
By deadrats in forum Video ConversionReplies: 14Last Post: 28th Jun 2015, 09:48 -
HEVC-x265 player in linux?
By racer-x in forum LinuxReplies: 4Last Post: 20th Mar 2014, 18:10 -
Hybrid [x264/XViD - MKV/MP4] Converter Support Thread
By Bonie81 in forum Video ConversionReplies: 6Last Post: 8th Jan 2013, 03:53 -
VP8 vs x264
By Selur in forum Video ConversionReplies: 14Last Post: 14th Apr 2012, 07:48 -
How often do you reinstall your operating system(windows,mac,linux etc..)?
By johns0 in forum PollsReplies: 28Last Post: 22nd Jan 2011, 17:14