buildVideo

fun FilterGraph.Companion.buildVideo(chain: FilterChain, width: Int, height: Int, pixelFormat: PixelFormat, timeBase: Rational, frameRate: Rational, sampleAspectRatio: Rational = Rational(1, 1)): FilterGraph

Builds a video graph from a typed FilterChain, refusing before FFmpeg is asked to parse anything when this build lacks one of the chain's filters.

The refusal is FilterChain.requireAvailable's: one FFmpegError.FilterNotFound naming every missing filter. Ask FilterChain.missingFilters first if you would rather branch than catch.

An extension on the companion rather than a member of it, which keeps the string overloads the one set of builders every backend implements.