我正在为父母制作一个在线摄像头,使用覆盆子pi。我希望它能够捕获照片,将其上传到网络服务器,然后将副本上传到其他服务器进行存档。我使用脚本流媒体从网络摄像头拍摄静止图像。它的工作原理,问题是它看起来流光有时会崩溃,循环错误信息“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);
答案 0 :(得分:1)
没关系,改为使用pygame:
cam = pygame.camera.Camera("/dev/video0",(640,480))
cam.start()
image = cam.get_image()