This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

[BUG] Cut is off by a few frames, and audio gets offset
#1
Hybrid Windows rev 2025.11.09.1

Whenever I attempt to transcode a range of video using frame selection it always includes a few extra frames at the tail end of the source, while also seemingly temporally compressing it so that over the course of the video once an equivalent amount of frames in the source and transcode have played they become out of sync. The frame ranges themselves have been selected quite precisely and verified in both VirtualDub and Premiere Pro, so I'm certain I'm inputting the correct in and out points. No speed change settings are enabled to my knowledge.

Additionally, upon transcoding said videos the audio becomes out of sync, starting around five frames too late.

Step-by-step:
  1. Open Hybrid
  2. Load file (for reference it's encoded in HUFFYUV, 720x480 29.97fps w/PCM audio)
  3. Set x265 preset to veryslow (not sure why this doesn't save w/profiles)
  4. Override PAR to 8x9 (also doesn't save)
  5. Add current audio stream
  6. Input start & end frames 534-2911
  7. Set output path
  8. Add to queue & start

I tried to cut a shorter source clip via MKVToolNix as a sample but somehow the transcode of that resulted in a video track that was double the length of the specified range, but let me know if you'd like the original file as a sample and I can PM it. In the meantime I've attached an image detailing the issue.

As a secondary issue that may or may not be related, Hybrid refuses to cut audio that is added from an external file (required as I had to resync some parts), where the job went straight to the "create" step without first "extracting audio as pcm/wav using ffmpeg" as it would with audio attached to the video file. This resulted in me having to mux the source clip and the resynced audio in MKVToolNix and then putting that new file into Hybrid, which allowed it to be cut (though the aforementioned offset issue remains in the Hybrid transcode)


Attached Files Thumbnail(s)
   

.rar   HybridDebugOutput2025-12-22.rar (Size: 335,62 KB / Downloads: 62)
Reply
#2
Looking at the Vapoursynth script (line 46236+):
# 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/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/EEDI3m.dll")# vsQTGMC
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/fmtconv.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/Support/libllvmexpr.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/ZSmooth/zsmooth.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/LSMASHSource.dll")
# Import scripts
import qtgmc
import validate
# Source: 'A:\Users\dusti\Videos\8mm Tapes\RAW\2025-12-20_MtVernon01.avi'
# Current color space: YUV422P8, bit depth: 8, resolution: 720x480, frame rate: 29.97fps, scanorder: bottom field first, yuv luminance scale: limited, matrix: 470bg, format: hymt
# Loading A:\Users\dusti\Videos\8mm Tapes\RAW\2025-12-20_MtVernon01.avi using LWLibavSource
clip = core.lsmas.LWLibavSource(source="A:/Users/dusti/Videos/8mm Tapes/RAW/2025-12-20_MtVernon01.avi", format="YUV422P8", stream_index=0, cache=0, prefer_hw=0)
frame = clip.get_frame(0)
# setting color matrix to 470bg.
clip = core.std.SetFrameProps(clip, _Matrix=vs.MATRIX_BT470_BG)
# setting color transfer (vs.TRANSFER_BT601), if it is not set.
if validate.transferIsInvalid(clip):
  clip = core.std.SetFrameProps(clip=clip, _Transfer=vs.TRANSFER_BT601)
# setting color primaries info (to vs.PRIMARIES_BT470_BG), if it is not set.
if validate.primariesIsInvalid(clip):
  clip = core.std.SetFrameProps(clip=clip, _Primaries=vs.PRIMARIES_BT470_BG)
# setting color range to TV (limited) range.
clip = core.std.SetFrameProps(clip=clip, _ColorRange=vs.RANGE_LIMITED)
# making sure frame rate is set to 29.97fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# making sure the detected scan type is set (detected: bottom field first)
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_BOTTOM) # bff
# cutting from frame 3746 to 19987  - WARNING: This might cause synch issues
clip = core.std.Trim(clip=clip, first=3746, last=19987)
# Deinterlacing using QTGMC
clip = qtgmc.QTGMC(clip, Preset="Fast", TFF=False)# new fps: 29.97
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive
clip = clip[::2] # selecting previously even frames
# adjusting output color from: YUV422P8 to YUV420P10 for x265Model
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10)
# set output frame rate to 29.97fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# output
clip.set_output()

The cut is:
clip = core.std.Trim(clip=clip, first=3746, last=19987)
that is nowhere near:
Quote:Input start & end frames 534-2911
=> no clue, how those relate to each other, but the code itself seems correct.

Looking at the Vapoursynth script (line 73432+):
# 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/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/EEDI3m.dll")# vsQTGMC
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/fmtconv.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/Support/libllvmexpr.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/ZSmooth/zsmooth.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/LSMASHSource.dll")
# Import scripts
import qtgmc
import validate
# Source: 'A:\Users\dusti\Videos\8mm Tapes\RAW\2025-12-20_MtVernon01.avi'
# Current color space: YUV422P8, bit depth: 8, resolution: 720x480, frame rate: 29.97fps, scanorder: bottom field first, yuv luminance scale: limited, matrix: 470bg, format: hymt
# Loading A:\Users\dusti\Videos\8mm Tapes\RAW\2025-12-20_MtVernon01.avi using LWLibavSource
clip = core.lsmas.LWLibavSource(source="A:/Users/dusti/Videos/8mm Tapes/RAW/2025-12-20_MtVernon01.avi", format="YUV422P8", stream_index=0, cache=0, prefer_hw=0)
frame = clip.get_frame(0)
# setting color matrix to 470bg.
clip = core.std.SetFrameProps(clip, _Matrix=vs.MATRIX_BT470_BG)
# setting color transfer (vs.TRANSFER_BT601), if it is not set.
if validate.transferIsInvalid(clip):
  clip = core.std.SetFrameProps(clip=clip, _Transfer=vs.TRANSFER_BT601)
# setting color primaries info (to vs.PRIMARIES_BT470_BG), if it is not set.
if validate.primariesIsInvalid(clip):
  clip = core.std.SetFrameProps(clip=clip, _Primaries=vs.PRIMARIES_BT470_BG)
# setting color range to TV (limited) range.
clip = core.std.SetFrameProps(clip=clip, _ColorRange=vs.RANGE_LIMITED)
# making sure frame rate is set to 29.97fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# making sure the detected scan type is set (detected: bottom field first)
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_BOTTOM) # bff
# Deinterlacing using QTGMC
clip = qtgmc.QTGMC(clip, Preset="Fast", TFF=False)# new fps: 29.97
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive
clip = clip[::2] # selecting previously even frames
# adjusting output color from: YUV422P8 to YUV420P10 for x265Model
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10)
# set output frame rate to 29.97fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# output
clip.set_output()
It does not include any cuts. Huh

