Ten post pokazuje, jak przesyłać strumieniowo za pomocą VLC. Działa ładnie i jest prosty, ale daje mi około drugiego opóźnienia. Ten post używa GStreamera i ma 0,3 sekundy opóźnienia; Chciałbym mniej.
Czy można przyspieszyć kodowanie za pomocą układu graficznego Raspberry Pi?
camera
streaming-video
raspicam
Antonvh
źródło
źródło
Odpowiedzi:
Z Ubuntu 14.10 i Gstreamer osiągam opóźnienie od 100 do 116 ms przy 1280 x 720 @ 60Hz.
Dziękuję @Antonvh, który stawia mnie na właściwej drodze. Odtwarzam tutaj rozwiązanie dla późniejszego odniesienia.
Aby przesyłać strumieniowo z Pi:
Aby otrzymać go na komputerze z gst-0.10 i wysłać do wirtualnego urządzenia v4l2 (w rzeczywistości potrzebujesz v4l2loopback ):
Następnie możesz otworzyć urządzenie
/dev/video1
w dowolnym oprogramowaniu obsługującym przechwytywanie v4l2.W przypadku rozwiązania gst-1.0 (v4l2loopback nie działa z gst-1.0), pozwalam ci zobaczyć post na blogu Antonvh .
źródło
Osiągnąłem opóźnienie 200 ms! Sztuczka: wysyłaj mniej ramek z Pi niż czytasz po zdalnej stronie, dzięki temu bufor pozostaje pusty.
Oto zdjęcie, które zrobiłem, gdy RPi filmuje stoper. Pokazuje różnicę czasu.
To jest przepis, którego używam. Najpierw na laptopie (Mac) wykonaj następujące czynności:
następnie w RPI rozpocznij streaming:
Upewnij się:
źródło
Korzystam z tego przepisu wideo: http://archpi.dabase.com/#sending-and-receiving-pi-camera-video-over-the-network
Czy próbowałeś https://github.com/thaytan/gst-rpicamsrc ? To powinno być nieco bardziej usprawnione. Tbh, nie mogę się tym przejmować.
Opóźnienie 0,3 s jest naprawdę dobre.
źródło