How to fix a video that came out shorter than it should be
Ask Vizard Agent to check the stream parameters at the point the render stops rather than to re-render it. A timeline that ends early almost always ends at a join where two blocks disagree about format or frame rate, and the fix is to make them agree before joining, not to fill the gap afterwards.
What do you type into Vizard Agent?
Describe the symptom and let Vizard Agent find the cause. "Just re-render it" usually reproduces the same truncation to the frame, because whatever stopped the timeline is still in it. Saying nothing reported an error is useful too: a silent truncation points at a boundary problem, while a loud failure points at a bad file.
The final video is about a minute shorter than it should be, and the ending is missing. Nothing reported an error.
What does Vizard Agent actually do?
Vizard Agent probes at the join rather than watching the video. Every block's actual stream parameters, such as resolution, pixel format, frame rate and timebase, get compared at the boundary where the timeline stops, because a mismatch there is the ordinary cause of a join that ends early without complaining. In the session behind this article it:
- Checked the assembled picture timeline after the first render and identified where it stopped short.
- Inspected the exact video stream parameters at the concat boundary rather than re-running the assembly.
- Found the blocks disagreed, and normalised the title card and every scene block to one vertical format and one frame rate.
- Rebuilt the timeline from the normalised blocks so every cut plays through, and measured the final duration against the song it was cut to.
- In a later pass, removed short fade-to-black flashes at cuts, telling them apart from genuine black frames by inspecting the frames rather than trusting a gap report.
When does this not work well?
When the shortfall is editorial rather than technical. If a clip was trimmed harder than you meant, or a section was dropped from the cut list, the arithmetic is correct and the intent is not. Vizard Agent will say which it is. A truncated source file, one that claims thirty seconds and decodes to eleven, needs a fresh copy instead.
Common questions
Why did nothing report an error? Because a mismatched join can end a stream cleanly. It looks like the end of the video.
Can it tell me which clip caused it? Yes. Vizard Agent names the boundary and the parameter that differs.
Can it just add the missing seconds? It can, and it should not. The mismatch would stay and cause the next problem, so Vizard Agent normalises the blocks instead.