FPV Wifi Broadcasting HD Video - Thread zum Raspberry HD Videolink von Befi

Status
Nicht offen für weitere Antworten.
Muss nochmal um Hilfe bitten.

Wer kann eine kleine Anleitung verlinken/geben, wie ich die App http://fpv-community.de/showthread....MyMediaCodecFPVPlayer-Wifibradcast-OpenSource zum laufen bekomme?

Mein WLAN-Stick funktioniert, soweit ich ihn testen konnte, im Linux.
Nur weiß ich nicht, was ich am Linux selbst noch konfigurieren muss, um statt von RPi >> RPi direkt auf mein Handy LG G3 zu senden (also Option A in dem Thread). Die Images sind ja offenbar alle für RPi >> RPi ausgelegt.

Wäre wirklich nett wenn jemand helfen würde :engel:
 
Hi,
hier mal ein Update: mit RPiB+ als TX und RPi2 als RX - jeweils mit CSL-300 - klappt die Übertragung. Der RPi3 stresst immer noch rum.

Was mir jedoch aufgefallen ist ist dass sich die Weidergebaegeschwindigkeit des 'neuen' hello_video.bin verdopplet hat.

Hello_video wurde nach Anleitung 'ge-patched'
Code:
cd
hg clone https://bitbucket.org/befi/hello_video
cp hello_video/video.c /opt/vc/src/hello_pi/hello_video
cd /opt/vc/src/hello_pi/
make -C libs/ilclient
make -C libs/vgfont
./rebuild.sh
Dann wie folgt getestet:
Code:
cd /opt/vc/src/hello_pi/hello_video/
./hello_video.bin < test.h264
Ergebnis: der Clip läuft deutlich schneller als im OMXplayer (bzw. wie vor dem Patch); würde mal sagen die Wiedergabe ist nun doppelt so schnell.


Ist das bei euch auch so?

TX habe ich wie folgt gestartet:
Code:
raspivid -ih -t 0 -w 1280 -h 720 -fps 60 -b 4000000 -g 60 -pf high -o - | sudo ./tx -b 8-r 4 -f 1024 wlan0 > /dev/null
RX mit
Code:
sudo ./rx -b 8 -r 4 -f 1024 wlan0 | /opt/vc/src/hello_pi/hello_video/hello_video.bin
Kann mir einer von euch sagen was es mit dem -p auf sich hat? Gibt es irgendwo eine Doku zu den Parametern? Den -p gibt es auch nur in den Scipten und nicht in dem Blog. Was ist denn $PORT? Der ist im settings.sh auf 0 gesetzt und scheinbar der Parameter für -p.
 
Zuletzt bearbeitet:

Rangarid

Erfahrener Benutzer
-p brauchst du nur, wenn du mehrere Streams parallel übertragen willst, oder irgendwann mal Telemetrie drankommt, aber mach dich vorher mal mit dem System vertraut bevor du noch mehr unsicherheiten mit reinbringst.

Die Wiedergabegeschwindigkeit von hello_video richtet sich nach der Geschwindigkeit wie die Daten reinkommen. Wenn du ein lokales Video hast, sind die Daten natürlich viel schneller da, als wenn einzelne Frames über RX reinkommen. Wenn du dann mal nen Stream von der Pi cam überträgst wirst du sehen, dass er das Video in der richtigen Geschwindigkeit anzeigt wird.
 
-p brauchst du nur, wenn du mehrere Streams parallel übertragen willst, oder irgendwann mal Telemetrie drankommt, aber mach dich vorher mal mit dem System vertraut bevor du noch mehr unsicherheiten mit reinbringst..
Understood! Zuerst muss das mal mit meiner HW laufen (2x RPI3 idealerweise), danach kommt dann Telemetrie und OSD dazu.

Die Wiedergabegeschwindigkeit von hello_video richtet sich nach der Geschwindigkeit wie die Daten reinkommen. Wenn du ein lokales Video hast, sind die Daten natürlich viel schneller da, als wenn einzelne Frames über RX reinkommen. Wenn du dann mal nen Stream von der Pi cam überträgst wirst du sehen, dass er das Video in der richtigen Geschwindigkeit anzeigt wird.
Du meist damit dass sich die Wiedergabegeschwindigkeit des ge-patchten hello_video danach richtet, oder? Vor dem Patch ist die Wiedergabegeschwindigkeit des Clips nämlich genau so wie beim kompletten Movie --> der Patch hat die Abhängigkeiten reingebracht.
 

