Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

Video Stimulus insertion

I have just started using this software and immediately need to design a priming experiment with different video clips. I am not able to insert video clips. Is there a proper tutorial section discussing usage of such stimulus.


  • Thanks for the guidance.
    I have installed the plugins and single video files are running in the Visual stimulus. But i want to run several videos (100 short clips) for a lexical decision task where we need to display a priming clip followed by a target clip.

    I want to achieve the following:
    1. Display a sequence as such : fixation point-> prime clip-> blank screen-> target clip (with time-out)->response
    The trials will be separated by a blank screen as well.
    3. Make sure that no target clip is repeated for the same participant
    4. We would also like to have a solution of linking video files to a pathname or some name in the excel file too.

    Is there a way to avail these solutions through a builder view at this point. It would be awesome to have it there.


  • Hi Abhijit,
    it certainly is possible, but we're not going to create the task for you :smile:.
    Why don't you give it a go yourself, and then we can help you if you get stuck.

  • Hi Daniel...
    I am completely new to Opensesame as well. I was just wondering... in the case of Psychopy, we put in the video element in the routine, then define the file paths in the conditions file and Psychopy retrieves the videos for us when we run the does this work in Opensesame in the builder view? I have tried putting in the file names under the variable "file_name" in the loop but the files aren't retrieved from the file this achievable without coding?

  • edited December 2016

    Hi NikkieK,
    It certainly is. If you have made a column named "file_name" in the loop, you can access this variable by placing [file_name] in the video file field of the player item. Then it should automatically use the value that 'file_name' has in the current iteration of the loop.

  • edited December 2016

    I did exactly the same...however the experiment stops after playing just one video with the error message : the variable total_response_time not available.

  • Here are the screenshots..I tried implementing a simple loop where a video plays followed by a keyboard response:

    After quickrun:

  • Hi Nikkie,

    It's better to use the media_player_mpy plugin. You can install it by running the following in the debug window:

    import pip
    pip.main(['install', 'opensesame-plugin-media_player_mpy'])

    The vlc-based plugin hasn't been updated for a while (and was never really great to begin with).


  • Thanks Sebastian!

  • Hi,
    I seemed to have run into another problem. I need to play a video and then record the participant's response.. The loop plays a few videos and then the experiment stops.
    Here is the generated error message:

    File "/usr/lib/python2.7/dist-packages/libqtopensesame/misc/", line 140, in run
    File "/usr/lib/python2.7/dist-packages/libopensesame/", line 413, in run
    File "/usr/lib/python2.7/dist-packages/libopensesame/", line 91, in execute
    File "/usr/lib/python2.7/dist-packages/libopensesame/", line 106, in run
    File "/usr/lib/python2.7/dist-packages/libopensesame/", line 51, in run
    File "/usr/lib/python2.7/dist-packages/libopensesame/", line 106, in run
    File "/usr/lib/python2.7/dist-packages/libopensesame/", line 337, in run
    File "/usr/lib/python2.7/dist-packages/libopensesame/", line 90, in execute
    File "/usr/lib/python2.7/dist-packages/libopensesame/", line 122, in prepare
    File "/usr/lib/python2.7/dist-packages/libopensesame/", line 124, in prepare
    File "/usr/lib/python2.7/dist-packages/libopensesame/", line 122, in prepare
    File "/home/nikkiek/.local/share/opensesame_plugins/media_player_mpy/", line 119, in prepare
    elif not self.player.load_media(path):
    File "/home/nikkiek/.local/lib/python2.7/site-packages/mediadecoder/", line 169, in load_media
    self.clock.max_duration = self.clip.duration
    File "/home/nikkiek/.local/lib/python2.7/site-packages/mediadecoder/", line 180, in max_duration
    raise ValueError("max_duration needs to be greater than 1.0")
    ValueError: max_duration needs to be greater than 1.0

    and here is the screenshot of the experiment:

  • edited December 2016

    Hi NikkieK,

    It appears as if the plugin cannot detect the duration of the clip. This may be due to an error in the encoding of the video file. If you open up the video file in another player, are you able to seek in the clip (if not, this is usually indeed means the video file contains some errors).
    You can try to reencode the video file with vlc, or use handbrake. Try to play the reencoded video file in OpenSesame again and if the error persists we can look if the problem is with the plugin.

  • edited December 2016

    I have tried reencoding the file...but the problem still persists...the thing is some of these clips are under this a problem?

  • I am doing a lexical decision task with priming effects using stimuli from sign the duration of some of the video clips are less than a second...

  • Hi NikkieK, that may be the cause then yes. This should be fixed in the next release (even though I think your situation unique as a <1 second videoclip is really exceptional), but that doesn't help you now. Is there anyway you can prolong the clip to a second. Maybe by adding a few blank frames at the beginning or the back?

  • I am also trying to upgrade opensesame so I can input video stimulus. I am getting this error when I try to install the plug in you have linked: File "", line 1
    pip install python-pygaze --upgrade
    SyntaxError: invalid syntax

    am I entering this part in the wrong spot? I am unsure what the "terminal" is

  • Which operating system do you use? On windows, the terminal is the the progam "cmd.exe". You can open it like this. Normally, you should have pip installed, if not, you can follow these instructions.

    I believe you can also just use it directly in opensesame. With ctrl+D, you can enable/disable the debug window. In that window, you can type something like this to upgrade pygaze:

    import pip
    pip.main(['install', 'python-pygaze', '--upgrade'])

    See here:

    I hope this helped.


  • Hi!

    I've just started using Open Sesame (I use 3.2.8 version) for building my experiment and I've run into the same problem mentioned above in this thread. I have a lot of super short videos (about 4/5 of them are less than a second long) and whenever I try running them the experiment crashes with the message: ValueError: max_duration needs to be greater than 1.0

    I use the same format, but bit longer videos (around 2 seconds), in the instruction for example purposes and it works flawlessly, however as soon as it gets to the practice phase it crushes. Has the problem been fixed in the updates yet, and, if not, are there any other solutions besides editing videos to prolong them over 1s (I have about 2000 videos, so that is really my last resort as it'll take way too much time to edit them all again)?

    Thanks a lot!


  • edited August 2019

    Never mind, I just found a solution - in your lib folder, you've got a sub-folder site-packages and in that one another sub-folder called mediadecoder (for example: C:\Program Files (x86)\OpenSesame\Lib\site-packages\mediadecoder ). Open it with code (right click on it and "open with code") and at the very bottom, where max_duration is defined (for me it starts at the row 160) you need to change the value for when to stop and raise the error.

    -So in this set of lines:

    if not value is None:

                if not type(value) in [float, int]:

                    raise TypeError("max_duration needs to be specified as a number")

                if value<1.0:

                    raise ValueError("max_duration needs to be greater than 1.0")

                value = float(value)

            self.__max_duration = value

    -change the line

    if value<1.0:


    if value<0.1:

    -and it'll run all the videos that are longer than 10ms.

    Hope this will be of help to others as well!


  • Thanks for sharing!

Sign In or Register to comment.