Unbeknownst to me at the time, the camera I was using to record a talking head (so fixed environment and lighting) seems to have drastically altered its colour temperature part-way through recording. I put my hand in front of the lens at one point, and as well as refocusing to the hand (thankfully temporarily) the camera appears to have shunted everything toward blue from that point on. The talking head goes from warm and 'naturally skin-coloured' to beyond pallid.
It was recording to an Atomos Ninja in ProRes 422 HD, which I understand 'bakes' white balance directly into the recorded data as opposed to storing it as metadata like RAW.
Q1: Am I correct here, or is it actually possible to retrieve per-frame colour balance settings from a ProRes .mov file? If so, this would be my preferred option as I can then 'objectively' reverse it. I've tinkered with ffprobe but it doesn't yield anything useful-looking.
Q2: If I am correct that the colour shift exists in the video data itself, what's the best post-recording correction method? Working in my favour is a) the background never changes so before/after can be compared on a per-pixel basis, and b) The shift occurs at a single time, with the colour stable before and after. So only one correction need be applied, and I know when.
I'm using MATLAB (this is computer-vision related), which at first glance offers white point, grey world, and PCA-based correction.
For visualisation here's two frames from before and after the camera auto-corrected, with pixels plotted in RGB space. Right now I'm thinking of computing some rigid transform in RGB space to overlap one with the other, but this question is asking whether there's a more 'standard' solution.