Rangarid

Erfahrener Benutzer
Die hello_video Version von Befi spielt das ab was reinkommt. Da bei einem Stream immer nur 1 Frame pro Zeiteinheit reinkommt wird auch nur dieser abgespielt. Bei einem lokalen Video von der Festplatte/SD-Karte hast du aber alle Frames auf einmal vorliegen, die werden also so schnell abgespielt, wie der Decoder sie wiedergeben kann.
 
Hi Rangarid,

danke für die Erläuterung zum hello_video.
Die Übertragung mit RPi3 als TX (RX noch immer RPi2; wird aber auch auf 3 getauscht) funktioniert auch --> da mein 'altes' Image schon diverse Paketquellen gesehen hatte gehe ich mal davon aus dass sich das was 'verklemmt' hatte und es deshalb nicht auf Anhieb funktioniert hat.
Muss mir jetzt noch eine elegante Lösung überlegen wie ich den Devicenamen für den CSL300 auf den RPi3 fest zuweisen (udev whitelist, Treiber checken o.ä.; die bleiben ja bekanntlich nicht gleich sondern können sich unter Linux durchaus mal ändern, je nachdem welcher Treiber zuerst geladen wurde) damit ich die Scripte nutzen kann.

Dann wird noch dein OSD drauf gepackt. Ich sehe das aber schon richtig dass die Daten in jede serielle Schnittstelle ge-piped werden können, oder? Da Pin14/15 bei mir durch das Displayinterface belegt sind (fliegt natürlich nicht mit, kann aber bei Bedarf an den Tx angeschlossen werden) werde ich einen USB-UART Stick einsetzen müssen um die MavLink Daten einzuspielen.

Hier mal zwei Beispiele zum Thema 'RGB Display direkt am Raspberry Pi:
Das kleine ist ein 4.3in Display (mit dem Ferrari), das große ein 7in. Den Adapter für das FFC werde ich noch ändern. Das 7in hat den Vorteil dass die BL-Spannung bis 16V spezifiziert ist --> kann direkt aus 3S versorgt werden.
WP_20160317_15_42_29_Smart.jpg
WP_20151103_16_24_53_Smart.jpg

Soll dann später so aussehen dass man das Display (ggf. auch im Feld) einfach anstecken kann um Einstellungen zu ändern. Oder man nutzt die Einheit mobil und hat ein Sucherbild 'Preview' auf dem Display - IKEA halt (also: Entdecke die Möglichkeiten).

EDIT: In meiner Bodenstation kommt dann ein 12.1" HD (1366x768 pixel) Display zum Einsatz. Ist dort aber ein LVDS-Display welches mit etwas 'Magic Glue Logic' an das DPI des Raspberry angeflanscht ist.

Jörg
 
Zuletzt bearbeitet:

Rangarid

Erfahrener Benutzer
Ich sehe das aber schon richtig dass die Daten in jede serielle Schnittstelle ge-piped werden können, oder? Da Pin14/15 bei mir durch das Displayinterface belegt sind (fliegt natürlich nicht mit, kann aber bei Bedarf an den Tx angeschlossen werden) werde ich einen USB-UART Stick einsetzen müssen um die MavLink Daten einzuspielen.
Wenn die seriellen Pins im Flug eh frei sind, dann nimm die einfach. Unnützes Zeug mit rumschleppen macht da nicht viel Sinn. Ich denke auch nicht, dass die fürs Display benötigt werden.
 

Rangarid

Erfahrener Benutzer
Man kann auch einfach bei befis Images ein update durchführen: sudo raspi-update glaub ich, dann installiert der den neuesten Kernel und die aktuelle Firmware.
 

rodizio

Erfahrener Benutzer
Mit rpi-update installiert man nicht den "offiziellen" Raspbian Distributions-Kernel sondern den gerade aktuellen der Raspi Foundation, der kann unstabil bzw. nicht grossartig getestet sein.

Wenn man die ganze Distribution samt "offiziellem" Kernel updaten will: "sudo apt-get update" und dann "sudo apt-get dist-upgrade"
 
