我在装有 OSX 10.9.5、显卡 Intel HD Graphics 4000 1024 MB、VLC 版本 2.0.10 Twoflower(Intel 32 位)的 Macbook Pro 上编写我的实验。我曾经使用最高版本 1.80 的moviestim 成功地呈现视频(avi 和 mp4 文件,每秒 60 帧)。通过安装独立版本升级到 1.81 版后,我尝试使用 moviestim2,调整 Moviestim2.py 中的代码。当我运行下面的代码时:
from psychopy import visual, core
import time, os, pylab
os.chdir('/Users/till/work/edv/psychopy/test/')
win = visual.Window([1440, 900])
win.setRecordFrameIntervals(True)
mov = visual.MovieStim2(win, 'jwpIntro.mov',
size=[800,800],
pos=[0, 100],
flipVert=False,
flipHoriz=False,
loop=False)
shouldflip = mov.play()
while mov.status != visual.FINISHED:
if shouldflip:
win.flip()
else:
time.sleep(0.001)
shouldflip = mov.draw()
intervalsMS = pylab.array(win.frameIntervals[1:])*1000
m=pylab.mean(intervalsMS)
nTotal=len(intervalsMS)
nDropped=sum(intervalsMS>(1.5*m))
print "nTotal", nTotal
print "nDropped", nDropped
core.quit()
视频全长显示,输出为
n总计 142
n删除 2
(已删除警告)。当我使用我的一个视频(文件格式 mov,大小调整为 800x800)运行代码时,使用 ffmpeg 从 852 个 png 文件以每秒 60 帧的速度生成 H.264 格式的视频,以显示跟踪任务的移动对象(无音频数据),窗口可能在显示第一帧后立即关闭。输出是
n总计 0
n已删除 0
/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/numpy/core/_methods.py:55:RuntimeWarning:空切片的平均值。warnings.warn(“空切片的平均值。”,RuntimeWarning)/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/numpy/core/_methods.py:67:RuntimeWarning:double_scalars中遇到的无效值ret = ret.dtype.type(ret / rcount)
(其他警告已删除)使用 avi 和 mp4 文件格式的测试生成的 nTotals 为 1 到 2,因此没有运行时警告和相同的结果。
任何帮助都将不胜感激,因为到目前为止,我无法像以前一样使用moviestim和avbin 10(窗口冻结,但PsychoPy不会崩溃)作为解决方法返回到PsychoPy 1.80。
最好的,
直到