WTF is g.blurtex? You never initialize it anywere. g.tex works becouse you initialize it in g.tex = texture.Texture(own, 0, 0). If you are initializing it somewhere (another script), make sure it is before this one or check if the attribute exists before trying to use it. You do that with the if hasattr(g, ‘blurtex’): g.blurtex.refresh()
Great that seemed to solve the problem, maybe the scripts were being initialized before the game textures were loaded, resulting in an error for the first frame.
The samples for VideoTexture are not the best architecture. I really do not see why a custom object is stored as singleton at a build-in module. This restricts your code to a single object.
I suggest to store a newly created bge.texture.Texture() in a property at the object the object that creates it.
e.g.