I couldn’t see clearly enough in the image you posted, but here is a possible clue: If the image not only showed the green tint, but also strings of “blocky” artifacts then what you were seeing was likely a data error in the bitstream, either through incorrect coding, transmission, or storage. If there were no artifacts, there is another possibility and that is that the camera itself has a hardware problem with its frame buffer.
On the other hand, that would not allow it to be seen without problems in another app. Again, testing with VLC is important to give some more clues. You want to configure VLC to tap into the camera’s RTSP stream (you can use Camect to find out the URL it uses for that). This way you are completely exploding Camect from the testing path and directly decoding and showing data coming from the camera.
Arup already mentioned that different SW handles data errors differently. One approach is that when there is a data error, you simply discard the frame with the data error. If that frame is not a key frame, you have a “skip” lasting 1/15 or 1/30 of a second. You’d never notice. If it is a key frame the skip would have to be until the next key frame. Depending on what happens in the view, you might still not notice. A completely different approach relies on the fact that, to some extent, the bitstream for each frame in the video encoding is somewhat able to recover from coding errors and so you would use that to display on “best effort” basis. That could easily result in the green cast as Arup also explained.
It also sounds that the green “thing” persisted for quite some time. The description related to key frames that I gave would not persist for more than part of a second up to perhaps a few seconds, because that’s how often new key frames should be inserted (rebooting starts a new stream, which starts with a key frame as well so that is why it fixed the problem, at least temporarily). If it persisted longer than that it is not simply a matter of a spurious data error, but rather something more systemic, likely in the camera. The possible encoder implementation error is still a possible explanation in that case.
Resetting the camera fixed it, so staying with that theory I would guess an uninitialized piece of memory somewhere.
I don’t know these cameras so cannot say anything about alternative FW. Typically though, these things are specialized enough that you cannot install alternatives easily at all (even if they could exist).
Is this just one camera that shows the problem? Consistently? Only at night? Nightvision images are very different from a typical daytime full color image so that may expose a SW problem that otherwise doesn’t manifest. You did mention that earlier both cameras showed the problem periodically. That would suggest it is not an individual product hardware problem (it would be extremely unlikely).
Does the playback of recorded video using Camect also show the green? If so it might be possible to save the clip and have it analyzed by Camect to see exactly what goes wrong. That might give clues.