GStreamer – Przepływy wideo dla zestawów phyCAM i Vision
Dzięki naszemu blokowi konstrukcyjnemu Ezpire GStreamer Otrzymujesz wstępnie skonfigurowane kanały wideo dla wszystkich obsługiwanych modułów phyCAM w systemie Vision-BSPSkrypty demonstracyjne do transmisji na żywo, zapisywania w formatach JPG/RAW i innych są dostępne bezpośrednio w phytec-vision-image Zintegrowany i gotowy do użycia od razu. Wykorzystaj go jako bazę dla własnych aplikacji do przetwarzania obrazu lub wideo.
Czym jest GStreamer?
GStreamer to otwartoźródłowy framework multimedialny dla systemu Linux, idealnie nadający się do wbudowanych aplikacji wideo. Umożliwia tworzenie elastycznych potoków do przechwytywania, przetwarzania, kodowania i eksportowania danych wideo i audio.
W kontekście PHYTEC GStreamer używa V4L2 Interfejs (Video4Linux2) do sterowania kamerami phyCAM. obrazy phytec-vision Zawiera wstępnie skonfigurowane potoki dla wszystkich obsługiwanych modułów phyCAM (VM-x16, VM-x17, VM-x20, VM-x24 itd.) ze szczegółowymi, łatwymi do odczytania skryptami.
GStreamer gotowy do użycia
Zdejmujemy z Ciebie ciężar skomplikowanej integracji kamer. GStreamer jest już w pełni zintegrowany z naszym systemem. obrazy phytec-vision (Wizja-BSPs) zintegrowane i zoptymalizowane pod kątem wszystkich naszych zestawów wideo. Otrzymasz zbiór gotowych do uruchomienia skryptów demonstracyjnych obejmujących najważniejsze zastosowania wideo:
Transmisja strumieniowa wideo na żywo: Umożliwia bezpośrednie i płynne przesyłanie sygnału z kamery do podłączonego wyświetlacza (np. przez HDMI).
Rejestrowanie obrazu i wideo: Bezproblemowe zapisywanie obrazów w skompresowanych plikach JPG lub w bezstratnym formacie RAW przy pełnej rozdzielczości matrycy.
Optymalizacja specyficzna dla czujnika: Oferujemy konfiguracje dostosowane do naszych różnych modułów phyCAM. Skrypty automatycznie wykrywają typ podłączonej kamery (kolorowa/monochromatyczna) i optymalnie dostosowują parametry.
Przyspieszenie sprzętowe (ISP): Aby skorzystać z istniejącego procesora sygnału obrazu (ISP), wymagane są pliki konfiguracyjne. Wybrane kamery z naszej serii phyCAM są już wstępnie skalibrowane do współpracy z wybranymi płytami procesora. Pozwala to na bezpośrednie korzystanie z podstawowych funkcji ISP. Należą do nich między innymi: demozaiczny, Odszumianie/Wyostrzanie filtr, AEC (Automatyczna kontrola ekspozycji) AWB (Automatyczny balans bieli) BLC (Korekcja poziomu czerni) Korekcja klastra defektów pikseli i WDR3 (Szeroki zakres dynamiki).
Konfiguracje wielokamerowe: Gotowa obsługa synchronicznej pracy dwóch kamer (podwójna kamera), idealna w przypadku złożonych scenariuszy wizji maszynowej. Oferujemy odpowiednie wsparcie dla niektórych procesorów obsługujących technologię „kanału wirtualnego”. Umożliwia to podłączenie wielu kamer do jednego kanału MIPI CSI-2.
Proste skrypty konfiguracyjne pozwalają na wstępne ustawienia kamery i interfejsu kamery procesora. Użytkownik ma wówczas dostęp do obrazu/strumienia skonfigurowanego według własnych potrzeb jako urządzenie V4L2.
Głębokie nurkowanie techniczne
Nasze obrazy Vision wykorzystują podurządzenia V4L2 w połączeniu z media-ctl do dynamicznej konfiguracji kamery (routing i negocjacja formatu). GStreamer pobiera następnie dane obrazu bezpośrednio z urządzenia wideo za pośrednictwem V4L2. Każdy z naszych modułów phyCAM (VM-x16, VM-x17, VM-x20, VM-x24, ...) jest przypisany do urządzenia wideo. Dołączone skrypty powłoki w katalogu /gstreamer-examples/ partycji głównej minimalizują złożoność wywołania.
Transmisja strumieniowa na żywo (Wayland/bufor ramek): Po wywołaniu `cam-fbdev_1280x720.shi` najpierw wykonywany jest skrypt konfiguracyjny. Następnie za pomocą `v4l2-ctrl` ustawiane są pewne właściwości kamery. Na koniec konfigurowany jest potok GStreamer, który przesyła strumień wideo V4L2 do wyświetlacza za pośrednictwem odpowiedniego odbiornika (np. `waylandsink` lub bezpośredniego bufora ramki), zoptymalizowanego pod kątem minimalnego obciążenia procesora.
Przechwytywanie surowych danych i plików JPG: Skrypty takie jak cam-save_jpg_full_res.sh wywołują potoki, które przechwytują dane obrazu, kompresują je za pomocą jpegenc i zapisują w pliku filesink. W przypadku cam-save_raw_full_res.sh surowe dane z czujnika są zrzucane do systemu plików bez żadnego przetwarzania.
Spojrzenie pod maskę ujawnia, jak GStreamer optymalnie wykorzystuje sprzęt SoC. Na przykład, wydajny potok kodowania H.264 dla modułu VM-016 (AR0144) wygląda następująco:
bash
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-bayer,format=grbg,width=1280,height=800 ! bayer2rgbneon ! queue ! vpuenc_h264 ! rtspclientsink
W tym przypadku surowe dane Bayera są konwertowane za pomocą wysoce zoptymalizowanej wtyczki bayer2rgbneon (wykorzystującej rozszerzenie zestawu instrukcji ARM NEON). Przekonwertowany obraz jest następnie przesyłany do dedykowanego sprzętowego kodera wideo układu SoC NXP (vpuenc_h264), uwalniając w ten sposób zasoby procesora dla właściwej aplikacji.
Węzły V4L2 są skonfigurowane modułowo. Kamery są ładowane podczas rozruchu za pomocą nakładek U-Boot w pliku bootenv.txt (np. overlays=imx8mp-isi-csi1.dtbo imx8mp-vm016-csi1.dtbo).
Jeśli dostawca usług internetowych jest dostępny, oferujemy rozszerzone potoki w katalogach oznaczonych jako „isp”. W tym przypadku strumień V4L2 nie jest dostępny bezpośrednio, lecz kierowany przez sprzętowy dostawca usług internetowych układu NXP. Następnie GStreamer uzyskuje dostęp do /dev/video[X], gdzie znajdują się już gotowe obrazy YUV/RGB, gdzie na przykład automatyczna ekspozycja, automatyczny balans bieli i debayer zostały już zastosowane bez opóźnień sprzętowo.
Zalecany sprzęt
Aby przetestować w praktyce nasz System Modułowy i moduły phyCAM, oferujemy rozwiązania dostosowane do indywidualnych potrzeb. Wbudowany Zestawy do rozwoju wzroku Pakiety zawierają wszystko, czego potrzebujesz, aby zacząć: System na module (SoM), płytę bazową, kamerę, obiektyw i wstępnie zainstalowany system wizyjny.BSP wliczając wszystkie przykłady GStreamer.
Do wymagających zastosowań wideo szczególnie polecamy:
Nasz punkt odniesienia w zakresie wbudowanych systemów wizyjnych – z podwójnym ISP i dedykowaną jednostką AI (NPU) do konfiguracji z wieloma kamerami o wysokiej wydajności.
Wysoce wydajny i ekonomiczny. Interfejs użytkownika działa za pośrednictwem oprogramowania/zaplecza DRM bez potrzeby korzystania z wydajnego procesora graficznego 3D.
Więcej konfiguracji Vision dla innych układów SoC i formatów znajdziesz na naszej stronie internetowej. Strona przeglądu zestawu do obrazowania.
Portfolio PHYTEC phyCAM
Integracja GStreamer w pełni wykorzystuje swój potencjał dzięki naszemu Szeroka gama modułów kamer klasy przemysłowej (seria phyCAM). Niezależnie od tego, czy jest to migawka rolowana czy globalna, monochromatyczna czy kolorowa, od rozdzielczości 1 megapiksela do 4K – nasze sterowniki sprzętu i oprogramowania są idealnie dopasowane.
Która konfiguracja najlepiej odpowiada Twoim potrzebom? Na przykład moduły kamery można łatwo wymieniać za pomocą standardowego interfejsu phyCAM.
Porozmawiaj z nami – Chętnie pomożemy Ci wybrać odpowiedni sprzęt.
Jak zacząć
Rozpocznij korzystanie z GStreamer i phyCAM w zaledwie kilku krokach.
Wszystkie skrypty demonstracyjne GStreamera i niezbędne sterowniki kamery są już zawarte w naszym specjalnym pakiecie phytec-vision-image Zintegrowany. W zależności od używanego sprzętu, początkowy proces konfiguracji wygląda następująco:
Jeśli używasz zestawu obrazowania PHYTEC:
Jeśli kupiłeś jeden z naszych zestawów do obrazowania (np. zestaw phyBOARD-Pollux Imaging Kit), nie musisz nic więcej robić. Pakiet phytec-vision-image jest już preinstalowany na tych zestawach. Możesz od razu uruchomić system i zacząć pracę.
Jeśli używasz standardowego zestawu lub komputera jednopłytkowego (SBC):
Jeśli używasz standardowego zestawu deweloperskiego lub standardowej płytki, możesz łatwo samodzielnie wgrać obraz Vision. Aby to zrobić, przejdź na stronę internetową PHYTEC i wybierz następujące opcje: Strona produktu Twojego modułu (zBiMX 8M Plus) i przejdź do obszaru PobraniaZnajdziesz tam najnowszy obraz phytec-vision do pobrania i wgrania na kartę SD.
Gdzie mogę znaleźć skrypty i instrukcje GStreamera?
Po uruchomieniu obrazu Vision na Twoim sprzęcie skorzystaj z naszego Przewodnik wprowadzający, aby uruchomić potoki GStreamer.
Znajdź dokumentację: Przejdź do strony produktu swojego modułu i przejdź do Pliki do pobrania > Przetwarzanie obrazu > Szybkie przewodniki startowe z aparatamiPobierz „Przewodnik wprowadzający phyCAM” tutaj.
Uruchom demonstracje GStreamera: W osobnej sekcji tych dokumentów znajdziesz szczegółowy przegląd i instrukcje dotyczące wszystkich skryptów demonstracyjnych GStreamer, które przygotowaliśmy (dotyczące m.in. transmisji strumieniowej na żywo, przechwytywania obrazu i kodowania przyspieszanego sprzętowo).