OpenCV has a module called "super resolution"[0] whose goal is to reconstruct high-quality images from multiple low quality images.
If a high res stream is available, it is much better to use it. A basic face detection algorithm and snapshots of them saved regularly would go a long way and are really simple to implement.