SEPIA-Framework / sepia-docs

Documentation and Wiki for SEPIA. Please post your questions and bug-reports here in the issues section! Thank you :-)
https://sepia-framework.github.io/
236 stars 16 forks source link

Keine Soundausgabe außer über Audio Jack bei Chromium #88

Closed neporamone closed 2 years ago

neporamone commented 3 years ago

Hi

Sepia 2.51, Client 0.23

Ausgangslage: Raspberry 3b mit USB-Soundkarte & USB-Mikrophone oder Bluetooth-Soundausgabe & USB-Mikrophone Soundausgabe funktioniert, wenn man systeminterne Abfragen wie Call test oder Wetter bzw. Abfragen vom Smarthomesystem (Openhab2) durchführt. Sobald man Abfragen, die Chomium gebrauchen wie Spiele Radio Bremen4 oder Spiele The Ramones Blitzkrieg Bob (Youtube) starte, kommt kein Sound; es werden aber im Client-Log keine Fehlermeldungen angezeigt. Laut Log werden die Befehle ausgeführt:

Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-audio-player-event":{"source":"youtube-embedded","action":"start"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"idle"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"speaking"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-speech":{"type":"tts_speak","msg":"Eine Sekunde, Musik wird gesucht."}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-speech":{"type":"asr_result","msg":"spiele Ramones Blitzkrieg bop"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"idle"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"listening"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"loading"}}} HTTP event: {"name":"remote-button","data":{"deviceId":"o1","button":"mic"}} HTTP event: {"name":"remote-button","data":{"deviceId":"o1","button":"mic"}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-audio-player-event":{"source":"stream","action":"start"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"idle"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"speaking"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-speech":{"type":"tts_speak","msg":"Radio wird gestartet."}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-speech":{"type":"asr_result","msg":"Spiele Radio Bremen 4"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"idle"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"listening"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"loading"}}} HTTP event: {"name":"remote-button","data":{"deviceId":"o1","button":"mic"}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"idle"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"speaking"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-speech":{"type":"tts_speak","msg":"OneCallAPIWeatherAndForecast_Current_Wetterlage steht auf ein paar wolken."}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-speech":{"type":"asr_result","msg":"Wetterlage"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"idle"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"listening"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"loading"}}} HTTP event: {"name":"remote-button","data":{"deviceId":"o1","button":"mic"}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"idle"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"speaking"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-speech":{"type":"tts_speak","msg":"Ja, es funktioniert!"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-speech":{"type":"asr_result","msg":"test"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"idle"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"loading"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"listening"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"loading"}}} HTTP event: {"name":"remote-button","data":{"deviceId":"o1","button":"mic"}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"idle"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"listening"}}} Broadcaster event: {"broadcast":{"client":"o1_chrome_app_v0.23.0","deviceId":"o1","sepia-state":{"state":"loading"}}} HTTP event: {"name":"remote-button","data":{"deviceId":"o1","button":"mic"}}

Also gleiche Konstellation wie bei #63. Habe auch schon mit diversen anderen Konfigurationen getestet #85 Die gleiche Installation auf Basis von Soundausgabe über Audio Jack (Klinke) & USB.Mikrofon läuft problemlos, somit schließe ich eine falsche Installation aus, testweise eine weitere USB-Soundkarte ausprobiert, ebenfals erfolglos - somit liegt es auch nicht an der USB-Soundkarte (über aplay-alsa funktionieren beide USB-Soundkarten)

Schlußfolgerungen: Eine Soundausgabe, die über Chromium laufen muß, funktioniert nur über Audio-Jack.

Tschau nepo

P.S. Hoffentlich habe ich mich nicht zu weit aus dem Fenster gelegt mit BUG

