0

我正在使用树莓派为我的父母制作一个在线网络摄像头。我希望它捕获照片,将其上传到网络服务器,然后将副本上传到不同的服务器进行存档。我使用脚本流媒体从网络摄像头中截取静止图像。它有效,问题是流媒体似乎有时会崩溃,循环错误消息“v4l2:oops:select timeout”。这可能在几次拍摄后发生,或者在运行 10 分钟后发生,这似乎是随机的。我添加了一个命令,在每个快照之后终止流媒体进程,它确实使程序更加稳定,但最终它仍然卡在错误循环中。我不知道问题是什么,甚至不知道如何调试它。我该怎么办?

我正在使用包含驱动程序的 raspbian。网络摄像头是罗技 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 回答