When a Player is playing back a source with video, use the get_texture method to obtain the video frame image. This can be used to display the current video image syncronised with the audio track, for example:
@window.event def on_draw(): player.get_texture().blit(0, 0)
The texture is an instance of pyglet.image.Texture, with an internal format of either GL_TEXTURE_2D or GL_TEXTURE_RECTANGLE_ARB. While the texture will typically be created only once and subsequentally updated each frame, you should make no such assumption in your application -- future versions of pyglet may use multiple texture objects.