-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Capturing audio-only #12
Comments
Yes this is intentional. Audio capture is perceived as an optional addition to screen capture, something that can exist side-by-side video but is not enforced to have to exist. A In the screen capture case, audio is a lot more technical and its availability to some extent platform-dependent. The spec is purposefully vague about what audio has to be provided. Even to the point of making it optional. |
For example, I believe Mac does not allow capturing system audio, so the only audio that might be implementable on that platform is tab/browser audio. |
Alright, thanks for the clarification. That makes sense. The reason why I brought this up is because in my use case I only need the system audio. Right now I’m using a chrome extension to capture both the screen and system audio. But capturing the screen seems to lower my framerate significantly. So that’s why I was hoping there would be a way to request audio only. Though I guess this is very much an edge case and this would probably require drastic changes to the spec or maybe even a new API altogether. |
Would calling |
I believe you can stop the video track without stopping the audio track (like getUserMedia()), which should fix your performance issues. Undeniably this is a workaround for using an API not the way it was intended. I.e. the user gets prompted to share their SCREEN, and depending on their choice/platform you MAY get audio. It's not ideal. |
Agreed this is not ideal. |
Yeah I agree. It’s not ideal but it’s the best solution for now. The alternative is asking users to install software to route system audio to a virtual microphone such as soundflowerbed. So using this APi is much more user friendly. I’ll try to stop the video track and see if that works. |
@henbos @jan-ivar Is it still the consensus that audio-only streams are out of scope for this API? Audio-only use cases are artificially damaged at the moment. If a user wants to capture audio from the system or tab, we first have to prompt them to share their screen, hope they can figure out checking the "share audio" box, then stop the video stream, and hope they don't care about the UI saying we're sharing their screen when we aren't. From there, the audio only stream works fine on supported platforms. The technical concerns raised a few years ago don't seem as relevant now. It seems like the only thing holding back audio use cases is this specification, and the established position that audio is out of scope. What are the specific concerns about |
I'm not up to speed on this anymore, but IIUC system audio capture does not exist on all popular OSes. I suspect you would be less interested in audio tab capture? |
The application I built provides several ways for users to share audio. Either via microphone, pasting a url, or by sharing their system audio. So having audio tab capture available would still be beneficial, even if it is only available on some platforms. |
I think it's counterproductive to force a user to share their (screen AND system audio) when they only want to share (system audio). Similarly for sharing (tab pixels AND tab audio) when they only wish to share (tab audio). Let's reopen this. If there's a simple explanation for such a constraint, and that explanation still holds, then we can always re-close. |
Privacy and security:
But even if that is resolved: doing an API that only works on some OSes, or that works different on different OSes, seems controversial in and of itself.
Btw I agree that doing audio+video capture when you only want audio is counterproductive - it's a workaround to not having solved the audio-only capture use case. But the question is: do we want to solve this use case? I would start with "what use cases do we want to solve?" |
My use case is that on https://fract.space/ there are several methods for audio input, so that it can be used to visualise the fractals based on the audio that has been provided. It's still a WIP, so at the moment dragging a file to the page is the most reliable way to do this. |
The question of use-cases is interesting and I'll get back to that. Quick recap first of the benefits of supporting audio-only, assuming use-cases exist:
Clearly an all-round win - provided we have the use-cases. Back to that, then. :-)
|
My use cases involve live stream production, where users capture audio from multiple sources. This often includes other software such as Skype, Zoom, DJ-style media players, other tabs sharing audio, etc. Audio-only streaming is very much relevant. Video is not always required nor desired. Native applications have no problem in capturing audio in this way. We only have to look to the success of software such as OBS, Wirecast, Rocket Broadcaster, Voicemeeter, etc., to understand that we need this capability on the web. All of these support audio-only modes and capturing from other applications. The users should be empowered. This specification and its implementation are the limiting factors right now, as I see it. I propose:
In other words... I propose that this API match what is expected and consistent with the |
Please allow capturing only system audio. I'm in a situation where I now have to play with both There are a ton of use cases for this. For me I want to take the user's system audio (whatever it may be) and process it in whatever way the user desires. @bradisbell's proposal sounds good to me. |
I would like to second what @r00ster91 said. I am currently trying to build a web-based audio visualizer and wanted users to be able to capture their microphone and/or system sounds. After a frustrating day trying to find out how to access system audio I now see that it's simply not (easily) possible. And now also understand why seemingly all web-based audio visualizers use uploaded media... If privacy is a concern, what is the difference of system audio to the microphone? Isn't the microphone an even more sensitive audio stream? |
It is unfortunate that this issue, which has garnered so much attention from Web developers over the years, has not received commensurate attention from browser vendors other than Chrome (here). I think a good next step might be to present this issue in the Screen Capture group's meeting, 2023-06-26, and proceed to create a |
If no one wants to present it this time, I would be happy to present it in one of the next meetings, if it's okay for a CG member to present something. But I can't attend the upcoming meeting in two weeks. |
The process to join community groups is a lot more lightweight than that of joining working groups, and I believe it does not involve payment to the W3C. At any rate, anyone is welcome to present. |
Coming from this SO post with high hopes, though it seems audio-only capture is a far way off from a production ready feature? |
I'm currently working on tools for Djs and live streaming. This would be very beneficial for my users instead of having to download external software and register virtual microphones |
this is exactly the use case I'm in, I should only capture the audio of a chrome tab, in order to record the call and quickly export it in .weba.
Unfortunately, currently it is not possible to deactivate video capture console error: and I find it impossible to acquire the call from the webphone and obtain my use case. I think it's really absurd, not being able to capture just system audio in 2024. |
I'm just curious how come people who works on tools for community ignores the rational community requests. |
I think "ignore" is too strong. I think it's a matter of disagreement on prioritization, and hopefully the critical mass that is building on this issue could motivate re-examining that. Wdyt, @jan-ivar and @youennf? What is the rationale for maintaining the requirement that video must be captured? |
Many applications could benefit from acquiring the audio of a tab, especially the world of telephony and voip |
Hi, I was wondering why in w3c/mediacapture-screen-share@c5c4842
MUST reject an audio-only request if no audio track is available.
got changed to
MUST reject audio-only requests.
Right now it seems like all audio-only requests need to be rejected, even if the system does support audio tracks. Is this intended?
The text was updated successfully, but these errors were encountered: