Не удается использовать Moviestim2 на Mac OSX 10.9.5

Я программирую свои эксперименты на Macbook Pro с OSX 10.9.5, графической картой Intel HD Graphics 4000 1024 МБ, с VLC версии 2.0.10 Twoflower (Intel 32bit). Раньше я успешно демонстрировал видео (файлы avi и mp4, 60 кадров в секунду) с помощью MovieStim до версии 1.80. После обновления до версии 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

nDropped 2

(предупреждения удалены). Когда я запускаю код с одним из моих видео (формат файла mov, размер настроен на 800x800), сгенерированным с помощью ffmpeg в формате H.264 из 852 файлов png с 60 кадрами в секунду, чтобы показать движущиеся объекты для задачи отслеживания (без аудиоданных ), окно закрывается сразу же после, вероятно, показа первого кадра. Выход

nВсего 0

nDropped 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(рет/rcount)

(Другие предупреждения удалены) Тесты с форматами файлов avi и mp4 генерировали nTotals от 1 до 2 и, соответственно, никаких предупреждений во время выполнения и тот же результат.

Любая помощь будет оценена по достоинству, потому что до сих пор я не мог вернуться к PsychoPy 1.80, используя Moviestim, как раньше, с avbin 10 (окно зависает, но PsychoPy не падает) в качестве обходного пути.

Лучший,

Пока


person Till Pfeiffer    schedule 13.10.2014    source источник


Ответы (1)


Скорее всего, проблема связана с тем, что в ваших видео нет звуковой дорожки. Попробуйте установить для kwarg noAudio значение True при создании файла MovieStim2.

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

MovieStim2 действительно должен автоматически обнаруживать отсутствие аудиопотока; так что надо менять, когда есть время. ;)

Если вышеперечисленное не работает, можете ли вы опубликовать ссылку на один из ваших примеров видео, чтобы я мог загрузить и отладить?

Обновление: я протестировал предложенный мной обходной путь и обнаружил, что он выявил некоторые другие проблемы. (Арррг..) Эти проблемы теперь исправлены, однако это означает, что для того, чтобы это предложение сработало, вам нужно будет обновить исходный код пакетаPsychopy из главного потока github по состоянию на 23 октября 2014 года или использовать официальное обновление пакета, если доступен один, выпущенный после этой даты.

person Sol Simpson    schedule 22.10.2014