Frames are streamed, not held: each one is drawn, encoded and closed straight away, with back-pressure capping the queue at a few frames. Recordings are seeked per frame, not decoded up front. The real memory risk turns out to be the muxer buffering the finished MP4, so I am considering moving it to stream output to disk. Any thoughts? Thank you for the nudge though.