Raspberry PI 3 не может сохранять видео

Следующий код отлично работает на моем raspberry pi 3 (ОС Raspbian Unix). и я могу посмотреть превью видео на 10 секунд. (похоже камера установлена ​​правильно).

from camera import PiCamera
from time import sleep
camera = PiCamera()
camera.start_preview()
sleep(10)
camera.stop_preview()
camera.close()

но если я попытаюсь сохранить предварительный просмотр в файл с помощью

from camera import PiCamera
from time import sleep
camera = PiCamera()
camera.start_preview()
camera.start_recording("./foo.h264")
sleep(10)
camera.stop_recording()
camera.stop_preview()

то я получаю сообщение об ошибке

mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
Traceback (most recent call last):
  File "CaptureVideo.py", line 3, in <module>
    camera = PiCamera()
  File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 488, in __init__
    self.STEREO_MODES[stereo_mode], stereo_decimate)
  File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 620, in _init_camera
    prefix="Camera component couldn't be enabled")
  File "/usr/lib/python2.7/dist-packages/picamera/exc.py", line 191, in mmal_check
    raise PiCameraMMALError(status, prefix)
picamera.exc.PiCameraMMALError: Camera component couldn't be enabled: Out of resources (other than memory)

Я гуглил сообщение об ошибке, но не нашел конкретного ответа.

Изменить:: Мой gpu_mem равен 128 в /boot/config.txt

Edit2:: Я нашел этот проект на github

https://github.com/ashtons/picam

Я установил этот проект и написал следующий код

import picam
import time
picam.recordVideoWithDetails('./foo.h264', 640, 480, 10000)

и это сработало, и он записал видео. видео выглядело так, как будто это ускоренная перемотка вперед. но это сработало и не исчерпало ресурсы.

Итак, теперь вопрос в том, что не так с модулем PiCamera.


person Knows Not Much    schedule 18.04.2016    source источник
comment
Что, если вы включите и выключите камеру, перезагрузите Pi, добавите camera.close() в скрипт, сохраняющий предварительный просмотр, и попробуете запустить его снова?   -  person jDo    schedule 19.04.2016
comment
такой же. ошибка. Я добавил camera.close() в конце скрипта. теперь я выключил rp3 и выдернул шнур питания. затем снова подключил питание и загрузил rp3. запустил скрипт. тот же результат   -  person Knows Not Much    schedule 19.04.2016
comment
Дерьмо. У меня самого нет камеры, но я несколько раз видел, как варианты этой ошибки появляются на SO и на сайте Raspberry Pi. Ответы / предложения, кажется, сильно различаются: от того, чтобы убедиться, что камера не используется, до того, что порт вашей камеры сломан! Получите новый Пи!. Это и это может иметь значение. Интересно, имеет ли значение, что в трассировке упоминается строка 3 (ошибки перед записью?)   -  person jDo    schedule 19.04.2016