从 bash 或 REST 设置海康威视摄像头中的日期和时间?

Set date and time in Hikvision camera from bash or REST?

如何从 linux 命令行在海康威视摄像机中设置日期和时间?或者来自某种语言,例如 Python、PHP 等... 我有一台连接到相机的计算机,我想在不访问浏览器的情况下更改相机中的日期和时间,只能从终端。 谢谢

您可能会用到文档 HIKVISION ISAPI 。如您所知,接口取决于相机固件版本。 用于设置相机的日期和时间。您需要 URL

的 HTTP PUT 方法

http://hikvision_camera_ipaddress[:http_port]/ISAPI/System/time.

一般来说,网络摄像机有3种时间模式; NTP、手动、同步(海康威视时间正确)。

同上先通过GET方法获取摄像头的日期和时间会更好url。 之后,您将获得有关通过 PUT 方法设置日期和时间的 HTTP 主体的提示。

更多细节请参考文档 8.1.9

如果您的相机支持 onvif,您可以使用名为 python-onvif 的 python 库(对于 2.x):

pip install onvif

或python-zeep-onvif(对于 3+):

pip3 install --upgrade onvif_zeep

Python代码:

from onvif import ONVIFCamera
camera_ip = "your camera ip"
camera_port = "your camera port, default is 80"
wsdl_path = "path to wsdl folder"
cam = ONVIFCamera(args.ip, 80, login, password, wsdl_path)
time_request = cam.devicemgmt.create_type('SetSystemDateAndTime')
time_request.DateTimeType = "Manual"
time_request.DaylightSavings = True
time_request.UTCDateTime.Time.Hour = 4 
time_request.UTCDateTime.Time.Minutes = 20
time_request.UTCDateTime.Time.Seconds = 0
cam.devicemgmt.SetSystemDateAndTime(time_request)

请检查 python-onvif 软件包 page and onvif operation page 以获取更多详细信息