Audio per JS-Mediarecorder aufnehmen und auf Linuxserver abspielen
Gary567
- javascript
- linux
- php
0 Der Martin0 Gary567
hi!
ich schlag mich seit den letzten tagen mit dem problem rum auf einer seite per javascript mediarecorder/oder alternative??, fortlaufend! aufzunehmen.. das an den server(gleicher host wie die seite) zu senden und das ganze abspielen zu lassen..
um das ganze etwas zu verbildlichen.. es geht um ein RC-car projekt.. das steuerinterface ist in dem sinne eine website.. und im car selbst schlummert ein raspberry pi(linux).. ich möchte also.. wenn ich am pc/smartphone sitze.. und etwas reinquatsche.. das auto das abspielt fortlaufend.. live.. also nicht "audio datei aufnehmen.. abspeichern.. abspielen.. löschen"
den mediarecorder bekomm ich auf die beine gestellt und funktioniert soweit auch.. allerdings hab ich meine probleme bei dem aufnahmeformat.. und dem abspielen
bisher hab ich versucht die daten per websocket an meinen php-server zu senden.. der wiederrum eine offene mediaplayer instanz füttert.. am nächsten dran war ich mit dem programm "aplay".. da hats immerhin gerauscht sobald pakete ankamen auch wenn er beim decodieren der audio nur datenmüll rausbekam :D
während der übertragung wird das ganze per base64 codiert.. ich weiß..das gibt ne große datenmenge.. aber es ist ja sowieso im lokalem netzwerk und optimierungen kommen hinterher..
was ich also benötige.. ist eigentlich.. eine ganz simple mediarecorder anwendung... die sobald daten verfügbar sind(und vorher natürlich requested wurden) die dann sendet(das senden/empfangen ist soweit kein problem) und dann fortlaufend abspielen kann
ich hoffe das ich einigermaßen klarmachen konnte was gemeint ist und damit irgendjemand was anfangen kann =/
mfg
Hallo,
um das ganze etwas zu verbildlichen.. es geht um ein RC-car projekt.. das steuerinterface ist in dem sinne eine website.. und im car selbst schlummert ein raspberry pi(linux).. ich möchte also.. wenn ich am pc/smartphone sitze.. und etwas reinquatsche.. das auto das abspielt fortlaufend.. live.. also nicht "audio datei aufnehmen.. abspeichern.. abspielen.. löschen"
soll das Ganze nur one-way sein, oder soll das Auto auch Geräusche aus seiner Umgebung zurücksenden, also quasi ein Dialog möglich sein?
Du brauchst also einen Streaming-Server auf deinem PC/Smartphone/whatever, und einen dazu passenden Client auf dem RC-Auto. Und das Ganze nochmal andersrum, wenn du einen Dialog führen willst.
während der übertragung wird das ganze per base64 codiert..
Warum??
ich weiß..das gibt ne große datenmenge..
Ja, 1/3 mehr als die Rohdaten.
was ich also benötige.. ist eigentlich.. eine ganz simple mediarecorder anwendung...
Nein, so ganz simpel ist es eben nicht. Und je länger ich darüber nachdenke, desto mehr komme ich zu der Überzeugung, dass eigentlich auf dem RC-Auto der Server laufen muss, der von beliebigen Clients kontaktiert wird und die empfangenen Audio-Daten sofort ausgibt. Ich bin mir nicht sicher, ob es dafür schon fertige Lösungen gibt.
So long,
Martin
per base64, weil ich die daten per json verschicke..
aus der umgebung des autos brauch ich nichts.. und der server läuft bereits auf dem auto.. genau wie das interface.. wegen all der anderen steuerbefehle und hardwareinfos läuft dort bereits ein php server.. der empfängt die base64 codierten daten auch.. decodiert sie.. und gibt sie in eine pipe eines offenen mediaplayers.. allerdings kenn ich mich mit sound so gut wie garnicht aus und hab daher auch keinen schimmer von codecs.. ich weiß wohl das der mediarecorder standardmäßig im audio/webm format aufnimmt.. allerdings hab ich keine ahnung wie ich das überprüfen soll.. denn wenn ich die empfangenen daten spaßhalber in eine datei schreibe.. und dann runterlade.. und versuche sie mit vlc zu öffnen.. kommt nur nen fehler..