I have been doing some messing around with MovieStim after running into some problematic behavior with PyHab, and discovered some limitations of the ffpyplayer backend.
The short version is that, as noted here (Player — FFPyPlayer documentation), it can take several frame updates after calling “seek” for the seek to actually take effect and the correct frame to be displayed. On both Mac and Windows, I measured that it took about 5 movie frames (a little over 80ms at 60fps). Furthermore, it only works if the video is playing, i.e., it has to continue playing for those 5-6 frames before it will seek to the desired frame, and pausing won’t help.
This is not a PsychoPy problem exactly, it’s an inherent limitation of ffpyplayer (and the other movie backends aren’t better). However, if you are trying to seek to specific frames quickly, you should be aware of it. If you need very precise frame-seeking behavior, you may be better off presenting the movie as a series of ImageStims and if their is audio control the audio separately as a sound.Sound object.