in the sketch, where you call video.read() how do you know that frame was delayed 50-200ms? If you would be capturing and just outputting frames straight to screen you wouldn't notice (with your naked eye) such a difference, thus I presume you used save() or saveFrame().
And this is the whole new opera. If you were saving frames to files, this "delay" is caused by your sketch saving file to hard-drive. You don't see it every frame, because your OS first was buffering files in memory, and this delay happens when your OS filebuffer is full and it does physical write of the file to the drive.