-
Notifications
You must be signed in to change notification settings - Fork 6.7k
Video Conference Mute Overview
Note: This is only included in the pre-release version of PowerToys installer. This PowerToy requires Windows 10 1903 (build 18362) or later.
Back in the June timeframe, we started prototyping an idea. With COVID-19, we're all multi-tasking and trying to make the best of everything and being able to quickly mute while on a conference call is critical regardless of where you are on your computer and what application has focus.
The utility will mute not just your audio but your video as well with a single keystroke. You can do audio, video or both. We knew this would impact our roadmap and goals but felt extremely strong that this is the right decision. We're all multi-tasking and trying to make the best of everything and being able to quickly mute while on a conference call is critical regardless of where you are on your computer.
We have a tracking issue - #6246 with all known issues. We know we have issues and proactively working toward resolving them. Tested external cameras pretty heavily. We know a certain laptops currently the video forwarding does not work and are proactively working on fixing this.
Due to these known issues, we're only putting this in a pre-release installer for PowerToys.
- Win+N to toggle both Audio and Video at the same time
- Win+Shift+O to toggle video
- Win+Shift+A to toggle microphone
When the camera is in use, you'll see this wonderful dialog on where you set it on your screen to get your state. With a quick click or a keystroke, your state will be updated.
To have the camera set, all you need to do is select the PowerToys camera.
- Hot keys: Shortcut to trigger actions
- Selected camera to stream: What camera does PowerToys use to stream from
- Camera overlay image: an image to inject versus a black screen
- Control overlay: Where on the screen do you want the overlay dialog
- Show overlay on: What monitor(s) do you want the control
Why do we do this you may ask? Well, an application interacting with audio is different than video. If a webcam stops working, the applications tend to not recover until the API does a full reset. If you were to toggle the global privacy webcam on / off while using your webcam, you'll experience most things won't recover.
So, how does PowerToys handle this so you can keep streaming?
- Audio: PowerToys uses global microphone mute API in Windows. Apps should recover when this is toggled on and off.
- Video: PowerToys has a virtual driver for the webcam. We route the video through the driver and back to the application. When a user tells us to stop broadcasting the video, we stop streaming. The application itself still thinks it is getting video except all it is getting is a stream of black. When you toggle the stream back on, the driver just stops injecting black 😊
To debug the webcam driver itself, you can look at your C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp\PowerToysVideoConference.log
file. You could also create an empty PowerToysVideoConferenceVerbose.flag
in the same dir to enable verbose logging mode in the driver.