FPV and VR Android App MyMediaCodecFPVPlayer Wifibradcast OpenSource

Status
Nicht offen für weitere Antworten.

Constantin

Erfahrener Benutzer
#42
Was meinst du denn mit 1) ist schon fertig ? Ich dachte an etwas wie "der pi erkennt,wenn ein Smartphone per usb kabel angeschlossen wird,und sendet die daten dann auch noch ans handy weiter."

Gesendet von meinem HUAWEI P7-L10 mit Tapatalk
 

rodizio1

Erfahrener Benutzer
#43
Bei EZ-Wifibroast 1.3 braucht man nur USB Tethering in der config auf "Y" setzen, dann geht's. Telemtrie zum Telefon weiterleiten müsste ich aber noch einbauen.
 

Constantin

Erfahrener Benutzer
#44
Achso cool,das ist ja super ! Die Telemetrie muss einfach auf nen anderen udp port gesendet werden, und dann in einem anderen Thread im Handy empfangen & geparst werden. Nur das parsen fehlt eben noch.

Gesendet von meinem HUAWEI P7-L10 mit Tapatalk
 

Constantin

Erfahrener Benutzer
#45
Hallo,
auch wenn ich lange nichts mehr von mir hören habe lassen: Die Entwicklung läuft schon seit ein paar Tagen.
Um die Telemtry habe ich mich die letzten Tage etwas gedrückt,ich weiss einfach nicht welches Protokoll ich am besten Anbieten soll,und muss für mavlink eine (fast) neue Sprache lernen.

Aber die App wurde grundlegend verändert,und hat neue features:

Das Overlay wird nun mit einem TextureAtlas gezeichnet. -> es müssen dafür keine pixel von cpu-gpu verschoben werden (OpenGl kann nicht einfach Buchstaben zeichnen). Nachteil: es werden derzeit keine Zahlen größer als 3 Stellen unterstützt.

Der Renderer unterstützt nun Distortion Correction ohne Performance-einbußen durch "vertex Displacement" .
Dies hat mich ganz schön viel Arbeit gekostet,da die App keine Game-Engine (Cardboard/Unity) benutzt, um mir eine engere Kontrolle über den Rendering-Prozess zu geben ( ==weniger latency)
Bis morgen gibt es vlt. das erste Update.

Gesendet von meinem HUAWEI P7-L10 mit Tapatalk
 

moritzz06

Erfahrener Benutzer
#46
Super dass Du weiter entwickelst :) ich nutze deine App fleißig auf einem LG G3 mit 115fps bei ca. 80ms Latenz. Also absolut traumhaft ;)
Auf jeden Fall weiter so :)

Gesendet von meinem XT1039 mit Tapatalk
 

rodizio1

Erfahrener Benutzer
#49
Lonestar: Leite einfach nur den Telemetrie- Stream der vom wbc rx kommt ans android Gerät an port 5000 (oder 6000 hab's vergessen) weiter. Protokoll ist mir so gesehen egal, das wird in der App gemacht ;)


Constantin:
Was mir noch eingefallen ist: RSSI Anzeige hat die App nicht, oder? Wüsste jedenfalls nicht woher sie die Info haben sollte, auf Pi Seite holt das OSD das aus dem shared memory.

Soll ich da noch irgendwas basteln was die dbm Werte sagenwir auf Port 7000 ans Smartphone schickt, was Du dann anzeigst?

Wenn ich das richtig verstehe, nimmst Du ja den Stream, re-sized ihn und zeigst ihn einmal links und einmal rechts an (?) Könntest Du auch zwei Streams annehmen? Eigentlich bräuchte man ja nur einen zweiten TX Pi0/cam/wifistick und schon hätte man 3D (Digaus hatte das mal auf dem Pi getestet irgendwann ...)
 

Constantin

Erfahrener Benutzer
#51
Hallo,
endlich gibt es mal wieder ein update von mir. Etwas spät, aber ich habe die ganze Woche debugt/geschrieben und will keine halb funktionierende App veröffentlichen.
Geändert haben sich:
Die App heist nun FPV_VR und wird morgen im App-Store für etwas Geld oder frei auf Github als Code verfügbar sein ( wer will kann also die Entwicklung unterstützen und die Version im App-Store kaufen,oder auch nicht)
1)Die App lässt sich nun auch mit Google Cardboard o.ä - Brillen benutzen. In diesem Fall muss Distortion correction & Tesselation aktiviert werden, was aufgrund von vertex displacement jedoch keine Performance-Einbußen mit sich bringt. Und um die gesamte Szene zu sehen empfiehlt es sich "Head tracking" zu aktivieren. Dies bezieht sich derzeit nur auf das Handy, nicht auf ein eventuelles Gimbal am Kopter.
Desweiteren kann der Abstand Auge-Videoleinwand und Auge-OSD manuell den Bedürfnissen angepasst werden.
2) OSD
Das OSD besteht einerseits aus einem "künstlichen Horizont" in Form eines Kopters, welcher yaw,pitch und roll repräsentiert. Diesen Position wird bei jedem Frame neu berechnet und ist damit bei einer hoch genugen Baud-Rate im OSD latenzfreier als das Video.
Desweitern kann das OSD theoretisch bis zu 14 text-units anzeigen (V,A,höhe,Batt. usw), mit Zahlen zwischen 999 und 0.00 . Die einzelnen Units

