We have a mathematical model, Navier-Stokes (NS), that seems to describe motion of fluids well. In practice NS and related approximation models with simpler numerical solutions can be used to derive useful results. In that sense we can simulate turbulence for some sets of conditions and get useful approximations out. In general it’s still an open problem if NS has, given an initial velocity field, a solution that is globally defined and smooth. Practically this means we don’t know one way or the other if NS has initial conditions under which the velocity or pressure fields of the solution tend to infinity in finite time. This is the unsolved Navier-Stokes problem.
https://en.m.wikipedia.org/wiki/Navier%E2%80%93Stokes_existence_and_smoothness
Sorry for not having a direct answer for your question.
First, are these videos using Dolby Vision? If so try a google search for “Dolby Vision green tint”.
Second, if this really is a corruption issue, are you sure you really want to write something custom to fix this? What else is wrong in those files that you haven’t noticed yet? It seems unlikely that they would all corrupt consistently. Did something transform them since they were last in a known good state? Do you have other means to revert that transformation?
Finally, if you do want to continue down your current path there’s a light discussion on the topic in this stack overflow thread. You’re going to need to contend with how videos are compressed, i.e. not every frame is actually stored. You’re likely going to loose some quality or bloat the file size through applying a correction process. If you find the right tools and want to minimize loss and bloat, you may need to use different solutions for different codecs.