Всем привет, возможно кому-то пригодится скрипт для снятия снэпшотов с IP камер Dahua и их сохранением.
Используемая версия Python: 3.10
Устанавливаем библиотеки:
Используемая версия Python: 3.10
Устанавливаем библиотеки:
Код:
pip install Pillow
pip install requests
Python:
import time
import requests
import datetime
from PIL import Image
from io import BytesIO
from requests.auth import HTTPDigestAuth
def DahuaSnapshot():
# Получаем дату и время
data_time = str(datetime.datetime.now())
# Заменяем в строке подстроки с : на - для передачи строки в сохранение имени файла
data_timing = data_time.replace(":", "-", 2)
# Поднимаем сессию на видеорегистраторе
url = "http://192.168.0.2/cgi-bin/snapshot.cgi"
# Сессия на Dahua поднимается методом Digest аутентификации
auth = HTTPDigestAuth('admin', 'admin')
response = requests.get(url, auth=auth)
if response.status_code == 200:
# Открываем изображение через класс io.BytesIO() реализация потока, использующая буфер байтов в памяти.
image = Image.open(BytesIO(response.content))
# Сохраняем изображения в корень скрипта
image.save(f"C:/Dahua-Snapshot/output/{data_timing}.jpg")
print(f"Изображение сохранено: {data_timing}.jpg")
else:
print(f" Ошибка загрузки изображения, код ошибки: {response.status_code}")
#Вызываем бесконечным циклом функцию и отрабатываем исключения
while True:
try:
DahuaSnapshot()
# Выставляем задержку в цикле 60 секунд
time.sleep(60)
except requests.exceptions.ConnectionError:
print("Произошла ошибка соединения, пробую переподключиться")
continue
except KeyboardInterrupt:
print("Скрипт остановил свою работу")
break
Последнее редактирование: