Low Cost HD-Video Übertragung + Telemetrie

Status
Nicht offen für weitere Antworten.

digital_wadik

Well-known member
Danke für die App. Nur was bei mir der fall ist das ich ne super latenz habe wen die aufösung bei 360p liegt alles darüber geht über 200ms. Anonsten funzt alles rtsp und udp. Naja da ich eher schnell unterwegs bin ist das noch ein bisschen zu viel.
Gibt zwar noch ein paar kleinere und größere bugs. Aber anonsten super Sache ;)
 

Sledge

lonesome Cowboy
Bei mir liegt die Latenz bei 211 ms @720p bei einem udp Stream. Damit kann ich gut leben.
2161410124019059615321303.jpg

Der Test lief mit dem selbst kompilierten 1.41 gstreamer.
Einzig die Verbindung zum rtsp klappte bei mir nicht. @Lonestar ist die Pipe so richtig oder erwartet der Androide andere Parameter?
Screenshot_2014-09-07-23-57-13.png

Ebenfalls cool wäre die Möglichkeit mit der App eine ssh Verbindung aufzubauen und benutzerdefinierte Befehle abzusenden. z.B.: Stream starten/stoppen, sudo reboot, sudo -h shutdown now...
 

digaus

Erfahrener Benutzer
@Lonestar
Wirklich super App! Leider funktioniert die Rssi Anzeige bei mir nicht. Ich habe die IP des Groundmoduls auf 192.168.137.20 gesetzt und https deaktiviert, trotzdem klappt es nicht. Könntest du evtl deine Einstellungen des Ground- und Airmoduls exportieren und hochladen?

Gruß
Daniel
 

hornetwl

Erfahrener Benutzer
Ein Tipp zur Koexistenz mit 2.4GHz-RC: einige RC-Systeme haben einen speziellen "Frankreich"-Modus, wo der obere 2.4GHz-Bereich ausgeblendet wird. In Verbindung mit einer Einstellung auf CH13 könnte damit eine relativ gute Trennung zu bewerkstelligen sein.

Habe noch nicht in der Praxis getestet, aber laut UBNT-Airview sieht die Sache vielversprechend aus...
 

ronaldofpv

Erfahrener Benutzer
Bei V14 war die Latenz stark Auflösungsabhängig bzw. von den Frames. Habe auch bemerkt das es starke Unterschiede in den Firmware Versionen der PicoStation gibt und diese auch ihren Teil zur Latenz beitragen.
 

Lonestar78

Erfahrener Benutzer
Abend Zusammen, gesammelte Antworten:

@digital_wadik: "Gibt zwar noch ein paar kleinere und größere bugs. Aber anonsten super Sache"
Danke, aber das reicht leider nicht, etwas mehr Schreibarbeit wäre hilfreich. Also bitte Bugs nennen, sonst kann ich sie nicht beheben. Btw.: Gibts von Dir auch irgendwelchen Code? Wird doch langsam Zeit ;-)

Für alle mit Android >=4.1 hab ich den App level runter gesetzt. Könnt Ihr mal testen, ob das klappt? Also Installation und Funktion? File: Anhang anzeigen GroundPiRelease_V15_API16.zip

Zum Thema Latenz: Hier wirds für diverse Android Mobiles halt völlig unterschiedliche Ergebnisse geben. Leider nicht zu ändern. Erfahrungswerte bitte posten.

@Sledge: Das mit dem RTSP dingens, hab ich auch gelegentlich. Muss ich mir anschauen, nach neustart App klappts meist. Deine Pipeline wird wohl so eher im Software Decoder Mode laufen. Ich empfehle das hier:
rtspsrc location=rtsp://192.168.137.240:8554/test latency=0 drop-on-latency=true ! application/x-rtp, payload=96 ! rtph264depay ! decodebin ! glimagesink sync=false

decodebin sollte den optimalen decoder raussuchen, glimagesink das passende Display.


@digaus: RSSI ist jetzt über SNMP realisiert. Einfach SNMP einschalten und als Community "public" angeben.

Grüße, The Dark Knight (Eingeweihte wissen warum. Danke für die Blumen ;-))
 
Zuletzt bearbeitet:

Constantin

Erfahrener Benutzer
Hallo,
wie sehr lässt sich denn der Videocodec verändern ?
http://www.axis.com/de/products/video/about_networkvideo/compression.htm
Der Text ist ziemlich einfach und verständlich.
Wir haben zuerst einen I-Frame,welcher zwar auch codiert wird,jedoch die bitrate wenig verändert. Mehr kompression erreicht man durch die folgenden P-frames,welche die bildinhalte(pixelblöcke) des ersten I-frames die sich nicht verändert haben nicht nochmal erneut übertragen.
Unser fpv-videobild sollte sich hier am besten reduzieren lassen,da die bildinhalte zb beim überfliegen einer wiese ziemlich gleich bleiben.
Es gibt dann auch noch B-frames,diese sind für uns jedoch unpraktikabel,da sie sich auf vorausgehende und nachfolgende bilder beziehen,und man beim codieren als auch beim decodieren auf noch mehr frames warten muss.
Ich glaube das latency-Problem liegt an dem nicht ganz passendem codec,nicht an der Hardware. Wenn bei 30fps auf ein I-Frame (pauschal) erstmal 1p dann 2b frames folgen haben wir beim codieren 5frames "latency und beim decodieren wieder 5frames. Das sind von 30frames 10frames latency,also 1/3secunde latency,~333ms latency. Nur eine Idee,ich kann mich auch irren.
Lg
Constantin
 

