I know this is an old topic, but I'm looking into the problem myself and I found this excellent tutorial on using OpenCV:
https://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/Personally I would avoid sharpening algorithms, which may compromise the geometry in unexpected ways. With video you can probably afford to throw away blurry frames anyway.
I've anyones interested I've made a Python script for this and could share it.