RTSP VideoCapture.read() hangs if call-rate falls behind stream's framerate

the Video I/O API is not designed to handle that.

run your VideoCapture in threads. read all frames. use those you need.

OpenCV releases the interpreter lock, so yes, python threads will work.

that’s the only solution you have.

or use respective media APIs directly.