我正在使用树莓派为我的父母制作一个在线网络摄像头。我希望它捕获照片,将其上传到网络服务器,然后将副本上传到不同的服务器进行存档。我使用脚本流媒体从网络摄像头中截取静止图像。它有效,问题是流媒体似乎有时会崩溃,循环错误消息“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);