0

我在装有 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。

最好的,

直到

4

1 回答 1

0

该问题可能与您的视频没有任何音轨有关。创建 MovieStim2 时,尝试将 'noAudio' kwarg 设置为 True。

visual.MovieStim2(win, 'jwpIntro.mov',
        size=[800,800],
        pos=[0, 100],
        noAudio=True,
        flipVert=False,
        flipHoriz=False,
        loop=False)

MovieStim2 应该真的能够自动检测到什么时候根本没有音频流;所以有时间的时候应该改变。;)

如果上述方法不起作用,您能否发布一个指向您的示例视频的链接,以便我下载和调试?

更新:我测试了我建议的解决方法,只是发现它发现了一些其他问题。(Arrrg ..)这些问题现已修复,但这意味着要使此建议生效,您需要从 2014 年 10 月 23 日的 Psychopy github 主流更新您的 Psychopy 包源,或者使用官方包更新,如果在此日期之后发布的一个可用。

于 2014-10-22T23:01:56.667 回答