Încerc să rulez un browser fără cap pe o instanță EC2/Ubuntu 20.04 și apoi să scot fluxul audio rezultat la receptorul Pulseaudio implicit (care este apoi preluat de DarkIce/Icecast). Vreau doar să rulez o singură pagină web (a mea, găzduită pe un alt server, care necesită jQuery și Howler.js), iar browserul/fluxul rezultat trebuie să rămână deschis 24/7.
Am reușit să obțin un fișier audio pe instanță pentru a fi redat pe Icecast (folosind ogg123), așa că ogg123>Pulseaudio>Darkice>Icecast2 funcționează. Am creat o chiuvetă implicită ca mai jos
pactl load-module module-null-sink sink_name=radio
pacmd update-sink-proplist radio device.description=radio
pacmd set-default-sink radio
și a făcut Pulseaudio driverul implicit creând ~/.asoundrc pentru a include
pcm.puls implicit
ctl.puls implicit
Nu sunt sigur care este abordarea corectă pentru a face browserul să se joace frumos. Am încercat (atât google-chome, cât și chromium) să indice direct atât un fișier audio, cât și o pagină cu js care redă audio (cu intenția de a o rula în cele din urmă în Screen), ambele par să găsească conținutul, nici o abordare. redă orice sunet. De exemplu,
google-chrome-stable --headless --disable-gpu --autoplay-policy=no-user-gesture-required --user-data-dir=/home/ubuntu/chromeUser --disable-accelerated-video-decode - -disable-software-rasterizer --enable-logging=stderr --v=1 https://domain.name/stream.html
generează următoarele
[0608/102421.257217:INFO:cpu_info.cc(53)] Număr disponibil de nuclee: 1
[0608/102421.258656:INFO:cpu_info.cc(53)] Număr disponibil de nuclee: 1
[0608/102421.258861:VERBOSE1:zygote_main_linux.cc(217)] ZygoteMain: inițializarea 0 delegați furk
[0608/102421.259318:VERBOSE1:zygote_main_linux.cc(217)] ZygoteMain: inițializarea 0 delegați fork
[0608/102421.271947:VERBOSE1:webrtc_internals.cc(118)] Nu s-a putut obține directorul de descărcare.
[0608/102421.280120:VERBOSE1:breakpad_linux.cc(2071)] Descarcarea fără blocare a browserului este activată pentru: proces-gpu
[0608/102421.283276:EROARE:gpu_init.cc(440)] Transferul nu este acceptat, GL este dezactivat
[0608/102421.286107:VERBOSE1:breakpad_linux.cc(2071)] Descarcarea fără blocare a browserului este activată pentru: redare
[0608/102421.288099:VERBOSE1:sandbox_linux.cc(69)] Sandbox seccomp-bpf activat pentru tipul de proces: proces-gpu.
[0608/102421.293815:VERBOSE1:sandbox_linux.cc(69)] Sandbox seccomp-bpf activat pentru tipul de proces: redare.
[0608/102421.303930:VERBOSE1:device_data_manager_x11.cc(216)] X Extensia de intrare nu este disponibilă
[0608/102421.356750:VERBOSE1:configured_proxy_resolution_service.cc(852)] Suportul PAC a fost dezactivat deoarece nu există nicio implementare a sistemului
[0608/102421.357514:VERBOSE1:configured_proxy_resolution_service.cc(852)] Suportul PAC este dezactivat deoarece nu există nicio implementare a sistemului
[0608/102421.359494:VERBOSE1:network_delegate.cc(32)] NetworkDelegate::NotifyBeforeURLRequest: https://domain.name/stream.html
[0608/102421.411474:VERBOSE1:document.cc(3974)] Document::DispatchUnloadEvents() URL = <null>
[0608/102421.411727:VERBOSE1:document.cc(4054)] De fapt, trimiterea unui UnloadEvent: URL = <null>
[0608/102421.421675:VERBOSE1:network_delegate.cc(32)] NetworkDelegate::NotifyBeforeURLRequest: /path/to/jquery.min.js
[0608/102421.424968:VERBOSE1:network_delegate.cc(32)] NetworkDelegate::NotifyBeforeURLRequest: /path/to/jquery-ui.min.js
[0608/102421.429480:VERBOSE1:network_delegate.cc(32)] NetworkDelegate::NotifyBeforeURLRequest: /path/to/howler.min.js
Este aceasta abordarea potrivită pentru ca acest lucru să funcționeze (și, dacă da, de ce nu?), sau ar trebui să folosesc Selenium/Puppeteer/altceva?
Mulțumesc, Chris
[oparte: am încercat o număr de lucruri pentru a încerca să eliminați eroarea „Passthrough nu este acceptată, GL este swiftshader”, fără succes, deși nu pare să împiedice browserul să acceseze pagina]