<div dir="ltr">You can use whichever server you want. In its simplest form<div><br></div><div><pre style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:11.9px;margin-top:0px;margin-bottom:16px;padding:16px;overflow:auto;line-height:1.45;border-radius:6px;color:rgb(106,115,125)"><code style="box-sizing:border-box;font-family:SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:11.9px;padding:0px;margin:0px;background:initial;border-radius:6px;word-break:normal;border:0px;display:inline;overflow:visible;line-height:inherit"><?php 
  if($_SERVER['REQUEST_METHOD'] == 'HEAD') {
    header('Vary: Origin');
    header("Access-Control-Allow-Origin: chrome-extension://lmkllhfhgnmbcmhdagfhejkpicehnida");
    header("Access-Control-Allow-Methods: GET, OPTIONS, HEADERS");
    header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers");    
    header("X-Powered-By:");
    header("HTTP/1.1 200 OK");
    die();
  }
  if (isset($_GET["start"])) {
    header('Vary: Origin');
    header("Access-Control-Allow-Origin: chrome-extension://lmkllhfhgnmbcmhdagfhejkpicehnida");
    header("Access-Control-Allow-Methods: GET, OPTIONS, HEAD");
    header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers");    
    header("Content-Type: text/plain");
    header("X-Powered-By:");
    echo passthru("parec -v --raw -d alsa_output.pci-0000_00_1b.0.analog-stereo.monitor");
    exit();
  }</code></pre></div><div>adjust the device name passed to PHP passthru().</div><div><br></div><div>You can capture microphone using parec or parecord. I am banned from SO so I won't be able to answer your question there, at least for another few years.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Dec 13, 2020 at 2:34 AM Jan Van den Audenaerde <<a href="mailto:jan.vandenaudenaerde@gmail.com">jan.vandenaudenaerde@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Thanks for the response. <div><br></div><div>How did you setup pulseaudio daemon/server ?<br><br></div><div>FYI I have also created following stackoverflow question to make my needs mode clear : <a href="https://stackoverflow.com/questions/65274557/how-to-configure-pulseaudio-on-the-host-for-docker-containers" target="_blank">https://stackoverflow.com/questions/65274557/how-to-configure-pulseaudio-on-the-host-for-docker-containers</a></div><div><br></div><div>kr</div><div>Jan</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Op za 12 dec. 2020 om 16:58 schreef guest271314 <<a href="mailto:guest271314@gmail.com" target="_blank">guest271314@gmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">> <i>Moreover it should be possible that different docker containers can access the microphone and speaker at the same time.</i><div><i><br></i></div><div><i>> </i>Any help would be much appreciated.<i><br></i><div><br></div><div>I have not used pulseaudio server/client functionality. I have used pulse audio to get system audio and specific application audio output in Firefox and streamed that data to Chrome and Chromium, which does not support capturing system audio.</div><div><br></div><div>One option would be to serve the audio data using parec or parecord from  </div><div><br></div><div>> <i>CentOs 8 on a headless device (intel-nuc)</i></div><div><i><br></i></div><div>where</div><div><br></div><div>> <i>my docker containers should be able to use pulseaudio client to communicate with the pulseaudio server</i></div><div><i><br></i></div><div>request and receive PCM or PCM re-encoded to a different codec.</div><div><br></div><div>This can be achieved using a server-client template, e.g., fetch('/<a href="http://localhost:1234?device=microphone'" target="_blank">http://localhost:1234?device=microphone'</a>), parse the PCM response at the client containers <a href="https://github.com/WebAudio/web-audio-api-v2/issues/97#issue-688754941" target="_blank">https://github.com/WebAudio/web-audio-api-v2/issues/97#issue-688754941</a>. Other means of achieving the requirement include using WebRTC PeerConnection <a href="https://gist.github.com/guest271314/04a539c00926e15905b86d05138c113c" target="_blank">https://gist.github.com/guest271314/04a539c00926e15905b86d05138c113c</a>.</div></div><div><br></div><div>PulseAudio has a WebRTC Audio Processing component though I have not tried that either. See also <a href="https://github.com/aiortc/aiortc" target="_blank">https://github.com/aiortc/aiortc</a>; <a href="https://git.aweirdimagination.net/perelman/minimal-webrtc-gstreamer" target="_blank">https://git.aweirdimagination.net/perelman/minimal-webrtc-gstreamer</a>.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Dec 12, 2020 at 7:19 AM Jan Van den Audenaerde <<a href="mailto:jan.vandenaudenaerde@gmail.com" target="_blank">jan.vandenaudenaerde@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>I have spend several days without success figuring out how I can use pulseaudio in a container setup on an embedded device.</div><div><br></div><div><i>I am running CentOs 8 on a headless device (intel-nuc) which is also running docker.<br>
I would like to run pulseaudio server on the host (CentOs 8) and my 
docker containers should be able to use pulseaudio client to communicate
 with the pulseaudio server via pulseaudio unix socket.<br>
Moreover it should be possible that different docker containers can access the microphone and speaker at the same time.</i><br></div><div><br></div><div><br></div><div>The main problem I am facing I have reported in following forum post: </div><div><br></div><div><ul><li><a href="https://forums.centos.org/viewtopic.php?f=54&t=76643" target="_blank">https://forums.centos.org/viewtopic.php?f=54&t=76643</a></li></ul><div><br></div><div>Any help would be much appreciated.</div></div><div>I also think that pulseaudio has the good requirements for use in a container setup if  I only can make it work.</div><div>Jan.</div><div><br></div><div><br></div></div>
_______________________________________________<br>
pulseaudio-discuss mailing list<br>
<a href="mailto:pulseaudio-discuss@lists.freedesktop.org" target="_blank">pulseaudio-discuss@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss</a><br>
</blockquote></div>
_______________________________________________<br>
pulseaudio-discuss mailing list<br>
<a href="mailto:pulseaudio-discuss@lists.freedesktop.org" target="_blank">pulseaudio-discuss@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss</a><br>
</blockquote></div>
_______________________________________________<br>
pulseaudio-discuss mailing list<br>
<a href="mailto:pulseaudio-discuss@lists.freedesktop.org" target="_blank">pulseaudio-discuss@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss</a><br>
</blockquote></div>