11.02.2024, 17:47
MediaInfo reports the source as:
since it's from a DVD it's either interlaced or telecine.
Hybrid assues it's telecine (could also be soft telecine), thus IVTC should be applied. You chose to use QTGMC (thus deinterlacing the source)
(you should overwrite the scan type to tff or bff if your source really isn't telecined, but interlaced)
for filtering:
is used.
Strange thing the output fps in the encoder is set to 29.97 <- this looks wrong.
During the encoding Hybrid assumes that the output is 1090.59 seconds long
(Frame count 32685 @ 29.97 fps)
22 min 35 s which would be 18min 10.50 sec.
Which seems to be correct assuming that Hybrid things the chapter selection is 1-4 (and thus limits the length to 00:18:10.591)
Seems like something is wrong with the frame count, frame count should be doubled due to the bobbing with QTGMC.
This explains the problem with the progress indication.
Sadly I can't reproduce the problem here.
For me both the frame count and frame rate of the output get adjusted properly.
=> I'll send you a link to my latest dev, via pm.
Can you reproduce the issue with that version.
If you can, can you share your source with me and a tell me the steps you took to get this result?
I have no clue what could causte the output frame count and rate not to get adjusted.
Cu Selur
Video
Count : 392
Count of stream of this kind : 1
Kind of stream : Video
Kind of stream : Video
Stream identifier : 0
StreamOrder : 0
ID : 1
ID : 1
ID in the original source medium : 224
ID in the original source medium : 224 (0xE0)
Unique ID : 1
Format : MPEG Video
Format : MPEG Video
Commercial name : MPEG-2 Video
Format version : Version 2
Format profile : Main@Main
Format settings : CustomMatrix / BVOP
Format settings, BVOP : Yes
Format settings, BVOP : Yes
Format settings, Matrix : Custom
Format settings, Matrix : Custom
Format_Settings_Matrix_Data : 080808080808080808080808080808080808080808080808080808080909090808080808080808080909090A09090909090A0A0A0A0A0C0C0C0C0E0E0F111115 / 08080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808
Format settings, GOP : Variable
Internet media type : video/MPV
Codec ID : V_MPEG2
Codec ID/Info : MPEG 1 or 2 Video
Codec ID/Url : http://ffdshow-tryout.sourceforge.net/
Duration : 1355087.066666
Duration : 22 min 35 s
Duration : 22 min 35 s 87 ms
Duration : 22 min 35 s
Duration : 00:22:35.087
Duration : 00:22:41:21
Duration : 00:22:35.087 (00:22:41:21)
Bit rate mode : VBR
Bit rate mode : Variable
Bit rate : 5508177
Bit rate : 5 508 kb/s
Maximum bit rate : 9800000
Maximum bit rate : 9 800 kb/s
Width : 720
Width : 720 pixels
Height : 480
Height : 480 pixels
Sampled_Width : 720
Sampled_Height : 480
Pixel aspect ratio : 0.889
Display aspect ratio : 1.333
Display aspect ratio : 4:3
Frame rate mode : VFR
Frame rate mode : Variable
Frame rate : 24.120
Frame rate : 24.120 FPS
Original frame rate : 29.970
Original frame rate : 29.970 (30000/1001) FPS
FrameRate_Original_Num : 30000
FrameRate_Original_Den : 1001
Frame count : 32685
Color space : YUV
Chroma subsampling : 4:2:0
Chroma subsampling : 4:2:0
Bit depth : 8
Bit depth : 8 bits
Compression mode : Lossy
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.661
Delay : 0
Delay : 00:00:00.000
Delay : 00:00:00:00
Delay : 00:00:00.000 (00:00:00:00)
Delay, origin : Container
Delay, origin : Container
Delay_Original : 35999000
Delay_Original : 9 h 59 min
Delay_Original : 9 h 59 min 59 s 0 ms
Delay_Original : 9 h 59 min
Delay_Original : 09:59:59.000
Delay_Original : 10:02:59:00
Delay_Original : 09:59:59.000 (10:02:59:00)
Delay_Original_Settings : drop_frame_flag=0 / closed_gop=1 / broken_link=0
Delay_Original_DropFrame : No
Delay_Original_Source : Stream
Time code of first frame : 09:59:59:00
TimeCode_DropFrame : No
Time code source : Group of pictures header
GOP, Open/Closed : Open
GOP, Open/Closed : Open
GOP, Open/Closed of first frame : Closed
GOP, Open/Closed of first frame : Closed
Stream size : 933007480
Stream size : 890 MiB (96%)
Stream size : 890 MiB
Stream size : 890 MiB
Stream size : 890 MiB
Stream size : 889.8 MiB
Stream size : 890 MiB (96%)
Proportion of this stream : 0.96478
Language : en
Language : English
Language : English
Language : en
Language : eng
Language : en
Default : No
Default : No
Forced : No
Forced : No
Buffer size : 229376
Original source medium : DVD-Video
intra_dc_precision : 10
Hybrid assues it's telecine (could also be soft telecine), thus IVTC should be applied. You chose to use QTGMC (thus deinterlacing the source)
(you should overwrite the scan type to tff or bff if your source really isn't telecined, but interlaced)
for filtering:
# 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/DenoiseFilter/TTempSmooth/TTempSmooth.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/Support/DCTFilter.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DeblockFilter/Deblock/Deblock.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DeCrawlFilter/DotKill/DotKill.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/Support/EEDI3m.dll")
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/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/SourceFilter/LSmashSource/vslsmashsource.dll")
# Import scripts
import havsfunc
# source: 'C:\Users\Michael\Desktop\Courage the Cowardly Dog [remux]\Season 1\Courage the Cowardly Dog S01E01E02 A Night at the Katz Motel. Cajun Granny Stew.mkv'
# current color space: YUV420P8, bit depth: 8, resolution: 720x480, fps: 29.97, color matrix: 470bg, yuv luminance scale: limited, scanorder: telecine
# Loading C:\Users\Michael\Desktop\Courage the Cowardly Dog [remux]\Season 1\Courage the Cowardly Dog S01E01E02 A Night at the Katz Motel. Cajun Granny Stew.mkv using LWLibavSource
clip = core.lsmas.LWLibavSource(source="C:/Users/Michael/Desktop/Courage the Cowardly Dog [remux]/Season 1/Courage the Cowardly Dog S01E01E02 A Night at the Katz Motel. Cajun Granny Stew.mkv", format="YUV420P8", 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 (to 470bg), if it is not set.
if '_Transfer' not in frame.props or not frame.props['_Transfer']:
clip = core.std.SetFrameProps(clip, _Transfer=5)
# Setting color primaries info (to 5), 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 29.97
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=0) # progressive
# converting interlaced to full-height progressive for filtering (vsDotKill) (using: QTGMC(preset="Fast"))
clip = havsfunc.QTGMC(Input=clip, Preset="Fast", Lossless=2, TFF=True) # new fps: 59.94
# Making sure content is preceived as frame based
clip = core.std.SetFrameProp(clip=clip, prop="_FieldBased", intval=0) # progressive
clip = core.dotkill.DotKillS(clip=clip)
# denoising using MCTemporalDenoise
clip = havsfunc.MCTemporalDenoise(i=clip, settings="low", ncpu=1)
# adjusting output color from: YUV420P8 to YUV420P10 for x265Model
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10, range_s="limited")
# set output frame rate to 59.94fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=60000, fpsden=1001)
Strange thing the output fps in the encoder is set to 29.97 <- this looks wrong.
During the encoding Hybrid assumes that the output is 1090.59 seconds long
(Frame count 32685 @ 29.97 fps)
22 min 35 s which would be 18min 10.50 sec.
Which seems to be correct assuming that Hybrid things the chapter selection is 1-4 (and thus limits the length to 00:18:10.591)
Seems like something is wrong with the frame count, frame count should be doubled due to the bobbing with QTGMC.
This explains the problem with the progress indication.
Sadly I can't reproduce the problem here.
For me both the frame count and frame rate of the output get adjusted properly.
=> I'll send you a link to my latest dev, via pm.
Can you reproduce the issue with that version.
If you can, can you share your source with me and a tell me the steps you took to get this result?
I have no clue what could causte the output frame count and rate not to get adjusted.
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.