Inaccurate timing of videos in online experiment

I have conducted a pilot study on Pavlovia and now I am now checking the result and planning the main experiment. In the experiment I am showing 2 short videos (2,18s each) and asking participants to make a choice using the keyboard when seeing the 2nd video. Every trial the two videos are loaded from a .xlsx file.

Brief description of the trial:

Presentation of fixation cross(2s), 1st video (2.18s), 2nd video (2.18s), fixed frame of the video (3s).

When the 2nd video is presented, I change the background colour (drawing a coloured square) and start to record for the keyboard RT until the end of the fixed frame.

To control the duration and presentation of the stimuli and keyboard component I used “STIMULUS.status==FINISHED” as much as possible.

Problem

Checking the results of my experiment I noticed that the presentation of my stimuli was not extremely precise. The videos were not presented from 2.18s but in a range between 2.3s and 2.7s. I extracted this timing checking the .log file and calculating the difference between the 1st and 2nd videos “autodraw = true” and the 2nd video and fixed frame “autodraw = true”. I suppose this is due to the different hardware and browsers that participant used. The variability within each participant seems to be quite small and that reassure me.

However, one participant showed a very big variability. Video duration ranged from 2.39s to 47.65s. This obviously resulted in a “slow-motion” presentation of the videos and in unreliable data. The participant in question used a Windows machine and Firefox to conduct the experiment.

I was wondering if anyone had any idea what might have caused this extreme imprecision and variability in the video presentation? Is there a way I can try to maximize the precision of the stimuli presentation?