I have two cameras connected to the same H.264 encoder.
The cameras point to completely different scenes.
I get a very blocky, highly compressed-looking, video for several seconds when I switch from one camera to the other. My GOP is 15, which is 0.5 second and I use CBR (fairly low ~10mbps). Cameras are 1080p30. I am using a hardware encoder.
Artefacts are expected as I do not force a keyframe on scene change, but I was expecting the artefacts to only last for the GOP that was ongoing when the switch happened and once the next GOP starts that the video would be perfect.
Why do the artefacts last for several GOPs after the switch?
My expectation is that the rate control algo aims for a given bitrate over one GOP only. Is this assumption incorrect?
How is this kind of ‘scene change’ normally handled? Would forcing a keyframe on the first frame after the switch be enough to avoid this problem?