@edit: Habe mal eine Oberfläache installiert und am Monitor angeschlossen. Unter Chromium tagesschau.de geöffnet und ein Video abgespielt und siehe da, Audioausgabe funktioniert bei unveränderter Konfiguration. Also meine Vermutung/Theorie (#63 auch schon), Chromium wird vom SEPIA-Client Programm mit den falschen Parametern für die Sounddausgabe gestartet. Habe mal ein raspinfo mit meiner Konfiguration hochgeladen.

fquirin commented 3 years ago

Hi nepo,

hattest du mal versucht über das ~/sepia-client/setup.sh script den Audio-Output des Chrome zu konfigurieren?

Die "Oberfläche" beim Tagesschau Test war der Raspberry OS Desktop? Theoretisch kannst du auch den Client starten mit Display (z.B. der Pseudo-Headless oder Display Modus) und im sepia-client run script den Tag --kiosk entfernen damit du vollen Zugriff auf den Chromium bekommst. Etwas umständlich aber vielleicht findet man so das Problem.

neporamone commented 3 years ago

hi

Die "Oberfläche" beim Tagesschau Test war der Raspberry OS Desktop?

Ja

Theoretisch kannst du auch den Client starten mit Display (z.B. der Pseudo-Headless oder Display Modus) und im sepia-client run script den Tag --kiosk entfernen damit du vollen Zugriff auf den Chromium bekommst.

Habe im run.sh Script den kiosk Mode gelöscht. Headless: Client startet, aber keine Veränderung Pseude-headless: Client startet nicht; händisch per run.sh gestartet - starte, aber keine Veränderung Display Mode: Client startet nicht, händisch gestartet - startet trotzdem im Pseudo-headless Mode und somit keine Veränderung.

Wenn ich aber chromium per Konsole mit Kiosk Mode startet, wird alles mit Ton abgespielt

DISPLAY=:0 chromium-browser --kiosk https:tagesschau.de

Terminal-Ausgabe DISPLAY=:0 chromium-browser --kiosk https:tagesschau.de --disable-quic --enable-tcp-fast-open --ppapi-flash-path=/usr/lib/chromium-browser/libpepflashplayer.so --ppapi-flash-args=enable_stagevideo_auto=0 --ppapi-flash-version= libEGL warning: DRI2: failed to authenticate [2865:2965:1112/090048.468618:ERROR:object_proxy.cc(622)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files [2865:2965:1112/090048.471308:ERROR:object_proxy.cc(622)] Failed to call method: org.freedesktop.UPower.GetDisplayDevice: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files [2865:2965:1112/090048.474199:ERROR:object_proxy.cc(622)] Failed to call method: org.freedesktop.UPower.EnumerateDevices: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files [2922:2922:1112/090048.556380:ERROR:viz_main_impl.cc(150)] Exiting GPU process due to errors during initialization [2941:14:1112/090108.577602:ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"{\"causes\":[{\"causes\":[],\"data\":{},\"stack\":[{\"file\":\"../../media/filters/decrypting_video_decoder.cc\",\"line\":53}],\"status_code\":264,\"status_message\":\"\"}],\"data\":{\"Decoder name\":\"DecryptingVideoDecoder\"},\"stack\":[{\"file\":\"../../media/filters/decoder_selector.cc\",\"line\":172}],\"status_code\":265,\"status_message\":\"\"}"}

So oder so glaube ich, das es somit nicht am Kiosk-Mode liegt

hattest du mal versucht über das ~/sepia-client/setup.sh script den Audio-Output des Chrome zu konfigurieren?

Auch versucht, bin mir aber nicht sicher, was man da eintragen muß. habe es u.a. mit ac108 #85 versucht, kein Erfolg. Wenn ich einen externen Player mit

squeezelite -o sysdefault:CARD=B10

aplay -l und aplay -L So kann ich darüber Musik hören, bei gleichem Eintag unter Setup Punkt 9 kommt überhaupt nichts mehr.

Irgentwie will es bei mir nicht laufen ....

Tschau nepo

neporamone commented 3 years ago

hi

@fquirin :

hattest du mal versucht über das ~/sepia-client/setup.sh script den Audio-Output des Chrome zu konfigurieren?

... und jetzt bin ich wieder am Punkt wie bei #63 Ich kann diverse Kombinationen im Punkt 9 des setup Menues bzw. direkt in der run.sh eintragen

hw:2,0 ; output (Alias in .asoundrc) ; front:B10 (B10 ist meine USB Soundkarte) ; plughw:B10 usw. . Ich bekomme dann den Sound (z.B. von Radio, Youtube) - Super ! Aber genau wie bei Bluetooth bekomme ich dann keine Client-Ansagen wie Call test oder Wetter mehr zu hören. Also entweder das eine oder andere !

Gibt es dafür keine Lösung, es funktioniert doch auch beides unter Audio Jack ?

Tschau nepo

fquirin commented 3 years ago

@neporamone Das Problem ist etwas kniffelig, zumal ich nicht verstehe, warum oberflächlich gesehen identische Systeme hier unterschiedlich reagieren. Ich versuche für die nächste Version mal die MediaDevices API einzubauen. Die erlaubt es theoretisch Ein- und Ausgabegeräte zu wählen. Ob das überhaupt unterstützt wird hängt aber stark von der Plattform ab. Mit Windows geht es und ich bin optimistisch für Linux :crossed_fingers:

P.S.: Die Idee dabei den Kioskmodus zu deaktivieren war eigentlich nur, dass man selber wieder auf die Controls des Browsers zugreifen kann um die Audiogeräte zu wählen (URL Leiste oben Rechts).

fquirin commented 2 years ago

Der neue client v0.24.0 hat jetzt eine Seite für media-device Auswahl in den Settings (Mediengeräte) und die neue Version des DIY clients benutzt jetzt Pulseaudio (die Änderung war notwendig seit Chromium >90). Falls das Problem weiterhin auftritt bitte ein neues issue eröffnen ;-)