OpenSesame
Rapunzel Code Editor
DataMatrix
Support forum
Python Tutorials
MindProbe
Supported by

Video playback

media_player_mpy plugin

The media_player_mpy plugin is based on MoviePy. It is included by default with OpenSesame. (If you have a custom environment, you can get it by installing the opensesame-plugin-media_player_mpy package.)

OpenCV

OpenCV is a powerful computer vision library, which contains (among many other things) routines for reading video files.

The following example shows how to play back a video file, while drawing a red square on top of the video. This example assumes that you're using the legacy backend.

import cv2
import numpy
import pygame
# Full path to the video file in file pool
path = pool['myvideo.avi']
# Open the video
video = cv2.VideoCapture(path)
# A loop to play the video file. This can also be a while loop until a key
# is pressed. etc.
for i in range(100):
    # Get a frame
    retval, frame = video.read()
    # Rotate it, because for some reason it otherwise appears flipped.
    frame = numpy.rot90(frame)
    # The video uses BGR colors and PyGame needs RGB
    frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
    # Create a PyGame surface
    surf = pygame.surfarray.make_surface(frame)
    # Now you can draw whatever you want onto the PyGame surface!
    pygame.draw.rect(surf, (255,0,0), (100, 100, 200, 200))
    # Show the PyGame surface!
    exp.surface.blit(surf, (0, 0))
    pygame.display.flip()