Avoid recreating video frame texture for every frame by creating the video texture once, then update its content for each video frame, I'm not sure but I feel this may speed up texture data uploading to GPU.
Also, updating video frame texture should be scheduled according to video frame rate. for instance, if your video is 25fps, then you need to update video frame texture once every 40ms (1000ms/25). not for every rendering frame.