Hello Frank,
Thank you so much for trying to help me. Unfortunately however, your solutions haven’t worked.
I changed the paths from absolute to relative, but this doesn’t seem to make any difference. In addition, I also come up against exactly the same problems when I try to run the experiment from local storage rather than cloud storage.
Intriguingly, I do have some more information about why this may be happening. Specifically, when I try to run the videos using the moviepy backend, I get these warnings, which probably explain why I only see each video for a juddery split-second:
15.6699 WARNING 2.2512787000159733: Video catchup needed, advancing self._nextFrameT from 0.0 to 0.05
15.6699 WARNING 2.2513092000153847: Video catchup needed, advancing self._nextFrameT from 0.05 to 0.1
15.6699 WARNING 2.251322700001765: Video catchup needed, advancing self._nextFrameT from 0.1 to 0.15000000000000002
15.6699 WARNING 2.251334999979008: Video catchup needed, advancing self._nextFrameT from 0.15000000000000002 to 0.2
15.6699 WARNING 2.251346500008367: Video catchup needed, advancing self._nextFrameT from 0.2 to 0.25
15.6699 WARNING 2.251357899978757: Video catchup needed, advancing self._nextFrameT from 0.25 to 0.3
15.6699 WARNING 2.2513689000043087: Video catchup needed, advancing self._nextFrameT from 0.3 to 0.35
15.6700 WARNING 2.2513798999716528: Video catchup needed, advancing self._nextFrameT from 0.35 to 0.39999999999999997
15.6700 WARNING 2.251390999997966: Video catchup needed, advancing self._nextFrameT from 0.39999999999999997 to 0.44999999999999996
15.6700 WARNING 2.251402599969879: Video catchup needed, advancing self._nextFrameT from 0.44999999999999996 to 0.49999999999999994
15.6700 WARNING Max reportNDroppedFrames reached, will not log any more dropped frames
It seems that the video skips most of the frames to “catch-up” on something.
In contrast, when I run the experiment using the opencv backend, the video runs absolutely fine without any judder, but the experiment then crashes at the end of the first video. Again, I receive warnings, but this time they say:
18.1166 WARNING MovieStim2 dropping video frame index: 1
20.6340 WARNING MovieStim2 dropping video frame index: 53
20.6341 WARNING MovieStim2 dropping video frame index: 54
20.6341 WARNING MovieStim2 dropping video frame index: 55
20.6341 WARNING MovieStim2 dropping video frame index: 56
^ These five frame indexes always refer to the first frame and the final 4 frames of the video
And then directly underneath these warnings, I see:
1.1462 WARNING Monitor specification not found. Creating a temporary one…
File “C:\Users\sday\OneDrive - Nexus365\Documents\DPhil\Trust-Context Study\PsychoPy Experiment\ContextStudy1_lastrun.py”, line 1449, in
win.flip()
File “C:\Users\sday\AppData\Local\Programs\PsychoPy\lib\site-packages\psychopy\visual\window.py”, line 1082, in flip
thisStim.draw()
File “C:\Users\sday\AppData\Local\Programs\PsychoPy\lib\site-packages\psychopy\visual\movie2.py”, line 737, in draw
self._updateFrameTexture()
File “C:\Users\sday\AppData\Local\Programs\PsychoPy\lib\site-packages\psychopy\visual\movie2.py”, line 700, in _updateFrameTexture
raise RuntimeError(“Could not load video frame data.”)
RuntimeError: Could not load video frame data.
################ Experiment ended with exit code 1 [pid:17696]
I think the problem is that certain frames are dropped from the end of the video, which leads to the Runtime Error “could not load video frame data”.
Intriguingly, if I tick the “loop playback” tickbox, the videos are presented fine and the experiment doesn’t crash. Unfortunately however, I then see the first five frames of each video again at the end of the video (which I obviously don’t want for an expression judgement task because it makes the expression look very odd)
Alternatively, the experiment also doesn’t crash (mostly) if I set the duration to $Duration - 0.30 (I’ve already defined each video’s duration in the spreadsheet). I think this is because chopping 0.3 seconds off the video prevents the final four frames from dropping at the end. However, again, I don’t want to lose large chunks of my video. Furthermore, the experiment still crashes after certain videos even when I set the duration to this.
I hope this looks familiar? If so, any more advice would be hugely appreciated! Thank you so much once again!