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:
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 Next; mogą one być przekazanie przez pobranie pliku za pośrednictwem metody DownloadFile, która wspiera pobieranie z określonych lokalizacji.
Metoda przekazuje opcje eksportu, które są opisane w Options message.
|
gdzie:
Korzystając z kombinacji mode oraz output_type, można utworzyć 4 typy eksportu:
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.
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:
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;
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.
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.
ID operacji eksportu jest przekazywane przy tej metodzie.
Zaktualizowany status EState zostanie przekazany w odpowiedzi na tę metodę.
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:
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.
ID operacji eksportu jest przekazywane w tej metodzie.