Screen record participant response in PsychoPy?

Win10, PsychoPy version 2021.2.3, standard standalone

I’m trying to do a usability study using an eye-tracker and am having a difficult time figuring out how to use PsychoPy to record the participant’s screen. It’s an in-person study using an EyeLink 1000 by SR Research, so I’ve been messing around with the beta eye tracking features and have found that the eyetracking demo seems to work fairly well for set-up at least. Part of what I need for the research is an output video file with the participant’s gaze overlaid on the screen they’re using during the study. SR Research’s in-house software can do this and export what I need, but the software package I have doesn’t allow for web browsing as a stimulus (as far as I can tell) so I’m trying to use PsychoPy instead. Thanks!

Is the screen they’re looking at a PsychoPy window or do they go into a different tab? You can use software like OBS to record the entire screen, including PsychoPy, or you can get just the PsychoPy window using win.getMovieFrames each frame and then win.saveMovieFrames to save the frames.

Overlaying the eyetracking trace is something you’ll need to do after as I presume you don’t want the participant to see it, you could do this in a separate experiment which just has a :movie: Movie component showing the saved frames and a :polygon: Polygon whose position is the recorded eye position at that time.

1 Like

Did this work for either of you? I’m using the win.getMovieFrame() and win.saveMovieFrames() method, which works in the builder, but doesn’t work when I push the experiment to Pavlovia! I’m just getting this response: * TypeError: psychoJS.window.getMovieFrame is not a function

Unfortunately this is a Python-only function, so it won’t work online. We’re working on bringing the PsychoJS library (which is what’s used when running online) in line with the PsychoPy (local) library, and this is on the list of functions to include.

1 Like