Node / Video Ffmpeg · guide
onProgress callback
Current Apexify.js 6.0.0 documentation for onProgress callback.
onProgress is one of the shared Phase 8 video execution controls. FFmpeg-backed operations use FFmpeg's machine-readable -progress pipe:2 output rather than scraping human-formatted status lines.
Type
Where it applies
Pass onProgress at the top level of VideoCreationOptions:
The same callback is forwarded by FFmpeg-backed conversion, trim, compositing, audio, overlay, frame-output, transition, and other render operations that execute through the shared video runtime.
Metadata-only work such as getInfo/ffprobe does not manufacture FFmpeg encode progress. Very short FFmpeg jobs may also finish before many progress records are emitted.
Pipeline progress
videoPipeline().render() accepts the same control:
A pipeline can contain several FFmpeg passes. The callback reports the active pass's FFmpeg progress; use result.executionPlan and result.passes after rendering to inspect the deterministic pass plan that actually ran.
Related controls
signalaborts active work where applicable.timeoutMsbounds the FFmpeg process.overwrite: falserejects an existing output rather than replacing it.onProgressobserves the active FFmpeg process without changing output semantics.
Behaviour and limits
percent is derived from FFmpeg's reported encoded time against the operation's expected duration when that duration is known. It is operational progress, not a promise of frame/sample-level completion accuracy. Filters, muxer flushes, multi-pass pipeline stages, and very short clips can make updates uneven.
The callback should stay lightweight. If your application needs persistence, queue or throttle writes instead of performing expensive synchronous work on every progress record.