Sam udany podgląd wideo nie jest wystarczającym dowodem na stabilne przechwytywanie surowego obrazu w zamierzonym trybie pracy. Oprogramowanie wyświetlające może wykorzystywać niższą rozdzielczość, skompresowany strumień, pomijane klatki lub inną politykę buforowania. Zapisz tryby pracy i granice pomiarów i utrzymuj je na stałym poziomie, zanim zlokalizujesz problem w kolejce urządzenia, transportu, sterownika lub aplikacji.
Zdefiniuj warstwę, w której utracone są ramki
| Lokalizacja | Pola obserwowalne | Wyróżnienie do zachowania |
|---|---|---|
| Urządzenie i transport | Identyfikatory ramek urządzeń, błędy stanu i przesyłania | Nie wygenerowane, nie odebrane i nieprawidłowe to różne zdarzenia |
| Recepcja gospodarza | Otrzymana liczba, prawidłowa długość, format i błędy | Odebrany bufor niekoniecznie jest prawidłowym obrazem |
| Adapter i kolejka | Powody umieszczania w kolejce, usuwania z kolejki, oczekiwania, obłożenia i odrzucania | Zamierzone pobieranie próbek i niezamierzone straty wymagają oddzielnych liczników |
| Przetwarzanie i wyjście | Rozpoczęcie, zakończenie, przekroczenie limitu czasu i identyfikatory wyników | Brakujący wynik może oznaczać porażkę lub celowe pominięcie |
W przypadku braku kolejnych numerów sekwencyjnych ramki urządzenia należy także sprawdzić ponowne podłączenie, reset i zawijanie licznika (powrót na początek zakresu numeracji). Identyfikatory ramek generowane przez hosta opisują sekwencję otrzymaną przez hosta; nie mogą niezależnie ustalić, czy urządzenie nie utraciło żadnych klatek.
Stwórz minimalną reprodukcję z surowymi ramami
Nagraj kamerę, oprogramowanie sprzętowe, kabel, host, sterownik, SDK, rozdzielczość, format i liczbę klatek na sekundę. Zacznij od programu, który odbiera i sprawdza surowe klatki. Dodaj konwersję, wnioskowanie, przechowywanie i wyświetlanie oddzielnie, porównując błędy i zasoby. Rejestruj przykłady dostawców oddzielnie od aplikacji biznesowych, zamiast bezpośrednio porównywać różne tryby.
Sprawdź bufory i własność
Określ, kiedy bufory SDK pozostają czytelne, kiedy muszą zostać zwrócone i czy wywołania zwrotne zezwalają na długoterminową własność. Rejestruj długość kolejki i czas oczekiwania. Jeśli stare ramki mogą zostać wyrzucone, zachowaj przyczyny odrzucenia i liczbę. Jeśli każda rama musi być przechowywana, zaprojektuj pod kątem przepustowości i przeciwciśnienia. Sama większa kolejka nie gwarantuje rozwiązania problemu.
Czas i regeneracja
Zdefiniuj źródła zegara i rozróżnij czasy ekspozycji, odbioru, kolejkowania i zakończenia. W przypadku ponownego połączenia określ ponowne zastosowanie parametrów, czyszczenie bufora i restart sekwencji. Bez synchronizacji urządzenia lub niezależnego odniesienia znaczniki czasu hosta nie zapewniają synchronizacji ekspozycji ani pełnej kompleksowej odpowiedzi.
Przetestuj normalne działanie i odzyskiwanie w ustalonych warunkach, współbieżności i czasie trwania. Dostarcz konfigurację, definicje liczników, nieprzetworzone dzienniki i etapy odtwarzania. Powiązane usługi: rozwój przechwytywania obrazu I SDK urządzeń wizyjnych.