2017-05-10 17 views
0

RPi Camを使用して画像をキャプチャして保存するプログラムを作成しました。
システムがうまく動作しますが、突然、私は次のエラーを取得:2日後にラズベリーのカムが機能しなくなる

mmal: mmal_vc_port_enable: failed to enable port 
vc.ril.image_encode:out:0(JPEG): ENOMEM 
mmal: mmal_port_enable: failed to enable port 
vc.ril.image_encode:out:0(JPEG) 
(0xc8a100) (ENOMEM) 
Traceback (most recent call last): 
    File "./Test_cam.py", line 300, in <module> 
    putfunc() 
    File "./Test_cam.py", line 169, in putfunc 
    oneshot(_client_id) 
    File "./Test_cam.py", line 137, in oneshot 
    _cam.capture(ifn, use_video_port=True,resize=(1920,1080),splitter_port=0) 
    File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 1418, in capture 
    encoder.start(output) 
    File "/usr/lib/python2.7/dist-packages/picamera/encoders.py", line 1126, in start 
    super(PiCookedOneImageEncoder, self).start(output) 
    File "/usr/lib/python2.7/dist-packages/picamera/encoders.py", line 377, in start 
    self.output_port.enable(self._callback) 
    File "/usr/lib/python2.7/dist-packages/picamera/mmalobj.py", line 1249, in enable 
    prefix="Unable to enable port %s" % self.name) 
    File "/usr/lib/python2.7/dist-packages/picamera/exc.py", line 184, in mmal_check 
    **raise PiCameraMMALError(status, prefix)** 
**picamera.exc.PiCameraMMALError: Unable to enable port vc.ril.image_encode:out:0: Out of memory** 

誰も私を助けることができますか?

+0

を。 –

+0

ありがとうございます!私は閉めることなくPiCameraを開くだけです! :) –

+0

あなたのSDカードのような愚かなものではなく、キャプチャしたすべての画像がいっぱいですか? – barny

答えて

0

関連:
エラーメッセージ "_mmal:mmal_vc_port_enableは:port_を有効にすることができなかったが、" から libmmal.soです。 API - mmalobj
警告
に次のように発見

APIのこの部分は、まだ実験および将来のバージョンで変更される場合があります。

あなたは最新picamera modulelibmmal.soを使用していることを、確認してください。 picameralibmmal.soを使用しているため、互換性のあるバージョンも使用しています。

さらに情報サイト:
raspberrypi.org: Pure Python camera interfacepicamera
SO Answer: HowTo update libmmal.so


のメンテナコメント:私は "メモリ" "メモリ不足" という用語

にどういう意味か知ってはいけません

フォローアップエラーである可能性があります。

エラーメッセージ
MMAL:mmal_vc_port_enable:アウト::0(JPEG):ポート
vc.ril.image_encode有効にするために失敗したENOMEM

をと間違って何かがあるに違いありませんポート
また、長時間実行した結果、バッファオーバーランが発生する可能性があります。


あなたカメラが損傷していないされていることを確認し、次のスクリプトを試してください:あなたは、エラー・ログをフォーマットする必要が

from time import sleep 
from picamera import PiCamera 

camera = PiCamera() 
camera.resolution = (1024, 768) 
camera.start_preview() 
# Camera warm-up time 
sleep(2) 
camera.capture('foo.jpg', resize=(320, 240)) 
0
while (time.time() - start) < vterm: 
    _cam.annotate_text = id + "\n" + time.strftime('%Y-%m-%d %H:%M:%S') 
    nt = time.time() 
    if (nt - pt) > iterm: 
     ifn = tmpfname('jpg') 
     _cam.capture(ifn, use_video_port=True,resize=(1920,1080),splitter_port=0) 
     tmp2nofile(nt, _path['live'], ifn, 'jpg') 
     pt = nt 
     if _debug: 
      print 'image',ifn 
    time.sleep(0.1) 
_cam.stop_recording(splitter_port=1) 
tmp2nofile(start, _path['live'], vfn, 'h264') 
_cam.stop_preview() 
_cam.close() 
関連する問題