I guess this is hardware independent? (i.e. you have tried on few boxes/laptops with the same success)
have you asked PsychoPy guys themselves? O mighty Mario, would you happen to have ideas where to look at? On Fri, 29 Nov 2013, Michael Hanke wrote: > Package: psychopy > Version: 1.77.02.dfsg-1 > Severity: normal > Hi, > using movie stimuli in Psychopy doesn't really work smoothly. Whenever a > movie with sound is played I experience dropped frames. I am attaching a > little benchmark that can be used to show this (done in the builder, > just select a movie file and run it). This issue is only present when > sound is actually played. When it is not played, even when a sound > stream is present in the file and avbin just 'ignores' it, the stimulus > is smooth. > All files and codec combinations I tested play smooth in avplay, vlc, > mplayer and others. I see this issue on amd64 and i386 -- independent of > whether Psychopys own system check reports 'dropped frames' on a > particular system or not. I tested Debian Jessie and Ubuntu 13.04, both > show the problem. > Psychopy upstream recommends avbin 5 for movie stimuli, but Debian never > had it (according to snapshots.d.o). Psychopy upstream also recommend > uncompressed PCM audio -- that makes no difference in comparison to, > e.g. FLAC. > Interestingly, I see a similar jerky playback in openshot. However, when > using the MELT player (from the framework that openshot is based on) > everything is smooth. > This is also not an obvious IO issue. Even if I cache the entire movie > file in memory, the frame drops are still present. System load at > playback is negligible. > Any advise would be very much appreciated. > Thanks, > Michael > -- System Information: > Debian Release: jessie/sid > APT prefers testing > APT policy: (650, 'testing'), (600, 'unstable') > Architecture: amd64 (x86_64) > Foreign Architectures: i386 > Kernel: Linux 3.10-3-amd64 (SMP w/4 CPU cores) > Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) > Shell: /bin/sh linked to /bin/dash > Versions of packages psychopy depends on: > ii python 2.7.5-5 > ii python-configobj 4.7.2+ds-5 > ii python-lxml 3.2.0-1+b1 > ii python-matplotlib 1.1.1~rc2-1 > ii python-numpy 1:1.7.1-3 > ii python-opengl 3.0.1-1 > ii python-pygame 1.9.1release+dfsg-8 > ii python-pyglet 1.1.4.dfsg-2 > ii python-scipy 0.12.0-2+b1 > ii python-support 1.0.15 > Versions of packages psychopy recommends: > ii ipython 0.13.2-2 > ii libavbin0 7-1.4 > ii libxxf86vm1 1:1.1.3-1 > ii python-imaging 1.1.7-4 > ii python-openpyxl 1.5.8-1 > ii python-pygame 1.9.1release+dfsg-8 > ii python-pyglet 1.1.4.dfsg-2 > ii python-pyo 0.6.8-1 > ii python-serial 2.6-1 > ii python-wxgtk2.8 2.8.12.1+dfsg-1 > Versions of packages psychopy suggests: > pn python-iolabs <none> > pn python-pyxid <none> > -- debconf-show failed > <PsychoPy2experiment version="1.77.01" encoding="utf-8"> > <Settings> > <Param name="Show mouse" val="False" valType="bool" updates="None"/> > <Param name="Save csv file" val="False" valType="bool" updates="None"/> > <Param name="Monitor" val="testMonitor" valType="str" updates="None"/> > <Param name="Enable Escape" val="True" valType="bool" updates="None"/> > <Param name="color" val="$[0,0,0]" valType="str" updates="None"/> > <Param name="Window size (pixels)" val="[1024, 768]" valType="code" > updates="None"/> > <Param name="Full-screen window" val="False" valType="bool" > updates="None"/> > <Param name="colorSpace" val="rgb" valType="str" updates="None"/> > <Param name="Save log file" val="True" valType="bool" updates="None"/> > <Param name="Experiment info" val="{u'session': u'001', u'participant': > u''}" valType="code" updates="None"/> > <Param name="Save excel file" val="False" valType="bool" updates="None"/> > <Param name="Save wide csv file" val="True" valType="bool" > updates="None"/> > <Param name="Save psydat file" val="True" valType="bool" updates="None"/> > <Param name="expName" val="movie_benchmark" valType="str" updates="None"/> > <Param name="logging level" val="exp" valType="code" updates="None"/> > <Param name="Units" val="use prefs" valType="str" updates="None"/> > <Param name="Show info dlg" val="True" valType="bool" updates="None"/> > <Param name="Saved data folder" val="" valType="code" updates="None"/> > <Param name="Screen" val="1" valType="num" updates="None"/> > </Settings> > <Routines> > <Routine name="movie_routine"> > <MovieComponent name="movie_clip"> > <Param name="opacity" val="1" valType="code" updates="constant"/> > <Param name="name" val="movie_clip" valType="code" > updates="constant"/> > <Param name="movie" val="fg_av_test.mov" valType="str" > updates="constant"/> > <Param name="stopVal" val="10" valType="code" updates="constant"/> > <Param name="durationEstim" val="" valType="code" updates="None"/> > <Param name="pos" val="[0, 0]" valType="code" updates="constant"/> > <Param name="forceEndRoutine" val="False" valType="bool" > updates="constant"/> > <Param name="startEstim" val="" valType="code" updates="None"/> > <Param name="units" val="from exp settings" valType="str" > updates="None"/> > <Param name="startType" val="time (s)" valType="str" updates="None"/> > <Param name="ori" val="0" valType="code" updates="constant"/> > <Param name="stopType" val="duration (s)" valType="str" > updates="None"/> > <Param name="startVal" val="0.0" valType="code" updates="None"/> > <Param name="size" val="" valType="code" updates="constant"/> > </MovieComponent> > <CodeComponent name="code"> > <Param name="Begin Experiment" val="from datetime import > datetime import numpy as np" valType="code" updates="constant"/> > <Param name="name" val="code" valType="code" updates="None"/> > <Param name="Each Frame" val="cur_movietime = > movie_clip._movie._last_video_timestamp if last_movietime and > cur_movietime > last_movietime: n_movieframes += 1 incr = > cur_movietime - last_movietime > movie_frame_increments.append(incr) movie_lags.append(cur_movietime - > t) if lastframe_time: realtime_frame_increments.append(t > - lastframe_time) lastframe_time = t last_movietime = > cur_movietime" valType="code" updates="constant"/> > <Param name="Begin Routine" val="n_movieframes = 0 last_movietime > = None lastframe_time = None movie_frame_increments = > [] realtime_frame_increments = [] movie_lags = []" valType="code" > updates="constant"/> > <Param name="End Routine" val="" valType="code" updates="constant"/> > <Param name="End Experiment" val="import pylab as > pl pl.subplot(1,2,1) pl.hist(realtime_frame_increments, > bins=100) pl.title('Distance of two movie frames in real > time') pl.xlabel('Time in > secs') pl.subplot(1,2,2) pl.hist(movie_lags, > bins=100) pl.title('Lag between movie time and real time for all > frames') pl.xlabel('Time in seconds') print "Movie frames > played:", n_movieframes print 'Mean movie frame increment:', > np.mean(movie_frame_increments), 's (', 1./np.mean(movie_frame_increments), > 'fps )' print 'Unique movie frame increments', > np.unique(movie_frame_increments) pl.show()" valType="code" > updates="constant"/> > </CodeComponent> > </Routine> > </Routines> > <Flow> > <Routine name="movie_routine"/> > </Flow> > </PsychoPy2experiment> -- Yaroslav O. Halchenko, Ph.D. http://neuro.debian.net http://www.pymvpa.org http://www.fail2ban.org Senior Research Associate, Psychological and Brain Sciences Dept. Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755 Phone: +1 (603) 646-9834 Fax: +1 (603) 646-1419 WWW: http://www.linkedin.com/in/yarik -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org