Loading frames from video and image manipulation

Hey all! I’ve been reading up on zig and really enjoying what I see, but I usually need a genuine “project” to really dive into a language. So I recently came up with one, but I need some help getting started.

Basically, I’d like to load multiple frames from a video, do some basic image manipulation with them (basically averaging pixels), then save the output as either a new video or a big image.

Normally I’d use Processing for this types of thing, or if I need better performance OpenFrameworks, but I thought this would be a nice task to try with Zig. Especially since Zig has so much control over the memory layout (which is likely to be the major bottleneck for the image data) and interesting vectorization capabilities, and the task conceptually boils down to “load data into arrays, do conceptually simple things with those arrays, save results”.

So what I’m stuck with is the “load data” and “save results” bit. I can’t really find any libraries to load video data or save images? I’ve looked at awesome-zig and only found zigimg, which is still too limited in terms of supported images.

Is the zig ecosystem still a bit too young for this type of task? Or are there obvious ways to use ffmpeg with zig that I’m unaware of, for example?

Thanks!