Okay, in line 138958+:
# 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/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/EEDI3m.dll")# vsQTGMC
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/fmtconv.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/Support/libllvmexpr.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/DenoiseFilter/ZSmooth/zsmooth.dll")
core.std.LoadPlugin(path="C:/Program Files/Hybrid/64bit/vsfilters/SourceFilter/LSmashSource/LSMASHSource.dll")
# Import scripts
import qtgmc
import validate
# Source: 'A:\Users\dusti\Videos\8mm Tapes\RAW\2025-12-20_MtVernon_avsync2.mkv'
# Current color space: YUV422P8, bit depth: 8, resolution: 720x480, frame rate: 29.97fps, scanorder: bottom field first, yuv luminance scale: limited, matrix: 470bg, format: hymt
# Loading A:\Users\dusti\Videos\8mm Tapes\RAW\2025-12-20_MtVernon_avsync2.mkv using LWLibavSource
clip = core.lsmas.LWLibavSource(source="A:/Users/dusti/Videos/8mm Tapes/RAW/2025-12-20_MtVernon_avsync2.mkv", format="YUV422P8", stream_index=0, cache=0, prefer_hw=0)
frame = clip.get_frame(0)
# setting color matrix to 470bg.
clip = core.std.SetFrameProps(clip, _Matrix=vs.MATRIX_BT470_BG)
# setting color transfer (vs.TRANSFER_BT601), if it is not set.
if validate.transferIsInvalid(clip):
  clip = core.std.SetFrameProps(clip=clip, _Transfer=vs.TRANSFER_BT601)
# setting color primaries info (to vs.PRIMARIES_BT470_BG), if it is not set.
if validate.primariesIsInvalid(clip):
  clip = core.std.SetFrameProps(clip=clip, _Primaries=vs.PRIMARIES_BT470_BG)
