Go to documentation repository
Documentation for Axxon One 1.0.
Ogólne informacje
Eksport jest opisany w proto-plikach ExportService.proto oraz Export.proto.
Następujące z 6 metod mogą być użyte do celów eksportu:
- ListSessions - używana w celu pozyskania listy wszystkich operacji eksportu.
- StartSession - w celu rozpoczęcia nowej operacji eksportu.
- GetSessionState - w celu pozyskania statusu określonej operacji.
- StopSession - w celu zatrzymania operacji.
- DestroySession - w celu usunięcia operacji wraz z wynikami eksportu.
- DownloadFile - w celu pobrania wyników eksportu.
Zadania eksportu nie są wykonywane przez NativeBL, lecz przez szablon eksportu. Obecnie nie jest możliwe utworzenie szablonu eksportu poprzez NativeBL; należy zrobić to ręcznie w Kliencie.
Gdy co najmniej jeden szablon eksportu zostanie utworzony, może on być używany w celu przeprowadzania operacji. Jeśli istnieje kilka szablonów eksportu, a żaden z nich nie jest określony w metodzie StartSession, szablon o indeksie 1 zostanie użyty.
Operacje eksportu rozpoczynają się na węźle, na którym kamera jest zlokalizowana. Jeśli eksport zostanie rozpoczęty dla kilku kamer, tylko pierwszy węzeł jest używany. Nie oznacza to, że nie jest wymagane połączenie do każdego węzła - zadanie zostanie przekazane automatycznie.
Wyniki eksportu są generowane na lokalnym Serwerze Axxon One; mogą one być przekazanie przez pobranie pliku za pośrednictwem metody DownloadFile, która wspiera pobieranie z określonych lokalizacji.
Metoda StartSession
Metoda przekazuje opcje eksportu, które są opisane w Options message.
gdzie:
- oneof - implikuje selekcję jednej właściwości, która może być wybrana w operacji.
- export_agent_access_point - ID szablonu eksportu.
Korzystając z kombinacji mode oraz output_type, można utworzyć 4 typy eksportu:
- LiveMode + SnapshotType - eksportowanie stopklatki z wideo na żywo.
- LiveMode + StreamType - eksportowanie klipu wideo z wideo na żywo.
- ArchiveMode + SnapshotType - eksportowanie klatki z archiwum.
- ArchiveMode + StreamType - eksportowanie klipu wideo z archiwum.
Messages LiveMode, ArchiveMode, SnapshotType oraz StreamType zawierają parametry dla tego typu eksportu. Message CommonSetting jest stosowana w celu przekazywania ogólnych ustawień do operacji eksportu.
Lista głównych parametrów eksportu:
Dla każdego typu eksportu istnieje okres oczekiwania, po upłynięciu którego operacja jest zatrzymywana, o ile nie została wykonana metoda GetSessionState.
Okres oczekiwania jest wyliczany począwszy od chwili rozpoczęcia operacji i/lub od chwili, w której ostatnio użyta została metoda GetSessionState.
Okres oczekiwania dla eksportowania klipów wideo to 5 minut; dla wszystkich typów eksportu - 30 minut.
ID operacji eksportu będzie otrzymane jako odpowiedź do tej metody.
Metoda ListSessions
Message SessionInfo dla każdej operacji eksportu będzie otrzymywana jako odpowiedź do tej metody. Jeśli odpowiedź nie zawiera wszystkich operacji, będzie zawarty next_page_token do przejścia do następnej strony.
Message SessionInfo zawiera:
- ID operacji eksportu oraz jej właściwości.
Status eksportu
enum EState { S_NONE = 0; S_RUNNING = 1; S_COMPLETED = 2; S_REMOVED = 3; }
gdzie status S_COMPLETED nie oznacza, że eksport zakończył się powodzeniem.
Jeśli istnieją wyniki operacji eksportu, zostanie wysłana wiadomość Result.
message Result { message File { string path = 1; uint64 size = 2; string min_timestamp = 3; string max_timestamp = 4; string mime_type = 5; } repeated File files = 1; bool succeeded = 2; }
gdzie:
succeeded - mówi, że operacja eksportu została zakończona powodzeniem;
- message File - określa listę plików gotowych do pobrania, wliczając w to warunkową ścieżkę do użytku w metodzie DownloadFile, oraz ich wielkość.
Po zmianie statusu operacji eksportu na S_COMPLETED, limit czasu na pobranie plików z Serwera to 1 godzina. Timeout jest resetowany do zera po wykonaniu jednej z metod: GetSessionState lub DownloadFile.
Jeśli timeout zostanie przekroczony, pliki zostaną usunięte z Serwera.
Metoda GetSessionState
ID operacji eksportu jest przekazywane przy tej metodzie.
Status EState zostanie przekazany w odpowiedzi na tę metodę.
Jeśli istnieją wyniki operacji eksportu, wiadomosć Result zostanie wysłana.
Metoda StopSession
ID operacji eksportu jest przekazywane przy tej metodzie.
Zaktualizowany status EState zostanie przekazany w odpowiedzi na tę metodę.
Metoda DownloadFile
Metoda ta może zostać użyta tylko w sytuacji, gdy operacja eksportu została już wykonana.
Następujące dane są przekazywane w tej metodzie:
- ID operacji eksportu;
- ścieżka do pliku;
- chunk_size_kb - wielkość bloku danych;
- start_from_chunk_index - numer seryjny bloku danych.
W odniesieniu do tej metody wiadomości FileChunk zostaną przesłane wraz z blokami danych plików, które będą przesyłane, aż cały plik zostanie pobrany.
Metoda DestroySession
ID operacji eksportu jest przekazywane w tej metodzie.