Gesendet von meinem HUAWEI P7-L10 mit Tapatalk
 

stxShadow

Erfahrener Benutzer
#52
Sollte da noch mehr Text kommen ? Werde mir auf jeden Fall die Qpp kaufen um Dich zu unterstützen.

Gruß Jens

Gesendet von meinem SM-G901F mit Tapatalk
 

Constantin

Erfahrener Benutzer
#53
Diese Units werden bei ~30fps geupdatet,um keine Performance-einbußen hinzunehmen. Das Updaten erfolgt dabei "circular", d.h die units werden nacheinender geupdatet,um eine gleichmäßige Performance zu erreichen
3) wie bekomme ich die Daten ins OSD:
Das gute gleich vorweg: Die derzeit unterstützten Protokolle sind FRSKY und LTM . Da ich selbst jedoch keinen Spannungsmesser usw habe tue ich mich mit dem Debuggen schwer. Getestet habe ich den künstlichen Horizont mit LTM. Die restlichen Funktionen (V,A usw) muss erst einmal jemand testen,genauso wie den frsky-parser. Wer sich dazu bereit erklären würde ->pn an mich,dann sende ich die apk gratis per e-mail.

Gesendet von meinem HUAWEI P7-L10 mit Tapatalk
 

Constantin

Erfahrener Benutzer
#54
@Rodizo1:
Stimmt,die rssi daten müssen noch iwie auf's Handy. Wenn die Performance vom rpi ausreicht wäre es wohl am einfachsten,diese Daten als entweder frsky oder ltm Packets mit auf Port 5001 zu senden.

Was den 3D-Stream betrifft: wäre so wie von dir beschrieben möglich, wenn das Handy 2 parallel laufende decoder unterstützt ( das ist von chipset zu chipset unterschidlich) .wenn genug Interesse besteht kann ich das auch Implementieren,ich glaube aber nicht dass der Aufwand ( 2pi's mit Kamera am Kopter, 1/4 Reichweite wegen der doppelten Datenmenge ) das wert ist. 3D ist das gerenderte Bild ja schon :)

Gesendet von meinem HUAWEI P7-L10 mit Tapatalk
 

Constantin

Erfahrener Benutzer
#55
Gibt es eigentlich eine Möglichkeit die gespeicherten Aufnahmen in normaler Geschwindigkeit auf dem Handy anzuschauen?
Die Funktion in der App ist eigentlich nur dazu da um zu testen ob der HW Decoder des Handys mit den pi daten funktioniert. Jeder Videoplayer der h.264 abspielen kann sollte funktionieren.

Gesendet von meinem HUAWEI P7-L10 mit Tapatalk
 

Constantin

Erfahrener Benutzer
#56
Achja: um zu checken ob die OSD packets am Port ankommen: TestActivity zeigt auch die empfangenen Bytes auf udp port 5001 an

Gesendet von meinem HUAWEI P7-L10 mit Tapatalk
 

moritzz06

Erfahrener Benutzer
#57
Also ich habe noch keinen Player für die Aufnahmen finden können. VLC sollte es ja eigentlich abspielen können.

Hast Du einen Tipp?
 
Zuletzt bearbeitet:
#58
ungefähr so: $WBC_PATH/rx -p $PORT -b $BLOCK_SIZE -r $FECS -f $PACKET_LENGTH $NICS | socat -b 1024 - udp4-sendto:192.168.0.104:5000;
die "raspivid pipeline" durch die "socat pipeline" ersetzen

Ich persönlich verbinde das Handy am liebsten per usb hotspot mit dem rx pi; wenn sich die channels nicht stören, ist jedoch auch eine wlan hotspot verbindung möglich & angenehm (fatshark like -kein kabel am boden )
Verfolge das Projekt schon eine Weile und habe auch schon eine funktionierende Wifibroadcast-Verbindung gehabt.

Bin gerade dabei mit einem Pi Zero das ganze kompakt in meinen Nova Pro zu bauen.

Da ich noch eine VR Brille hier rumliegen habe würde ich das gerne mit der App ausprobieren.

In dem Zitat oben ist beschrieben wie man die Verbindung per USB an das Handy weiterleitet.
Ich würde gerne die Option mit dem WLAN-Hotspot testen.

Meine Frage wäre wie der Pi eine Verbindung zum Smartphone herstellt. Brauche ich dazu noch einen zusätzlichen WLAn-Stick, der für die Verbindung Pi => Smartphone zuständig ist?
Falls ja, wie "erkläre" ich dem Pi dass er den Stick nicht für das Diversity nutzt, sondern um eine Verbindung zum Smartphone aufzubauen?
 

Constantin

Erfahrener Benutzer
#60
Hallo,
inzwischen würde ich die Methode mit einem Wlan-Hotspot nicht mehr empfehlen,es sei denn du hast wifibroadcast auf 5.8ghz am laufen. Ja,dann bräuchtest du einen weiteren Wlan-Stick,und müsstest das Skript verändern, aber ich würde einfach ein usb-Verlängerungskabel benutzen wenn du Freiheit am Boden brauchst.
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten