我有一个需要从网络中的IP摄像头抓取图像的Web应用程序。这可能使用PHP吗?或者至少是JS?只需要Web应用程序从IP摄像头抓取并保存图像。我已经能够使用WEBCAMS(通过USB网络摄像头)这样做但不知道如何使用实际的IP摄像头来做到这一点。如果有一个已经可用的脚本(免费或付费)来做这件事,也会喜欢它。
真的很感激任何帮助!
PS 相机也有RSTP支持...如果这样可以更容易实现相同的结果......
答案 0 :(得分:1)
更简单的解决方案可能是切换到python和opencv。从IP摄像头获取任何流都很容易,并且在opencv的帮助下你可以在3分钟内保存到视频或一系列图像。
import cv2
import time
cap = cv2.VideoCapture(stream_url) # it can be rtsp or http stream
ret, frame = cap.read()
while ret:
cv2.imwrite('images/{}.jpg'.format(time.time()), frame)
ret, frame = cap.read()
另外,寻找相机API,许多IP相机都有单个快照的地址,所以你可以拉出并保存它:
import numpy as np
import cv2
import urllib
resp = urllib.urlopen(url)
image = np.asarray(bytearray(resp.read()), dtype="uint8")
image = cv2.imdecode(image, cv2.IMREAD_COLOR)
# image is in memory, we can save it, send it etc...
最后,在大多数情况下,IP摄像头都有mjpeg流,可以直接嵌入img html标签<img href='http://ip_address/video.mjpg' />
中作为示例
答案 1 :(得分:0)
如果您的相机支持FTP并且您可以在需要时使用FTP图像,那么您可以尝试我正在开发的IP Camera FTP和远程查看服务:
运行演示或在https://app.comsci.co.uk/camac
创建帐户此服务能够通过网址(通过设置 - >共享启用)从每个相机共享最新图像,例如对于喂鸟器模拟账户:
https://app.comsci.co.uk/imageserver/CC/0123456789abcdef/bird/latest
您还将获得可能感兴趣的图像的历史记录。
与简单的FTP服务器相比,在开发过程中目前免费的许多优点。如果该服务证明是可行的并且商业订购的定价将与24x7运行录像机的电费成本相当