Moin zusammen,
ich dachte mir, ich melde mich auch mal wieder, nachdem ich aus privaten Gründen in den letzten Wochen verhindert war.
Sensless hat mir heute mal die iOS App zum Testen geschickt. Sie ist noch nicht ganz auf dem neusten Stand mit dem Image, aber den UDP Stream konnte ich schon anzeigen. Das ganze lief dann noch über WLAN und nicht über Ethernet, das heißt:
Raspberry Pi->Picostation->Picostation->Router(WLAN)->iPad
Das liegt daran, dass ich keinen aktiven USB Hub für den Ethernet Adapter habe.
Trotzdem habe ich eine Latenz von 110ms gemessen und die Verzögerung war spürbar geringer als mit der Android App.
Anhang anzeigen 109571
Wirklich super Arbeit, danke! Auch wenn ich hier wohl der einzige mit iOS bin...
Gruß
Daniel
Danke für dein Feedback und es freut mich zu hören, dass auch auf deinem Device die Latenz in einem sehr guten Bereich liegt. Damit bin ich mir jetzt ziemlich sicher, dass die Latenz auf allen iOS-Devices, für die iOS 8 verfügbar ist (wegen direktem Zugriff auf den HW-Decoder), ziemlich ähnlich gut sein wird.
Für die Kritiker von damals ist das ja dann jetzt der Beweis, dass es nicht nur bei mir so gut funktioniert.
Danke für die Info.
Das ist aber alles sehr vage formuliert, da kann ich so erstmal nichts ableiten was man als Verbesserung umsetzen könnte, ausser den Stream selber entpacken anstatt es gstreamer machen zu lassen.
Tschö
JR
Was willst du denn genau wissen? Die eine Verbesserungen, die ich vorgenommen habe, ist eben den HW-Decoder zu verwenden, was die CPU natürlich erheblich entlastet. HEAD im GStreamer-SDK kann es nun auch schon seit ein paar Wochen, den HW-Decoder zu verwenden. Allerdings steigt die Latenz damit auf über 300 ms. Die bei mir aktuelle Latenz ist ja nun hinreichend bekannt. Des Weiteren empfange ich den UDP-RTP-Stream selber, entpacke ihn und massiere die Bits so, dass der HW-Decoder was mit anfangen kann. Damit konnte ich mich also ganz von GStreamer verabschieden. Das hat dann auch noch einmal die CPU-Auslastung mindestens halbiert.
Ansonsten frag gerne nach, wenn irgendwas noch nicht klar sein sollte.
Du hast natürlich Recht, dass die Vorgehensweise mit den Images nicht dem Linux Grundgedanken entspricht. Natürlich sind Pakete eine feine Sache. Ob es die Entwicklung vorantreibt wage ich aber noch zu bezweifeln. Der Aufwand mit den Paketen ist erheblich größer. Ich denke das ist für unseren Zweck zu aufwändig da der Raspberry ja tatsächlich nur eine Sache machen muss und nicht wie normale Rechner in der Lage sein muss jede ihm zugedachter Aufgabe übernehmen zu müssen.
Ich verstehe natürlich den Frust wenn man Änderungen am Image vorgenommen hat und dann gehen Sie mit dem nächsten Release flöten. Dem kann man entgegen wirken in dem man die Änderungen sauber und ausführlich dokumentiert, so dass jeder diese nachvollziehen kann und bei Bedarf am eigenen Image durchführen kann.
Auf der anderen Seite habe ich aber auch eher die Leute im Blick die noch nie eine Konsole gesehen haben und selbst mit einem apt-get install nächstes-geiles-feature überfordert sind.
Wenn Du Dich der Herausforderung ein Repo zu erstellen annimmst unterstütze ich Dich dabei natürlich gerne so weit es mir möglich ist. Ich würde aber dennoch von Zeit zu Zeit ein fertiges Image bauen damit Endbenutzer es einfach haben ein PlugNPlay System ans laufen zu bekommen.
Den Quellcode des Webservers kann ich tatsächlich bei Git Hub einstellen. Aber mit der Installation von Nginx und befüllen des Webroot ist es nicht getan. Der Webserver muss z.B. in der Lage sein einige Kommandos per sudo auszuführen. Ich lasse Ihn daher als Benutzer Pi laufen, da der in der sudoers list steht. Wenn Du das mit Paketen hin bekommst sollte es eigentlich kein Problem sein. Für den Anfang wären gstreamer, nginx und mavproxy wichtig.
Eine Anleitung zum kompilieren des Gstreamer habe ich hier gepostet:
http://fpv-community.de/showthread....ung-Telemetrie&p=672743&viewfull=1#post672743
Hier muss ich hornetwl meine Zustimmung aussprechen. Es wäre wirklich wesentlich eleganter, wenn man dies so handhaben würde. Allerdings würde ich mich an der Stelle auch gleich von dem blöden Raspbian verabschieden, und auf Arch umsteigen. Es ist wesentlich sauberer (denn X braucht man in der Luft zB einfach nicht) und man bekommt sehr viel aktuellere Pakete. Zum Beispiel ist GStreamer bei Arch mit der aktuellen Version drin.
Dabei werde ich auch direkt noch einmal meine Idee los, den ganzen aktuellen Murks mit den IP-Adressen mit einer Zeroconf-Implementierung (Avahi/Bonjour) zu erschlagen. Das sprach ich schon einmal intern an, aber es blieb leider ohne Resonanz. Vielleicht spricht sich hier ja auch noch jemand dafür aus, sodass man mal einen Gedanken daran 'verschwendet'.
Denn leider habe ich aktuell nicht die Zeit, mich auch noch um die air-Seite zu kümmern; die App kostet mich bisher genug Zeit und Nerven. Außerdem finde ich es auch blöd, wenn man hier ein zweites Lager aufmachen würde, das sich dann nur mit dem ersten bekriegen wird.. Andererseits, Konkurrenz belebt das Geschäft
Und ansonsten, Glückwunsch Lonestar zu deinem Start im Play Store. Bitte im Übrigen für die Idee mit dem Einstellen der Parameter für raspivid in der App