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.