Ausser, dass ich gerade an der software seite mit compilieren auf dem Pi verzweifel, gibts was Erfreuliches:
Latency lässt sich für 720p auf 110-130ms reduzieren
Hier 114ms:
Folge: Glas-to-Glas Latency über WLAN im Bereich dessen, was der GoPro-Ausgang fast alleine macht.
Oder anders: Lightbridge/2...Sorry, der musste jetzt sein. Bildqualität Lightbridge/Gopro ist natürlich ne andere Liga.
Das Geheimnis: Ich bin mir sicher, dass der Lag in erster Linie nur noch durch eine Mindestanzahl Frames, die der H264 Encoder auf dem Pi benötigt, dominiert wird. Folglich: Höhere Framerate = kleinerer Lag
Erhöht man die Framerate von 30 auf 45 fps und hat bei 30 fps ein Lag von 180ms, sollte demnach bei 45fps ein Lag von 120ms entstehen. Ist auch so. Beweis siehe oben.
Auf dem Pi ist eine neue Firmware nötig zur Freischaltung der höheren fps modes:
http://www.raspberrypi.org/new-camera-mode-released/
The result is that we now have a set of mode as follows :
- 2592×1944 1-15fps, video or stills mode, Full sensor full FOV, default stills capture
- 1920×1080 1-30fps, video mode, 1080p30 cropped
- 1296×972 1-42fps, video mode, 4:3 aspect binned full FOV. Used for stills preview in raspistill.
- 1296×730 1-49fps, video mode, 16:9 aspect , binned, full FOV (width), used for 720p
- 640×480 42.1-60fps, video mode, up to VGAp60 binned
- 640×480 60.1-90fps, video mode, up to VGAp90 binned
Einfach:
apt-get update
aptget upgrade
Die Gstreamer Pipeline ändert sich dann nur in der fps-Zahl (49 ist max für 720p)
raspivid -n -w 1280 -h 720 -b 6500000 -fps 49 -vf -hf -t 0 -pf high -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay ! udpsink host=192.168.137.1 port=9000