# setting color range to TV (limited) range.
clip = core.std.SetFrameProps(clip=clip, _ColorRange=vs.RANGE_LIMITED)
# making sure frame rate is set to 29.97fps
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# making sure the detected scan type is set (detected: bottom field first)
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_BOTTOM) # bff
# cutting from frame 534 to 2910  - WARNING: This might cause synch issues
clip = core.std.Trim(clip=clip, first=534, last=2910)
# Deinterlacing using QTGMC
clip = qtgmc.QTGMC(clip, Preset="Fast", TFF=False)# new fps: 29.97
# Making sure content is preceived as frame based
clip = core.std.SetFrameProps(clip=clip, _FieldBased=vs.FIELD_PROGRESSIVE) # progressive
clip = clip[::2] # selecting previously even frames
# adjusting output color from: YUV422P8 to YUV420P10 for x265Model
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P10)
# set output frame rate to 29.97fps (progressive)
clip = core.std.AssumeFPS(clip=clip, fpsnum=30000, fpsden=1001)
# output
clip.set_output()
the cut you mentioned is used. first=534, last=2910
Depening on your needs you might want to adjust this by one frames. (no clue how the video cut could be off 'a few frames')

Looking at the audio processing for that job.
2025.12.21 - 22:29:04_Windows 11 Version 25H2 (64bit)_2025.11.09.1 - level 9: addSelection(6): A:\Users\dusti\Videos\8mm Tapes\RAW\2025-12-20_MtVernon01.avi
2025.12.21 - 22:29:04_Windows 11 Version 25H2 (64bit)_2025.11.09.1 - level 9:  set selection,..
2025.12.21 - 22:29:04_Windows 11 Version 25H2 (64bit)_2025.11.09.1 - level 9:   cutStartTime: 17.81781782
2025.12.21 - 22:29:04_Windows 11 Version 25H2 (64bit)_2025.11.09.1 - level 9:   cutEndTime: 97.13046380
2025.12.21 - 22:29:04_Windows 11 Version 25H2 (64bit)_2025.11.09.1 - level 9:   selectionStartTime: 0.00000000
2025.12.21 - 22:29:04_Windows 11 Version 25H2 (64bit)_2025.11.09.1 - level 9:   selectionEndTime: 7440.70700000
2025.12.21 - 22:29:04_Windows 11 Version 25H2 (64bit)_2025.11.09.1 - level 9:   getStartAndEnd(cutStartTime: 17.8178, cutEndTime: 97.1305, selectionStartTime: 0, selectionEndTime: 7440.71, ...)
2025.12.21 - 22:29:04_Windows 11 Version 25H2 (64bit)_2025.11.09.1 - level 9:   startTime: 17.81781782
2025.12.21 - 22:29:04_Windows 11 Version 25H2 (64bit)_2025.11.09.1 - level 9:   endTime: 97.13046380
2025.12.21 - 22:29:04_Windows 11 Version 25H2 (64bit)_2025.11.09.1 - level 9:   -> startTime: 17.8178, endTime: 97.1305
2025.12.21 - 22:29:04_Windows 11 Version 25H2 (64bit)_2025.11.09.1 - level 9:   matchesChapter: false
2025.12.21 - 22:29:04_Windows 11 Version 25H2 (64bit)_2025.11.09.1 - level 9: addSelection(8)
2025.12.21 - 22:29:04_Windows 11 Version 25H2 (64bit)_2025.11.09.1 - level 9:  addStartEnd - start: 17.8178, end: 97.1305, length: 7440.58
2025.12.21 - 22:29:04_Windows 11 Version 25H2 (64bit)_2025.11.09.1 - level 9:  inputLength: 7440.57900000
2025.12.21 - 22:29:04_Windows 11 Version 25H2 (64bit)_2025.11.09.1 - level 9:  end: 97.13046380

ffmpeg -y -threads 8  -i "A:\Users\dusti\Videos\8mm Tapes\RAW\2025-12-20_MtVernon_avsync2.mkv" -map 0:1 -vn -sn -ss 00:00:17.817 -t 00:01:19.312 -ac 1 -ar 48000 -acodec pcm_s16le -f wav -map_metadata -1 -metadata encoding_tool="Hybrid 2025.11.09.1" "C:\Users\dusti\AppData\Local\Temp\iId_3_aid_0_DELAY_167ms_2025-12-22@14_22_58_1510_01.wav"

Other than that, the processing seems fine.
Sadly I see no problem in how Hybrid processed the source, the video cut should be accurate, not too sure about the audio cut, but I expect ffmpeg to cut accurate for wav audio.

