Przejdź do treści

Urządzenia w sieci lokalnej

Zakładka Devices automatycznie wykrywa urządzenia w lokalnej sieci IPv4. Obsługuje kamery Dahua, bezpośrednie strumienie RTSP i HLS oraz monitorowanie serwerów przetwarzających AITracker.

Po otwarciu zakładki AITracker sam wybiera lokalną podsieć i rozpoczyna skanowanie. Wyniki pojawiają się jako karty kandydatów z kategorią, producentem, adresem i wykrytymi usługami. Przycisk Configure and add otwiera jeden formularz zawierający nazwę, kategorię, endpoint i opcjonalne poświadczenia. Hasła są zapisywane w bezpiecznym magazynie systemowym, nie w ustawieniach.

Zapisane urządzenia pozostają na liście po ponownym uruchomieniu aplikacji. Karta pokazuje aktualny stan urządzenia; zapamiętana kamera, która nie odpowiada, pozostaje widoczna jako nieaktywna. Kliknięcie karty pokazuje po prawej stronie panel jej zapisanych właściwości oraz najnowszego stanu. Wybór jest powiązany z trwałym identyfikatorem urządzenia, dlatego nie znika, gdy odświeżenie statusu przebudowuje karty.

Po zamknięciu okna Podgląd ostatnia odebrana klatka pozostaje widoczna w panelu szczegółów wybranej kamery. Obraz jest przechowywany wyłącznie w pamięci do zamknięcia aplikacji; zwykłe sprawdzanie statusu nie otwiera dodatkowego strumienia RTSP i nie zastępuje zapamiętanej klatki.

Przycisk Edit settings w panelu szczegółów pozwala zmienić zapisaną nazwę, kategorię, połączenie lub poświadczenia również wtedy, gdy urządzenie jest offline. AITracker nigdy nie pokazuje zapisanego hasła: puste pola zachowują dotychczasowy sekret, nowe wartości go zastępują, a opcja Remove saved credentials usuwa go jawnie. Edycja jest wyłączona podczas aktywnego nagrywania danego urządzenia.

Serwer przetwarzający AITracker jest wykrywany przez diagnostyczne API HTTP na porcie 30000, 8080 lub 80. Aplikacja weryfikuje endpointy /health i /version, a następnie co pięć sekund odświeża stan przetwarzania z /status. Karta serwera pokazuje bieżący stan bez akcji kamerowych. Prawy panel serwera oddziela stan połączenia od stanu pracy. Pokazuje aktywne zadanie i jego postęp, osobne paski CPU, RAM, użycia GPU i pamięci GPU oraz zajętość każdego raportowanego dysku. Brak danych diagnostycznych jest rozróżniany od prawidłowej pustej listy urządzeń. Szczegóły połączenia są zwijane, aby bieżący stan i zasoby pozostawały widoczne bez przewijania. Karta serwera nie udostępnia akcji kamerowych. Serwer działający na innym porcie można dodać ręcznie, wybierając AITracker server API.

Zwijana sekcja Rozpocznij nowe zadanie pokazuje zamontowane nośniki oraz skonfigurowaną liczbę poziomów ich katalogów (domyślnie trzy). Do jednego zlecenia można zaznaczyć checkboxami kilka katalogów. Zaznaczenie całego dysku albo katalogu obejmuje jego zawartość, więc zaznaczone elementy podrzędne nie są wysyłane drugi raz.

Można również ręcznie dodać strumień na żywo. Wystarczy podać pełny adres rtsp:// lub rtsps://, albo manifest HLS dostępny przez HTTP(S), którego ścieżka kończy się na .m3u8. Nie jest potrzebne API Dahua, Hikvision, BCS ani ONVIF. Jeżeli adres zawiera login i hasło, AITracker usuwa je z zapamiętanego endpointu i odkłada do systemowego Keyringu. Po pomyślnym odczycie pierwszej klatki aktywne są tylko akcje Preview i Record — kamera będąca samym streamem nie udostępnia archiwum nagrań.

Dostępne akcje wynikają z funkcji potwierdzonych przez urządzenie:

  • Preview — podgląd obrazu ze strumienia sieciowego,
  • Record — wybór łącznego czasu i katalogu zapisu strumienia na żywo,
  • Download recordings — wyszukanie i pobranie wielu nagrań z archiwum kamery.

