Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak

Niskopoziomowy RTSP-wideostremer dla Raspberry Pi 5

Opracowano i pomyślnie oddano do użytku wysoko niezawodną usługę systemową w tle opartą na Pythonie dla platformy Raspberry Pi 5 działającej pod kontrolą systemu operacyjnego Linux.

Głównym zadaniem oprogramowania jest wysokowydajne przechwytywanie surowego strumienia wideo MJPEG z portów USB (zewnętrzne karty przechwytywania wideo HDMI i kamery internetowe) oraz jego stabilna transmisja protokołem RTSP na statyczne adresy lokalnej sieci z minimalnym opóźnieniem.

Kluczowe rozwiązania techniczne i funkcje projektu:
1. Optymalizacja sprzętowa wideo-pipeline: Dostosowanie parametrów buforowania FFmpeg. Dzięki temu opóźnienie sieciowe wideo zostało zredukowane do fizycznego minimum (poniżej 100-150 ms).
2. Dynamiczne wyszukiwanie sprzętu: Integracja z narzędziem v4l2-ctl na poziomie jądra Linux. Skrypt automatycznie skanuje porty, rozpoznaje podłączone karty przechwytywania i na bieżąco je uruchamia. Zrealizowano międzyplatformowy zgodny fallback do symulacji urządzeń w środowisku Windows.
3. Ekstremalna odporność na awarie: Architektura oparta na izolowanych strumieniach StreamWorker zarządzanych przez centralnego nadzorcę StreamManager. Zrealizowano mechanizm automatycznej reanimacji rdzenia wideo w przypadku awarii strumienia lub odłączenia kabla z wykorzystaniem wykładniczego backoffu opóźnień.
4. Bezpieczne zarządzanie procesami systemu operacyjnego: Zrealizowano poprawne czyszczenie procesów zombie na poziomie systemu operacyjnego Linux poprzez tworzenie izolowanych sesji procesów i stosowanie sygnałów systemowych do grup procesów (os.killpg z flagami SIGTERM/SIGKILL). To całkowicie eliminuje wycieki pamięci przy ponownych uruchomieniach.
5. Wbudowana telemetria sprzętowa: Skonfigurowano ciągłe, nieblokujące monitorowanie obciążenia CPU oraz bezpośrednie odczytywanie wartości czujników temperatury układu Raspberry Pi z systemowej strefy jądra (/sys/class/thermal/thermal_zone0/temp) w celu zapobiegania throttlingowi.

Projekt jest całkowicie autonomiczny, zrealizowany jako demon w tle i uruchamiany automatycznie przy starcie urządzenia lub po przerwach w zasilaniu.

#Python #Linux #FFmpeg #RaspberryPi #RTSP #StreamingVideo #SystemProgramming #Subprocess #Architektura
Szczegóły pracy
Budżet 328 PLN
Dodana 18 maja
99 wyświetleń
Freelancer
Dmytro K.
Ukraina Odessa  7  0

Gotowy do podjęcia pracy Gotowy do podjęcia pracy
Zakończono 7 Sejfów
W serwisie 1 miesiąc 13 dni