Mit rpi-update installiert man nicht den "offiziellen" Raspbian Distributions-Kernel sondern den gerade aktuellen der Raspi Foundation, der kann unstabil bzw. nicht grossartig getestet sein.
Ja, der Kernel kann durchaus unstabil sein, trotzdem kriegst du nur so die aktuellste Firmware. Wenn du also die V2 Kamera unmittelbar nach release gekauft hattest hat sie nur nach einem 'rpi-update' funktioniert.

Ich hab' das Image vom 10/05 auf 2x RPi3 + V2 Camera + CSL300 am laufen; Übertragung funktioniert (konzentriere mich jedoch nur auf 5.8GHz), jedoch muss ich noch etwas am Kanal/Datenrate tunen da irgendwann ein deutliches Lag auftritt. Sieht so aus dass das Preview am TX 'normal' läuft, die Daten aber am RX mit bis zu 8sec Verzögerung ankommen.

Was mich auch genervt hat ist die Zuordnung der Device Namen. Da der RPi3 bereits ein eingebautes WLAN Interface hat kann es vorkommen dass die nach jedem Boot anders sind, je nachdem welcher Treiber zuerst geladen wurde.
Ich hab das dann wie folgt gelöst:

Erst mal nachsehen was der RPI3 für eine WLAN MAC-Adresse hat
Code:
iw dev
Zum Beispiel 'addr b8:27:eb:ea:fa:c1'

Ich habe die WLAN Geräte dann kurzerhand auf die Whitelists hinzugefügt. Dadurch werden die Geräte (eineindeutig) anhand ihrer MAC-Adresse identifizierbar.

Um das - auf dem Raspberry Pi3 - richtig konfigurieren zu können muss deshalb erst mal das integrierte WLAN (bis zum nächsten Bootvorgang) abgeschaltet werden.

Code:
sudo modprobe -r -v brcmfmac
Jetzt wird die Datei ‚/lib/udev/rules.d/75-persistent-net-generator.rules‘ geändert.
Code:
sudo nano /lib/udev/rules.d/75-persistent-net-generator.rules
Die DEVICE NAME WHITELIST wird um die WLAN-Devices erweiterte
KERNEL!="ath*|wlan*[0-9]|msh*|ra*|sta*|ctc*|lcs*|hsi*", \
GOTO="persistent_net_generator_end"
Abspeichern mit STRG]+O und dann den Editor mit [STRG]+X verlassen —> den RPI neu booten.
sudo reboot

Durch diese kleine Modifikation wird die Datei '/etc/udev/rules.d/70-persistent-net.rules' erstellt. Durch diese Datei erfolgt künftig die Zuordnung des Device-Namens (z.B. wlan0) zu einer MAC Adresse.
Öffnet jetzt einfach mal die Datei mit einem Editior und schaut euch den Inhalt/Formart an. Bei mir sieht die nach diesem Reboot wie folgt aus:
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# Unknown net device (/devices/platform/soc/3f300000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1/net/wlan0) (brcmfmac_sdio)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="b8:27:eb:ea:fa:c1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
—> Der MAC-Adresse "b8:27:eb:ea:fa:c1" wird künftig IMMER der Device-Name ‚wlan0‘ zugeordnet.

Jetzt können weitere WLAN-Adapter hinzugefügt werden - jedoch immer einer nach dem anderen!
Dazu den RPi herunterfahren, den USB WLAN-Stick anstecken und neu booten.

Ein Blick in die ‚/etc/udev/rules/70-persistent-net.rules' zeigt dass neue Stick wlan1 genannt wurde:

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# Unknown net device (/devices/platform/soc/3f300000.mmc/mmc_host/mmc1/mmc1:0001/mmc1:0001:1/net/wlan0) (brcmfmac_sdio)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="b8:27:eb:ea:fa:c1", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"

# USB device 0x:0x (rt2800usb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="24:05:0f:77:b1:d4", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan1“
Der CSL300 (MAC 24:05:0f:77:b1:d4) heißt ab jetzt immer wlan1 --> das ‚Namen-Problem‘ sollte somit gelöst sein.
 
Zuletzt bearbeitet:
Hallo zusammen ich bin der neue hier :)

hab mich extra wegen dem Thema hier angemeldet. Fliege im Moment mit einem DJI F450 mit Tarot ZYX M FC und DEVO7.
An Kamera Ausstattung besitze ich im Moment einen China Gimbal und eine Xiaomi YI welche wirklich geniale Bilder macht.
Ich suche schon ne Weile ne FPV Lösung und bin nun auf das hier gestoßen. Der PI ist mir kein Fremdbegriff hier liegen schon ein paar ältere Generationen rum. Übrigens wurde heut am 16.05.2016 ein neuer PI ZERO MIT CSI PORT vorgestellt.
Der CSI port ist schmaler dh. es wird ein Adapter benötigt.
Nun möchte ich das auch umsetzen, nur habe ich ein Problem meine Fernsteuerung funkt auf 2,4ghz wie Wifibroadcast. 5 ghz darf man in Deutschland bei Fliegenden Objekten angeblich nicht als Wlan Lösung einsetzen.
DJI hat es mit dem Phantom 3 Standard ähnlich gemacht Steuerung 5,8 ghz WIFI Stream 2,4 ghz.
Einige testen hier 2,3 ghz geht das mit den Sticks und wie verhält sich das mit der 2,4ghz Funke ?
Hier liegt auch ne Pi Cam rum nur würde ich gerne den Hdmi Output der Xiaomi Yi nutzen. Mit dem B101 Interface erkennt der Pi das ganz normal als Kamera ? Den Preis finde ich relativ happig.
Aber die Endlösung mit dem was sie kann ist dann schon geschenkt.
Ich meine man erhält hier eine Lightbridge Alternative für 150€
Meine Einkaufsliste
RPI ZERO neue Genration mit CSI Kabel bereits gekauft
B101 Adapter
Micro HDMI Flex Kabel
2 x 8gb Micro SD
Kurzes Micro Usb Kabel
RPI B 2 inkl Gehäuse ( zu viel rechenleistung ? empfängt ja eigentlich nur den Stream hätte auch noch einen pi der allerersten generation würde der reichen ?)
Devo 7 >Smartphone Halter

Am Ende will ich dann den Pi 2 an die Fernsteuerung kleben und per Micro USB das Bild an mein Huawei Mate S schicken.

Ich weiß leider nicht wie der ZYX M FC arbeitet in Sachen OSD welches Protocol nutzt der ? Gäbe es da auch die Möglichkeit die Daten in der App anzuzeigen.

Wirklich tolles Projekt danke an alle die es schon soweit gebracht haben.
 
Zuletzt bearbeitet:

action

Erfahrener Benutzer
Hallo zusammen ich bin der neue hier :)

Nun möchte ich das auch umsetzen, nur habe ich ein Problem meine Fernsteuerung funkt auf 2,4ghz wie Wifibroadcast. 5 ghz darf man in Deutschland bei Fliegenden Objekten angeblich nicht als Wlan Lösung einsetzen.

Mit dem B101 Interface erkennt der Pi das ganz normal als Kamera ?
.
Ich hab gute Erfahrungen im 2.4Ghz DJI Set gemacht, jedoch wbc auf 2.3Ghz,2.4Ghz habe ich nicht dokumentiert, aber dasselbe Ergebnis
http://youtu.be/6wfKdkTYOXI

B101 Erkennt viele Eingangssignale auf Anhieb wie Gopro, PS4 ohne hdcp*lol*

Hatte jedoch probleme mit diesen HDMI Flachbandkabel, gab etwas interferenzen und funktionierte erst gut als ich die Gopro mit Alufolie eingepackt habe oder ein geschirmtes hdmi Kabel im Einsatz war


Wenn du gute Antennen im RX diversity, und eine saubere TX Stromversorgung hast, dann läuft es ganz gut und mit Lightbridge vergleichbar, aus meiner Ansicht mit grossem Potenzial.
 

action

Erfahrener Benutzer
Also läuft wbc bei dir auf 2,3 ghz und das funktioniert ? Mit welchen Sticks config muss sicher angepasst werden
Ja habe es mit 2.3 am laufen.
benutze inzwischen odroid-w mit b101 und TP-Link 4-Leaf als TX

Rx hab ich Raspi 2 und diversity ebenfalls TP-Link.

Die Images habe ich von schalonsus, diese sind 2.3 und Power gepatcht( falls Alpha Karte zum Einsatz kommt ).

Gruss
 
Also sind die Images auch Plug and Play nur auf 2,3 ghz ?
Als tx setzt ich auf den ganz neuen pi Zero mit CSI und rx pi 2 hab auch noch einen Pi 1 mit 256mb RAM reicht der von der Leistung auch ?


Gesendet von meinem CRR-L09 mit Tapatalk
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten