W3C home > Mailing lists > Public > public-webrtc@w3.org > September 2018

Re: getDisplayMedia() and system audio

From: Silvia Pfeiffer <silviapfeiffer1@gmail.com>
Date: Thu, 6 Sep 2018 19:50:26 +1000
Message-ID: <CAHp8n2kCPTcpHzRyv042NOuC7BAtBNHuGYpzo2zRDutwRP0qBg@mail.gmail.com>
To: hbos@google.com
Cc: Roman Shpount <roman@telurix.com>, Martin Thomson <martin.thomson@gmail.com>, Bernard Aboba <Bernard.Aboba@microsoft.com>, public-webrtc <public-webrtc@w3.org>, public-media-capture@w3.org
Nice document!

I have a concrete use case that's a little different:
* do a screenshare of an application that has its own audio
* add to that the audio from a music player (iTunes)
* add to that the voice of the local person
* send that to the other side
* make sure not to also capture the rest of the system audio,
particularly the voice of the far end

We actually have such a use case right now by a PTSD psychologist who
needs some specific audio and application to play together.


On Thu, Sep 6, 2018 at 7:08 PM Henrik Boström <hbos@google.com> wrote:
> I listed some use cases and came up with a proposal, please take a look:
> getDisplayMedia() with audio: excludeTabAudio constraint proposal
> On Thu, Sep 6, 2018 at 2:54 AM Roman Shpount <roman@telurix.com> wrote:
>> On Wed, Sep 5, 2018 at 8:22 PM, Martin Thomson <martin.thomson@gmail.com> wrote:
>>> On Thu, Sep 6, 2018 at 10:11 AM Bernard Aboba
>>> There is probably some role for consent there, but I agree that this
>>> should be as narrow as the selection.  To vary from that would require
>>> some exceptional consent, in an area that is already a minefield.
>> There is also an implementation minefield since there is no one-to-one correlation between audio sources and windows. Audio is played by the process and its relationship to a specific window is not always obvious. Even if you limit audio capture to a specific process, it is not trivial to capture it. There are no standard APIs for this. Audio capture from a process on most of the operating systems requires some sort of hack, like dynamic library injection. The most reliable method is to install a special driver that creates a virtual output device which maps to a virtual input device. Then the application needs to be configured to play into the virtual output driver and virtual input driver can be used as WebRTC audio source. One example of such setup are Virtual Audio Cables (https://en.wikipedia.org/wiki/Virtual_Audio_Cable). This means that for people who needs this now, there is a work around already available. Implementing something nice with an interface, which is safe to obtain consent and be used in a browser, is probably not currently possible.
>> Regards,
>> _____________
>> Roman Shpount
Received on Thursday, 6 September 2018 09:51:00 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:18:44 UTC