Jedno okno pobierania zawiera katalog nadrzędny, wybór okresu: ostatnie 24 godziny, 7 dni, 30 dni, 6 miesięcy lub rok, oraz drzewo plików. Zmiana okresu automatycznie odczytuje właściwy zakres z kamery. Kamera zwraca pliki z ich rzeczywistym początkiem, końcem i rozmiarem, a AITracker grupuje je według dnia. Każdy dzień ma stałą oś 00:00–24:00: dostępny materiał jest wyróżniony, a luki są oznaczone ukośnym kreskowaniem. Jednolite szare fragmenty osi leżą poza zakresem odczytanym z kamery i nie są liczone jako brak materiału. Dni na granicach okresu, np. dla ostatnich 24 godzin, są początkowo ograniczone do rzeczywistego czasu zapytania. Zakres można ustawić uchwytami albo wpisać granice w krokach co 5 minut. AITracker pobiera każdy cały plik przecinający półotwarty zakres; przykładowo początek 07:05 obejmuje również plik rozpoczęty o 07:00. Podsumowanie pokazuje rzeczywiste granice plików, znany rozmiar i czas brakującego materiału. Sekcja Szczegóły pozwala sprawdzić nazwy. Pliki o nieznanym lub nieprawidłowym czasie trwania są pokazane osobno i wymagają jawnego zaznaczenia checkboxem. Cały wybór jest pobierany jako jedna anulowalna operacja. Ukończone wcześniej pliki pozostają zachowane, gdy użytkownik anuluje dalsze pobieranie. Po zamknięciu okna wyboru postęp pobrano/liczba wybranych jest widoczny bezpośrednio na karcie właściwej kamery. Dzięki temu można jednocześnie zlecić pobieranie z wielu kamer; każda karta pokazuje własny stan kolejki, postęp i wynik.

Jeżeli kompletnego pliku archiwum nie uda się przenieść pod nazwę docelową, karta kamery pokazuje jego zachowaną ścieżkę tymczasową oddzielnie od plików opublikowanych już w miejscach docelowych.

Pobrane pliki trafiają do takiej samej struktury jak lokalne nagrania RTSP: IP_CAMERA_DAHUA_<ID urządzenia>/<DDMMRRRR>/. Zachowują natywny format kamery, np. .dav, a ich nowe nazwy mają postać DDMMRR_HHMMSS_mmm.dav i wynikają z czasu początku podanego przez kamerę.

Wybrany czas musi wynosić co najmniej 5 minut i być wielokrotnością 5 minut. AITracker zapisuje kolejne pięciominutowe pliki w katalogu właściwym dla kategorii, producenta i trwałego identyfikatora urządzenia, a następnie grupuje je według dnia. Nazwy plików mają postać DDMMYY_HHMMSS_mmm.mp4. Wszystkie pliki powstają przez jedno ciągłe połączenie ze strumieniem i GStreamer splitmuxsink, bez ponownego łączenia między segmentami. Nagrywaniem zarządza osobny recorder, więc reader podglądu nie dekoduje materiału podczas zapisu. Karta najpierw pokazuje stan łączenia, a odmierzanie czasu rozpoczyna dopiero po napłynięciu materiału i otwarciu pierwszego fragmentu. Błąd strumienia lub zapisu jest zgłaszany bez czekania do końca wybranego czasu nagrania.

Nagrywanie nie otwiera osobnego okna postępu. Karta kamery pokazuje, czy akcja czeka w kolejce, aktualnie nagrywa lub finalizuje plik MP4. Podczas nagrywania pasek postępu pokazuje procent oraz czas faktycznie nagranego i docelowego materiału, a nie czas zegara aplikacji. Przycisk nagrywania pozwala wcześniej zatrzymać i poprawnie zakończyć bieżący plik. Nagrywanie oraz pobieranie archiwum korzystają ze wspólnej kolejki maksymalnie czterech równoległych operacji; następne akcje oczekują na wolne miejsce.

Przycisk Remove pozostaje dostępny także dla nieaktywnej kamery. Po potwierdzeniu usuwa zapamiętaną konfigurację i jej poświadczenia z systemowego magazynu; nie zmienia ustawień samej kamery.

Kategoria Liczbox jest widoczna w interfejsie, ale nie ma obecnie obsługi klienta sieciowego.