Video Texture VideoFFmpeg: size

size
  • Returns the source image size.

Return Type: 

  • integer list [ width, height ]

width:

  • Type: integer
  • pixel width of the image.
height:
  • Type: integer
  • pixel height of the image.
Note:
  • Video Texture width and height should be a power of 2.
  • If the Video Texture is not a power of 2, the graphics pipeline automatically rescales the texture to a power of 2.
Power of 2:
  • 2 x 2
  • 4 x 4
  • 8 x 8
  • 16 x 16
  • 32 x 32
  • 64 x 64
  • 128 x 128
  • 256 x 256
  • 512 x 512
  • etc
  • And any combination.  128 x 512 is a power of 2.
Example:
  • A texture of 300 x 300 will be automatically rescaled by the graphics pipeline to 512 x 512.
  • A texture of 130 x 520 will be automatically rescaled by the graphics pipeline to 256 x 1024.
Sample Code

###################### get the size of the source video

# import bge module
import bge

# get the current scene
scene = bge.logic.getCurrentScene()

# get list of objects in scene
objList = scene.objects

# get object named MovieScreen
obj = objList["MovieScreen"]

# check to see if Video FFmpeg Texture was saved as an object variable
# in other words, was the movie started

if "Video" in obj:

# get the saved object variable
video = obj["Video"]

# update the video texture
video.refresh(True)

else:

# get matID for the movie screen
# my material is named Display
matID = bge.texture.materialID(obj, "MADisplay")
   
# get the video texture
video = bge.texture.Texture(obj, matID)
      
# get the name of the movie
movieName = "BigBuckBunny.ogg"
      
# get movie path
# movie is in same directory as blend
movie = bge.logic.expandPath('//' + movieName)
      
# get video texture source
video.source = bge.texture.VideoFFmpeg(movie)
 
# get video source size
video_size = video.source.size
   
# save video texture as an object variable
obj["Video"] = video
   
# start the video
video.source.play()