Odkryj, jak wykorzystać API rejestratorów NVR Dahua do automatycznego pobierania nagrań wideo z wybranego zakresu czasu – idealne rozwiązanie dla firm potrzebujących szybkiego dostępu do archiwalnych materiałów.
API, czyli interfejs programowania aplikacji, umożliwia bezpośrednią komunikację z urządzeniem NVR za pośrednictwem zapytań sieciowych. Dzięki temu możemy tworzyć własne narzędzia do zarządzania nagraniami, dopasowane do potrzeb własnej organizacji.

Rejestrator IP NVR5432-EI 32
Wykorzystując właśnie API rejestratorów, stworzyliśmy prosty program, który pozwala w szybki sposób pobrać nagranie z dysku urządzenia, z określonego przedziału czasu. Dzięki temu nie trzeba ręcznie logować się do interfejsu WWW czy przeszukiwać osi czasu. Wystarczy wskazać kanał, datę i godzinę, a aplikacja automatycznie zapisze plik wideo na komputerze.
.jpg)
Poniżej przedstawimy 3 warianty omawianego programu, aby każdy użytkownik mógł wybrać najwygodniejszy dla siebie sposób pracy:
• Hardcoded – najprostszy skrypt, w którym parametry wpisane są bezpośrednio w kodzie
• CLI – wersja uruchamiana z linii poleceń z argumentami. Idealna do automatyzacji i integracji z innymi narzędziami
• GUI – aplikacja z prostym interfejsem graficznym w Tkinterze, przeznaczona dla osób, które wolą pracować w trybie „okienkowym”.
Dzięki podzieleniu programu na trzy warianty, całość staje się na tyle elastyczna, że odnajdzie się w niej zarówno administrator systemów bezpieczeństwa, jak również mniej techniczni pracownicy, którzy potrzebują tylko kilku kliknięć, by uzyskać dostęp do archiwum.
Użyte biblioteki : requests

W kolejnym kroku program przygotowuje dane potrzebne do komunikacji z rejestratorem.
Łączymy się Endpointem loadfile.cgi rejestratora Dahua, który odpowiada za udostępnienie nagrań zapisanych na dysku NVR. Wysyłane jest tam żądanie, z parametrami podanymi w zmiennych.

Na koniec program wysyła zapytanie do rejestratora i obsługuje odpowiedź. Najpierw próbuje nawiązać połączenie:

Jeśli odpowiedź ma kod 200 (OK), oznacza to, że nagranie zostało znalezione. Program pobiera je strumieniowo w kawałkach (żeby nie obciążać pamięci) i zapisuje do wskazanego pliku .dav. Na końcu wyświetla komunikaty o sukcesie i rozmiarze zapisanego pliku :

W przeciwnym wypadku sprawdzane są inne statusy: 400 (brak nagrania w danym zakresie), 401 (błąd logowania) lub inne nieoczekiwane kody, dzięki czemu w razie problemów użytkownik od razu wie, co poszło nie tak :

Ten wariant jest szczególnie przydatny dla:
• osób technicznych, które chcą szybko przetestować komunikację z rejestratorem,
• administratorów, którzy potrzebują pobrać pojedynczy plik bez dodatkowej konfiguracji,
• osób uczących się podstaw integracji z API Dahua

Jako parametry zapytania wysyłanego do API podajemy tym razem elementy tablicy args :

Mechanizm działania samego programu pozostaje ten sam: nawiązuje połączenie z rejestratorem przez API Dahua, pobiera nagranie z wybranego kanału i zapisuje je do pliku .dav. Różnica polega jedynie na tym, że wszystkie dane wejściowe, podawane są w wygodny sposób jako parametry wywołania.
Przykładowe wywołanie skryptu wygląda tak :
![]()
Użyte biblioteki:

Wygląd interfejsu
Najbardziej charakterystycznym fragmentem kodu jest tworzenie pól formularza, w których użytkownik wpisuje wszystkie potrzebne dane: adres IP rejestratora, login, hasło, numer kanału, czas startu i końca nagrania oraz nazwę pliku wyjściowego.
Dzięki temu nie trzeba edytować kodu ani używać konsoli, a wszystkie informacje wprowadzane są w prostym i czytelnym formularzu:

Kolejnym ważnym elementem jest uruchamianie pobierania w osobnym wątku, dzięki czemu interfejs pozostaje responsywny nawet podczas zapisu dużego pliku:
.png)
Ta wersja świetnie sprawdzi się dla użytkowników nietechnicznych.
Wystarczy kilka kliknięć, by pobrać nagranie z NVR bez znajomości konsoli czy kodu źródłowego.
Pokazana aplikacja to tylko przykład tego, co można osiągnąć, wykorzystując API firmy Dahua.
Jeżeli Twoja firma potrzebuje indywidualnych narzędzi do obsługi urządzeń monitoringu,
od prostych aplikacji desktopowych, po zaawansowane systemy integrujące wiele źródeł danych, chętnie pomożemy w ich stworzeniu.
Powyższa aplikacja powstała w oparciu o model rejestratora Dahua NVR5432-EI