Lonestar78

Erfahrener Benutzer
@sledge: Update für Dich.
Changelog V16:
- App level 16 (Android >= 4.1) Bin aber nicht sicher, ob das klappt.
- App jetzt mit SSH:
- Vier vorkonfigurierte Befehle an den Pi, ein Custom Befehl.
- Einstellung Custom Befehl, username und password über das Settingsmenü der App.
- Die ersten beiden Befehle erwarten diese ausführbaren Skripte auf dem airPi (reinpacken könnt Ihr da, was Ihr wollt):
/root/stopFromAndroid.sh
/root/startFromAndroid.sh
Screenshot_2014-09-09-22-08-44.png

App:

Update im 1. Post.
 

Anhänge

Zuletzt bearbeitet:

Lonestar78

Erfahrener Benutzer
Zum Thema Video Codec: Die Überlegungen stimmen. Allerdings erfolgt die h264 Encodierung in Hardware und nicht über GStreamer auf dem Pi. GStreamer nimmt den fertig encodierten Stream von raspivid oder rpicamsrc entgegen.
Demnach gibbt es da nur wenig Eingriffmöglichkeiten
 
Zuletzt bearbeitet:

hornetwl

Erfahrener Benutzer
Zum Thema Video Codec: Die Überlegungen stimmen. Allerdings erfolgt die h264 Encodierung in Hardware und nicht über GStreamer auf dem Pi. GStreamer nimmt den fertig encodierten Stream von raspivid oder tpicamsrc entgegen.
Demnach gibbt es da nur wenig Eingriffmöglichkeiten
Ok, das ist plausibel. Eventuell laesst sich uebers H.264-Profil noch was dran drehen? Baseline sollte ja zumindest ohne B-Frames daherkommen.
 

digaus

Erfahrener Benutzer
Danke Lonestar, RSSI funktioniert jetzt :) Kann es sein, dass dabei immer die schlechteste Verbindung angezeigt wird? Ich habe ja auch mein Smartphone über wifi verbunden. Wenn ich damit den Raum verlasse wird der RSSI Wert schlechter... Auf dem Feld bin ich ja eh immer in der Nähe des Groundmoduls, von daher müsste dann der RSSI Wert zum Airmodul angezeigt werden.

Das einzige was noch nicht klappt, ist die Kommunikation mit mavproxy zur apm. Da ich ein Tablet als Groundstation verwende möchte ich die Telemetrieverbindung per UDP realisieren. Die APP Droidplanner ist auch in der Lage Telemetrie über UDP zu empfangen. Naja, allerdings scheitert es schon an der Kommunikation mit der apm. Hat schon jemand mavproxy erfolgreich eingesetzt?
Habe mich an diese Anleitung gehalten(allerdings mit Levelshifter): http://dev.ardupilot.com/wiki/raspberry-pi-via-mavlink/

Gruß
Daniel
 

nique

Legal-LongRanger
Bin auch bei 141ms!

So, nun bin ich auch "bei den Leut". Zwar jeweils nur als Nachahmer. Wenn es aber bei mir geht, können es viele andere auch :D

Latenz: 141ms
UBI_Latenz.PNG

So sieht die Cam aus:
AirCam.jpg
Ok, nicht hübsch, aber funktional. Kommt nun auf alles Mögliche und Unmögliche rauf um die Reichweite zu testen.

Und so siehts am Boden aus:
GroundModule.jpg
Da ist toll, dass ich halt ein 5m LAN-Kabel nehmen kann. So kann ich die Antenne dann schön hoch positionieren.

Hey, die Dinger werden aber ordentlich warm...

Sind übrigens die 5.8er Dev-Boards drin. Für die Tests werde ich dann CL/SPW-Antennen nehmen.
 

Lonestar78

Erfahrener Benutzer
@digaus: Dann konfiguriere doch einfach das WLAN-Modul in der Luft für SNMP und gib die entsprechende IP in der APP ein.
 
Zuletzt bearbeitet:
Die Ubis sollten so eingestelt sein das die nicht so arg von der Funke gestört werden. Die Ubis verfügen über solche funktionen. Gebräuchliche Wlan geräte leider nicht. D.h man kann sich nicht mit dem Ubis verbinden ..... Also nutzt man ein Lankabel ....
 

Lonestar78

Erfahrener Benutzer
Was dw meint ist, dass Ubiquiti im transparenten Bridge-Mode ein proprietäres Protokoll verwendet, dass wohl stabilere Datenraten erlaubt als die WLAN-Norm, die im Access Point Modus genutzt werden muss.
Deshalb mach ich das auch über Kabel.
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten