Low Cost HD-Video Übertragung + Telemetrie

Status
Nicht offen für weitere Antworten.
hallo zusammen,

ich versuche gerade den stream zum Laufen zu bringen, ohne Erfolg, könnt ihr mir etwas auf die Sprünge helfen was ich falsch mache.

zuerst mach ich das auf meinem win7 Rechner

gst-launch-1.0 -e -v udpsrc port=9000 ! application/x-rtp, payload=96 ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! fpsdisplaysink sync=false text-overlay=false

anschließend auf dem raspi

raspivid -n -w 1920 -h 1080 -b 8000000 -fps 30 -vf -hf -t 0 -pf high -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay ! udpsink host=192.168.100.111 port=9000

beide befehle starten ohne Fehler wie auf dem Bild zu sehen, aber ich sehe keinen stream.

danke für eure Hilfe
 

Anhänge

@Lonstar das hört sich ja richtig gut an :)
Ich weis zwar nicht was du Kompelierst. aber ich Programmiere meine Java Programme immer auf einen Win7 Rechner und kompeliere die dort auch. Danach schiebe ich die Datei auf den Pi. Es geht aber noch einfacher !!!

@dr.dado
Überprüfe mal ob dein Pi wirklich im Netzwerk registriert ist und ob du die richtige ip von Win7 Rechenr hast.
Ansonsten musst du darauf achten das der Port (hier 9000) auch von Win7 freigegeben ist.
Sonsten einfach ändern z.B auf 5000 oder 9001 wie du willst. wen das Fenster mit der Portfreigabe aufploppt musst du es für dein Netztwerk erlauben (z.B bist du im Heimnetztwerk dann erlaub es dafür) Nachträglich kann man es auch ändern aber das musst du selber googlen.
 

aargau

Erfahrener Benutzer
Boa jetzt muss ich mir doch noch eine PiCam kaufen ^^ fast 100ms, das ist ja der Wahnsinn!
Durch die höhere Bildzahl dürfe aber jetzt auch eine grössere Datenmenge zusammen kommen, denke ich? Wäre dann wieder etwas Reichweiten verkleinernd oder hast du noch vor anhand der Funkverbindung die Auflösung etc. anzupassen?
 

Lonestar78

Erfahrener Benutzer
@dr. dado: Das Problem hatte ich am Anfang auch: meine Lösung war die Einstellung der Windows-Firewall so anzupassen, dass sie die ankommenden Pakete auch durchlässt ;-)

@aargau: Jupp, Datenrate steigt an, automatische Anpassung ist im Prinzip kein Hexenwerk, habe ich aber noch nicht angefangen.

@wadik: ich versuche verzweifelt einen aktuellen kompletten gstreamer zu compilieren, damit ich den gst-rtsp-server installieren kann.
Hintergrund: Damit wird das Streaming zu meinem Android Phone einfacher.
 
Zuletzt bearbeitet:
@Lonestar78

danke für die Info , ddas einzige was ich falsch hatte wahr das ich nicht die IP Adresse angeben hatte von Rechner sondern die ip von dem rasppi :)

das hab ich geänder und sofort hatt es funktioniert

jetzt muß ich nur noch das Bild um 180° Drehen ist bei mir jetzt auf dem Kopf

------------------------------------------------------------------------------

Für alle anderen bei denen es auch nicht gleich geht wie bei mir ihr müßt bei der IP Adresse , die IP Adresse wo gesendet wird angeben

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

host= eure IP Adresse vom PC


Vielen Dank zusammen , jetzt kann ich anfangen Testen
 
@dr.dado das mit den 180° lässt sich schnell einstellen.
Die parameter die du da angibst sind nicht ohne grund da. -hf z.B spiegelt das bild horizontal. -vf spiegelt vertical. Einfach entfernen oder hinzufügen bis es dir passt ;)

Aber ich denke wen wir soweit sind mit dem projekt das es stabil läuft wird jemand sowieso ein neuen Thread mit einem schönnen Tutorial veröffentlichen.
 
@ digital_wadik

gibt es noch einen möglichkeit sen stream an mehrere ip zu senden , beispiel an einen android phone, an einen pc und an einen zweiten raspberry pi

Beispiel:

host-1=192.168.178.50
host-2=192.168.178.60
host-3=192.168.178.70
 
Nur zur info wen es einer noch nicht wusste.
Man kann das gestreamte Videomaterial ohne mehr Verzögerung natürlich auch auf dem PI speicher !

Einfach den Parameter mit einfügen.

raspivid -t 0 -vf -hf -w 480 -h 320 -fps 30 -b 1000000 -o -
| tee fpv.h264 | gst-launch-1.0 ..........

Wen man möchte kann man auch ein USB stick an pi stecken und es dort Speicher wen man den Speicherpfad ändert.
Wen man fertig ist mit dem fliegen einfach USB raus an Rechner und vids runterziehen.
Ist der Pi nicht einfach nur genial :D
 
Zuletzt bearbeitet:

d3frost

bsst jetzt nix mehr Licht
Bin ja echt gespannt was da noch rauskommt bei Euch . Bis jetzt noch sinds teilweise noch Böhmische Dörfer für mich , aber alleine die Latenz ist schon lecker .
 

aargau

Erfahrener Benutzer
@ digital_wadik

gibt es noch einen möglichkeit sen stream an mehrere ip zu senden , beispiel an einen android phone, an einen pc und an einen zweiten raspberry pi

Beispiel:

host-1=192.168.178.50
host-2=192.168.178.60
host-3=192.168.178.70
Würde ich so auf keinen Fall machen. Du generierst so 3Fachen Traffic, sagen wir mal es braucht 7Mbit/s. pro Stream, so brauchst du schon 21Mbit/s. welchen dein Videolink hergibt. Die Wlan Verbindung erlaubt aber je weiter weg, desto weniger Bitrate. Am Maximum sind es dann noch 1Mbit/s.

Wenn dann müsstest du das ganze per Multicast lösen, in wie fern sich das mit gStreamer machen lässt kann ich dir nicht sagen.
Es wäre natürlich aber schon eine tolle idee, wenn man das Handy als FPV Screen nutzen könnte.
Dann aber wohl eher mit einem Wlan zu Wlan Link und danach dahinter nochmals ein AP für das Handy, da dieses sicher deutlich schwerhöriger ist als die guten Wlan Geräte ;)
 
Multicast stream wären ein schönes feature. Aber im moment nicht von bedeutung. Würde das aber so lösen das die Groundstation einen multicast stream freigibt. Ein Notebook und ein Router am boden mehr braucht man dan nicht. Und Latenz wäre immer noch in ordnung ;)

Aber naja erstmal um die Wichtigen sachen kümmern :)
 
Zuletzt bearbeitet:

Lonestar78

Erfahrener Benutzer
Also ich werde wohl das ground ubiquiti WLAN empfaengerchen direkt per Ethernet an mein Handy anschließen. Geht über otg usb auf LAN Adapter.
 

-ghost-

Erfahrener Benutzer
Würde es nicht reichen, dass der "sendende"-rPi als reine Broadcast-Adresse mit x.x.x.255 eingetragen wird und die Empfänger dann nur auf "Broadcast" lauschen?

Könnte evtl. die Multicast-Streams vermeiden. Ist aber auch nur ne Idee, wirklich Ahnung hab ich davon nicht.


-ghost-
 

aargau

Erfahrener Benutzer
Das wäre eine Idee wert, ich würde es aber nicht an "255" senden, sondern direkt "an" eine Multicast Adresse im Bereich 224.0.0.0 bis 239.255.255.255. Mitmachen müssten dann natürlich noch die Wlan Module bzw. eingesetzte Router und Switches...
 
lasst die Finger vom Broadcast, das geht schief - JEDES BC Frame MUß per Definition von Allen Stationen im Netz ausgewertet werden - in dem Fall auch von den wLAN-Bridges.
aber genau dafür hat man die E-Class ab 224. erfunden.:cool:
 

aargau

Erfahrener Benutzer
Danke für den Hinweis, ja genau, gibt ja mehr als genügend Adressen für solche Spielchen.

Meine Cam ist gestern Abend angekommen, werde diese Heute mal testen und werde mich dann wohl auch mal etwas tiefer mit dem gStreamer auseinander setzen.
 

aargau

Erfahrener Benutzer
So, hab es nun auch hingekriegt. Ich erreiche um die 135ms, aber zwischen durch habe ich wieder peaks von 5-7 Sekunden..
Das ganze per LAN auf beiden Seiten. Kann sich das jemand erklären?
Ich schätze mal eher, dass es auf der PC Seite liegt -> ist aber nur ca. 15% ausgelastet (i3, 16gb ram)
 

digital_wadik

Well-known member
Diese "lags" enstehen nur wen du ne falsche bandbreite angibst. Die darf nicht zu hoch oder zu gering sein. Bisschen ausprobieren was für dein system das beste ist. Mein Rechner mit 6x3.8Ghz und einer gtx580 macht da keine Probleme. Will aber auch ein notbook haben :(


Aber 5 - 7 sek. sind heftig. Da hast du was falsch gemacht.
 
Zuletzt bearbeitet:

hegi

Erfahrener Benutzer
Ist schon absehbar wann das ganze so Praktikabel ist das jemand ein tutorial schreibt und man selber damit fliegen kann ?
 

aargau

Erfahrener Benutzer
@wadik:
Habe das Problem gefunden ^^ Wenn ich das Fenster resize passiert das ganze, normalisiert sich aber nach einigen Sekunden wieder.

@hegi:
Naja, mehr oder weniger kannst du es jetzt schon brauchen ;) Die gStreamer Pipeline wurde ja hier veröffentlicht. Man muss halt alles per ssh machen, aber für ein ersten Versuch ist es sicher möglich.
Ich versuche gerade den RPi auf mein Modellauto zu bauen, dann dreh ich mal eine Runde so, allerdings mit einem Standard USB Wlan Stick, mehr als 200m liegt da nicht drinn
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten