次のコードは、raspberry pi 3 (raspbian unix OS) で完全に動作します。動画のプレビューを 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
は /boot/config.txt で 128 です
Edit2:: github でこのプロジェクトを見つけました
https://github.com/ashtons/picam
このプロジェクトをインストールし、次のコードを書きました
import picam
import time
picam.recordVideoWithDetails('./foo.h264', 640, 480, 10000)
それは機能し、ビデオを記録しました。ビデオは早送りのように見えました。しかし、それは機能し、リソースが不足することはありませんでした。
では、問題は PiCamera モジュールの何が問題なのかということです