Hallo liebe Community,
ich habe lange nach einer Lösung gesucht, um einen Audiolivestream vom Mikro über alle möglichen Devices abspielen zu lassen.
Um erstmal die USB Soundkarte als Fehlerquelle auszuschließen, habe ich erstmal eine mp3 Datei genommen, um hiermit zu testen.
Auf dem Raspi setze ich also folgenden Befehl ab:
vlc-wrapper -vvv ./Musik/test.mp3 --sout '#transcode{vcodec=none,acodec=vorb,ab=128,channels=2,samplerate=44100}:standard{access=http,mux=ogg,dst=raspi:80/stream.ogg}'
Wenn ich jetzt per VLC auf meinem Rechner diesen Stream aufrufe, spielt dieser es wunderbar mit einer Verzögerung von ca. 1 sekunde ab.
Bette ich das ganze nun in HTML auf folgender weise ein, funktioniert das ganze nicht:
<audio controls preload ='none'>
<source src="http://raspi/stream.ogg" type="audio/ogg">
</audio>
Wenn ich die HTML im Browser öffne, kommt der embedded Player. Hier klicke ich auf Play und es kommt erstmal nichts. Beende ich den Stream auf dem Raspi, wird der Stream im Browser ab dem Zeitpunkt abgespielt, wo ich auf Play gedrückt habe. Der Browser spielt bis zu der Stelle ab, an der ich beim Raspi den Stream abgebrochen habe.
Meine Vermutung: Der Browser cached den Stream und wartet, bis er die "Datei" heruntergeladen hat. Hat der Stream ein Ende gefunden, spielt der Browser das ganze wie eine Datei ab.
Habt ihr da eine Lösung für mein Problem?
Ist das eine Serverseitige Einstellung, oder eine Clientseitige?
Folgende Dinge habe ich weiterhin ausprobiert:
access=livehttp //das hatte ich irgendwo gefunden, aber da machen die Browser gar nicht mehr mit (Firefox, Chrome)
andere Formate wie z.b. mp4, wav, mpeg
Stream von einem Windows-Rechner mit der VLC Gui erstellt und in HTML5 eingebettet -> gleiches Ergebnis
Wichtig wäre bei dem ganzen, dass man ganz einfach per Smartphone und qr-code auf den link kommt und direkt abspielen kann. Ohne weitere Apps. Mit icecast habe ich das ganze schon ausprobiert, nur ist hier eine starke Verzögerung von bis zu 10 sekunden, je nach client.
Vielen Dank für eure Hilfe
Hermann