我想知道是否可以访问我的 Hikvision IP 摄像机的 H264 编码主流DS-2CD2032-I通过 SimpleCV。
我在浏览器中获取到的 H264 流是
rtsp://192.168.1.199:554/ISAPI/streaming/channels/101?auth=YWRtaW46MTIzNDU=
SimpleCV 是 OpenCV(计算机视觉包)的 Python 包装器。
答案1
SimpleCV 有一个Image
类你可以用它来处理图像文件(而不是告诉它从硬件中获取图像)所以你的实际问题是从当前流中提取图像。
有很多方法可以做到这一点,但我可能会将其保持在带外(在 Ubuntu 中,而不是 Python 中),并始终不断更新相同的图像文件(并在 Python/SimpleCV 中循环)。
首先你需要一个流媒体地址。海康威视产品列表但它看起来应该是这样的:rtsp://IPADDRESS:554/h264
然后我们可以运行avconv
(从libav-tools
包中,或者ffmpeg
从任何你可以找到的知名 PPA 中)来捕获并继续每秒捕获一次(基于此):
avconv -i rtsp://IPADDRESS:554/h264 -f image2 -r 1 -updatefirst 1 /path/to/img.jpg
这让我们回到 SimpleCV。为了大大简化他们的例子:
import time
from SimpleCV import *
while True:
img = Image('/path/to/img.jpg')
img.show()
time.sleep(1) #wait for 1 second
另外,相机规格声称它提供 FTP 访问(除其他外)。任何可以获取图像文件的东西都是可行的选择。