Video Resolution Issues - Dropping Frames
I am implementing an experiment on a touchscreen tablet (which is actually a 2-in-1 computer/tablet running windows 10 - ASUS T101HA) during which participants at one point will need to view a video clip. However I am having problems with getting the video & sound to play smoothly (usually one or the other goes depending on settings).
I am running 3.1.6 and with the legacy backend with double buffering set to no. The experiment resolution is set at 1280 x 800 which is the resolution of the tablet screen. I have tried the other backends - but these have the same problem (or the experiment runs v slow, or without the touchscreen working properly). I have tried .mp4, .avi, and .flv video formats and a whole variety of video resolutions:
With the video at 1280 x 800 .avi .mp4 or .flv - the sound is fine but the video is very jerky (dropping frames?)
With the video at 720 x 480 .avi - it runs reasonably ok (watchable but not as smooth as desired) - but is obviously very small, if I set 'Fit video to screen' as yes, then I get juttery sound and slightly jerky video.
The video appears to play ok when I run the experiment on my more powerful iMac - which makes me think this may be related to the fairly weedy power of the 2-in-1 computer. However, if I play the video outside of Opensesame on say VLC or similar the 2-in-1 computer can handle it fine even the highest quality version.
Is there a solution to this - other than buying considerably more powerful tablets?
Comments
Anyone?
Hi Kezzo,
I don't have much experience with video playback myself, so I'm just guessing here, but which video plugin do you use? Maybe if you switch to a different one, it will work better?
Eduard
Thanks for the reply Eduard. I'm currently using the inbuilt media_player_mpy - but that is a good idea - I will download and try the vlc one and the openCV one as suggested on that link and see if they resolve the issue...
So installing the media_player_vlc plugin has done the trick - video plays beautifully. However, now when I run my experiment, after the video plays the experiment aborts with an error saying the variable total_response_time does not exist. Any suggestions?
If you don't care about the automatically computed response time, define the variable
total_response_time
in the beginning of the experiment once. For example in aninline_script
:Eduard