0

ラズベリーパイを使用して、両親のためにオンラインウェブカメラを作成しています。写真をキャプチャして Web サーバーにアップロードし、コピーを別のサーバーにアップロードしてアーカイブしたいと考えています。スクリプト ストリーマーを使用して、ウェブカメラから静止画をスナップします。問題は、ストリーマーが時々クラッシュし、「v4l2: oops: select timeout」というエラー メッセージがループするように見えることです。これは、数ショット後、または 10 分間の操作後に発生する可能性があり、ランダムに見えます。各スナップショットの後にストリーマー プロセスを強制終了するコマンドを追加しました。これによりプログラムが少し安定しましたが、最終的にはエラー ループに陥ります。問題が何であるか、またはそれをデバッグする方法さえわかりません..どうすればよいですか?

付属のドライバーで raspbian を使用しています。WebカメラはロジクールC200です。最初に opencv を使用して静止画をキャプチャしようとしましたが、適切に動作させることができませんでした。誰かがそれを手伝うことができれば、問題が解決するかもしれません..

これはコードです、それはpythonです:

import time
import sys
from subprocess import call
import ftputil

while True:
    call("streamer -q -f jpeg -s 640x480 -o ./current.jpeg", shell=True)
    time.sleep(0.2);
    call("killall -q streamer", shell=True)
    filename = str(time.time()) + ".jpg"
    host = ftputil.FTPHost(*****)
    #host.remove("/domains/***/public_html/webcam.jpg")
    host.upload("./current.jpeg", "/domains/***/public_html/webcam.jpg", mode='b')
    host.close()
    host = ftputil.FTPHost(****)
    #host.remove("/domains/***/public_html/webcam.jpg")
    host.upload("./current.jpeg", "/webcamarchive/"+filename, mode='b')
    host.close()
    time.sleep(10);
4

1 に答える 1

1

気にしないで、代わりにpygameを使用してください:

cam = pygame.camera.Camera("/dev/video0",(640,480))
cam.start()
image = cam.get_image()
于 2012-12-21T12:36:45.360 に答える