Video Progress Bar
video-progress-bar
Burns a playback-progress indicator into video frames — a sliding fill bar or a perimeter border that shows how far through the clip the viewer is.
| Value | Effect |
|---|---|
bar | A full-width sliding fill pinned to an edge; fills left→right as the clip plays |
frame | A perimeter border that draws itself around the frame from bottom-left → top-right |
true | Alias for bar |
false / none / empty | Off (default) |
Unknown values fall back to off with a warning.
The two styles
bar — a sliding fill. A full-width colored bar pinned to the top or bottom edge. At the start of the clip it is empty; it slides in left→right so the visible width is the progress fraction, reaching full width exactly at the end. This is the classic YouTube-style progress indicator. Control its color with video-progress-bar-color, thickness with video-progress-bar-height, and edge with video-progress-bar-align.
frame — a perimeter border. A thin border that draws itself around the frame, growing from the bottom-left corner along two fronts at once — one up the left edge then across the top, the other along the bottom then up the right — meeting at the top-right corner at 100%. Use it when a bottom bar would clash with content such as lower-thirds or captions. video-progress-bar-align is ignored for frame since it occupies all four edges.
How progress is measured
The bar fills over the output duration — after any trims (video-clip-*) and speed changes (video-speed). If you clip the source or change speed, the bar still reaches 100% precisely at the end of what you actually render, not the original source length.
On single-image stills (fm=jpg/png/webp) the indicator is frozen at t / duration, where t is the video-thumbnail seek time. A poster grabbed at the halfway mark shows a half-filled bar; the default poster at seek 0 shows an empty bar.
Scope
The progress bar is animated on every video output: MP4/WebM, HLS/DASH (per rendition), animated GIF, and the preview reel. It is static (frozen at the grabbed timecode) on single-image stills. It is a no-op on spritesheets and not applicable to audio-only output.
The bar is the topmost layer — it composites above watermarks, picture-in-picture, burned-in text, and audio waveforms. A render that draws the bar reports progress-bar in X-Imgix-Video-Operations.
Known limitation. Combined with
video-loop, the bar fills correctly through the first playthrough only and then holds for repeats rather than re-filling. Clip, speed, reverse, and boomerang are all handled correctly.