Quote: (not sure why this doesn't save w/profiles)
since selecting != applying and to be sure there is no confusion the selection state is not saved.

Quote:Override PAR to 8x9 (also doesn't save)
Yes, that is a source specific setting, so it doesn't make sense to save this.

Quote:As a secondary issue that may or may not be related, Hybrid refuses to cut audio that is added from an external file (required as I had to resync some p
It's not that it refuses it, it simply doesn't support this or know how to do it. Hybrid assumes that the external audio source matches the video source it should create.

Quote: The frame ranges themselves have been selected quite precisely and verified in both VirtualDub and Premiere Pro, so I'm certain I'm inputting the correct in and out points. No speed change settings are enabled to my knowledge.
You should use Hybrid to select the start and end points.

My suggestions are:
a. try other source filters (i.e. AviSource) and see whether that changes anything
b. verify the cut in the Vapoursynth Preview. VirtualDub and Premiere Pro might use different frame numbering and selection.
Vapoursynth assumes the first frame to be 0 and if you select 0-xy the trim will be 0 to (xy -1).

Other than that, if you see a mistake in the call or script I overlooked let me know.

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#3
I really appreciate the detailed response, thanks to you I've been able to figure it all out! Upon viewing the Vapoursynth Preview I noticed the total frame count was 4 frames shorter than what VirtualDub/Premiere reports, and after running my source through ffprobe I discovered it had four duplicate frames, each one of them within the range I was testing the encode on :| . After accounting for the removal of those in my audio stream everything works as expected.

Quote:The cut is:
clip = core.std.Trim(clip=clip, first=3746, last=19987)
that is nowhere near:
Quote: Wrote:Input start & end frames 534-2911
=> no clue, how those relate to each other, but the code itself seems correct.

Apologies for the confusion, this job at line 46236 was a separate one used to verify that the error was not isolated to just the 534-2911 portion of the source.

Quote:Looking at the Vapoursynth script (line 73432+):

It does not include any cuts.

This was just me forgetting to input the cut frames, whoops.

ffmpeg -y -threads 8  -i "A:\Users\dusti\Videos\8mm Tapes\RAW\2025-12-20_MtVernon_avsync2.mkv" -map 0:1 -vn -sn -ss 00:00:17.817 -t 00:01:19.312 -ac 1 -ar 48000 -acodec pcm_s16le -f wav -map_metadata -1 -metadata encoding_tool="Hybrid 2025.11.09.1" "C:\Users\dusti\AppData\Local\Temp\iId_3_aid_0_DELAY_167ms_2025-12-22@14_22_58_1510_01.wav"

It appears that for some reason there was a 167ms offset in the source that carried over to the transcode. Getting rid of it fixed this particular issue.

Quote:since selecting != applying and to be sure there is no confusion the selection state is not saved.

Ohhh, got it, guess I should've looked closer at that help panel haha.

Quote:
Quote: Wrote:Override PAR to 8x9 (also doesn't save)
Yes, that is a source specific setting, so it doesn't make sense to save this.

Isn't the purpose of the "Overwrite Input PAR" in the Misc tab to nullify whatever the source says the PAR should be in the Base tab and replace it with whatever value is there? Or am I just misinterpreting its function?

Quote:It's not that it refuses it, it simply doesn't support this or know how to do it. Hybrid assumes that the external audio source matches the video source it should create.

Oh interesting, I had assumed it would treat the external audio the same as the temp wav that's created from the source when cutting or transcoding, good to know! Though in that case what's the point of the "Don't cut external audio" option in the Misc audio settings if Hybrid can't cut it?


Also sorry to go off on a bit of a tangent to the original question, but for each of the other previews on Base, Crop/Resize, Audio, and Chapter I get an error message saying:
Quote:Aborting, since playback is not audio only, but according to mplayer, there is no video present!

I tried troubleshooting it using this thread and testing mplayer itself, but unless I'm mistaken (which is certainly quite likely) it seems that mplayer does in fact recognize that there's a video stream present.

Microsoft Windows [Version 10.0.26200.7462]
(c) Microsoft Corporation. All rights reserved.

C:\Users\dusti>"C:\Program Files\Hybrid\mplayer.exe" -v -msglevel identify=6 -demuxer mkv -vo null -ao null -frames 0 "A:\Users\dusti\Videos\8mm Tapes\RAW\2025-12-20_MtVernon_avsync2.mkv"
'"C:\Program Files\Hybrid\mplayer.exe"' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\dusti>"C:\Program Files\Hybrid\64bit\mplayer.exe" -v -msglevel identify=6 -demuxer mkv -vo null -ao null -frames 0 "A:\Users\dusti\Videos\8mm Tapes\RAW\2025-12-20_MtVernon_avsync2.mkv"
MPlayer SVN-r38359-11.2.0 (C) 2000-2022 MPlayer Team
CPU vendor name: GenuineIntel  max cpuid level: 32
CPU: 12th Gen Intel(R) Core(TM) i9-12900K (Family: 6, Model: 151, Stepping: 2)
extended cpuid-level: 8
extended cache-info: 83914816
Detected cache-line size is 64 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNowExt: 0 SSE: 1 SSE2: 1 SSE3: 1 SSSE3: 1 SSE4: 1 SSE4.2: 1 AVX: 1
Compiled with runtime CPU detection.
get_path('codecs.conf') -> 'C:/Program Files/Hybrid/64bit/mplayer/codecs.conf'
Reading optional codecs config file C:/Program Files/Hybrid/64bit/mplayer/codecs.conf: No such file or directory
Reading optional codecs config file /local64/etc/mplayer/codecs.conf: No such file or directory
Using built-in default codecs.conf.
init_freetype
Using SSE2 Optimized OnScreenDisplay
get_path('fonts') -> 'C:/Program Files/Hybrid/64bit/mplayer/fonts'
Configuration: --prefix=/local64 --bindir=/local64/bin-video --extra-cflags=-fpermissive -DPTW32_STATIC_LIB -O3 -DMODPLUG_STATIC --extra-libs=-llzma -liconv -lws2_32 -lpthread -lwinpthread -lpng -lwinmm -LI:/media-autobuild_suite/local64/lib -lilbc -lstdc++           --extra-ldflags=-Wl,--allow-multiple-definition --enable-static --enable-runtime-cpudetection --disable-gif --disable-cddb --disable-faac --with-dvdread-config=/mingw64/bin/pkgconf --keep-system-libs --keep-system-cflags --static dvdread --with-freetype-config=/mingw64/bin/pkgconf --keep-system-libs --keep-system-cflags --static freetype2 --with-dvdnav-config=/mingw64/bin/pkgconf --keep-system-libs --keep-system-cflags --static dvdnav
CommandLine: '-v' '-msglevel' 'identify=6' '-demuxer' 'mkv' '-vo' 'null' '-ao' 'null' '-frames' '0' 'A:\Users\dusti\Videos\8mm Tapes\RAW\2025-12-20_MtVernon_avsync2.mkv'
Using Windows native timing
get_path('input.conf') -> 'C:/Program Files/Hybrid/64bit/mplayer/input.conf'
Parsing input config file C:/Program Files/Hybrid/64bit/mplayer/input.conf
Input config file C:/Program Files/Hybrid/64bit/mplayer/input.conf parsed: 92 binds
get_path('2025-12-20_MtVernon_avsync2.mkv.conf') -> 'C:/Program Files/Hybrid/64bit/mplayer/2025-12-20_MtVernon_avsync2.mkv.conf'

Playing A:\Users\dusti\Videos\8mm Tapes\RAW\2025-12-20_MtVernon_avsync2.mkv.
get_path('sub/') -> 'C:/Program Files/Hybrid/64bit/mplayer/sub/'
WINSOCK2 init: 0
WINSOCK2 init: 0
[file] File size is 69335266191 bytes
STREAM: [file] A:\Users\dusti\Videos\8mm Tapes\RAW\2025-12-20_MtVernon_avsync2.mkv
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
[mkv] Found the head...
[mkv] + a segment...
[mkv] /---- [ parsing seek head ] ---------
[mkv] /---- [ parsing cues ] -----------
[mkv] \---- [ parsing cues ] -----------
[mkv] \---- [ parsing seek head ] ---------
[mkv] |+ segment information...
[mkv] | + timecode scale: 1000000
[mkv] | + duration: 7440.746s
[mkv] |+ segment tracks...
[mkv] | + a track...
[mkv] |  + Track number: 1
[mkv] |  + Track type: Video
[mkv] |  + Language: und
[mkv] |  + Codec ID: V_MS/VFW/FOURCC
[mkv] |  + CodecPrivate, length 232
[mkv] |  + Default duration: 33.367ms ( = 29.970 fps)
[mkv] |  + Video track
[mkv] |   + Pixel width: 720
[mkv] |   + Pixel height: 480
[mkv] |   + Display width: 720
[mkv] |   + Display height: 480
[mkv] | + a track...
[mkv] |  + Track number: 2
[mkv] |  + Track type: Audio
[mkv] |  + Language: und
[mkv] |  + Codec ID: A_PCM/INT/LIT
[mkv] |  + Default duration: 40.000ms ( = 25.000 fps)
[mkv] |  + Audio track
[mkv] |   + Sampling frequency: 48000.000000
[mkv] |   + Bit depth: 16
[mkv] |+ found cluster, headers are parsed completely :)
==> Found video stream: 1
ID_VIDEO_ID=0
[mkv] Aspect: 0.000000
[mkv] Track ID 1: video (V_MS/VFW/FOURCC), -vid 0
==> Found audio stream: 2
ID_AUDIO_ID=0
[mkv] Track ID 2: audio (A_PCM/INT/LIT), -aid 0, -alang und
[mkv] Will play video track 1.
Matroska file format detected.
VIDEO:  [HYMT]  720x480  24bpp  29.970 fps    0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:31  fourcc:0x544D5948  size:720x480  fps:29.970  ftime:=0.0334
==========================================================================
Cannot find codec matching selected -vo and video format 0x544D5948.
==========================================================================
Load subtitles in A:\Users\dusti\Videos\8mm Tapes\RAW\
get_path('sub/') -> 'C:/Program Files/Hybrid/64bit/mplayer/sub/'
ID_FILENAME=A:\Users\dusti\Videos\8mm Tapes\RAW\2025-12-20_MtVernon_avsync2.mkv
ID_DEMUXER=mkv
ID_AUDIO_FORMAT=1
ID_AUDIO_BITRATE=0
ID_AUDIO_RATE=48000
ID_AUDIO_NCH=1
ID_START_TIME=0.17
ID_LENGTH=7440.75
ID_SEEKABLE=1
ID_CHAPTERS=0
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
dec_audio: Allocating 2048 + 131072 = 133120 bytes for output buffer.
AUDIO: 48000 Hz, 1 ch, s16le, 768.0 kbit/100.00% (ratio: 96000->96000)
ID_AUDIO_BITRATE=768000
ID_AUDIO_RATE=48000
ID_AUDIO_NCH=1
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
Building audio filter chain for 48000Hz/1ch/s16le -> 0Hz/0ch/??...
[libaf] Adding filter dummy
[dummy] Was reinitialized: 48000Hz/1ch/s16le
[dummy] Was reinitialized: 48000Hz/1ch/s16le
Trying preferred audio driver 'null', options '[none]'
AO: [null] 48000Hz 1ch s16le (2 bytes per sample)
AO: Description: Null audio output
AO: Author: Tobias Diedrich <ranma+mplayer@tdiedrich.de>
Building audio filter chain for 48000Hz/1ch/s16le -> 48000Hz/1ch/s16le...
[dummy] Was reinitialized: 48000Hz/1ch/s16le
[dummy] Was reinitialized: 48000Hz/1ch/s16le
ID_AUDIO_CODEC=pcm
Video: no video
Freeing 6 unused video chunks.
Starting playback...

Uninit audio filters...
[libaf] Removing filter dummy
Uninit audio: pcm
WINSOCK2 uninit

Exiting... (End of file)
ID_EXIT=EOF

C:\Users\dusti>

Is there an additional codec I need to install for this or something? This technically isn't necessary for my current workflow but I suppose it'd be nice to have working. Let me know if you need another debug file for that.

Thanks again Selur, Happy Holidays!
Reply
#4
Quote:Oh interesting, I had assumed it would treat the external audio the same as the temp wav that's created from the source when cutting or transcoding, good to know! Though in that case what's the point of the "Don't cut external audio" option in the Misc audio settings if Hybrid can't cut it?
Just checked, worked fine here. (totally I forgot I rewrote that)
My guess is you added the audio stream to the audio queue before setting the cut.
When I load the video, set the cut, add the audio, everything seems to work fine here.

Quote: but unless I'm mistaken (which is certainly quite likely) it seems that mplayer does in fact recognize that there's a video stream present.
Yes, it assumes there is a video stream, MPlayer can't handle the video:
Cannot find codec matching selected -vo and video format 0x544D5948.
Video: no video
Problem developement on mplayer stopped a few years ago. Sad
Since those Previews use MPlayer they don't work.

Quote:Isn't the purpose of the "Overwrite Input PAR" in the Misc tab to nullify whatever the source says the PAR should be in the Base tab and replace it with whatever value is there? Or am I just misinterpreting its function?
Your are correct, totally forgot I rewrote that. Smile
=> fixed it by renaming the parameter names and the connections, uploaded a new dev


Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)