Original PR: https://github.com/barneygale/asyncvnc/pull/19 Extract the "numpy" magic from video.read() into a separate video._update_rect() method Adds some tests. Make easier to add other encodings in the future.