ElliotKillick / qubes-video-companion

Securely stream webcams and share screens across virtual machines. Project moved: https://github.com/QubesOS/qubes-video-companion
MIT License
52 stars 14 forks source link

Allow users to manually select webcam parameters #16

Closed DemiMarie closed 3 years ago

DemiMarie commented 3 years ago

For resolution and frame rate, we can make a reasonable default choice based on heuristics, such as “highest resolution, then fastest frame rate” or “fastest frame rate, then highest resolution”. However, users might very well want to override the defaults. Ideally, this could be done via a GUI, but a configuration file would be okay for now.

DemiMarie commented 3 years ago

From real-world experience, this is a hard requirement. My laptop’s webcam has a max resolution of 1280x720, but this causes Zoom to slow to a crawl. So it turns out that we cannot actually provide useful defaults here.

ElliotKillick commented 3 years ago

My computer handles 1920x1080 just fine with Zoom. Try making the video preview smaller or hiding it completely (by right-clicking). It's this playback of raw video that takes all the performance.

The only real solution for fixing the performance is switching from streaming raw video to JPEGs as we have made progress towards in #13.

Of course, this does increase attack surface but I think it's worth it. This will still be a much, much smaller attack surface than connecting the USB device from sys-usb.

ElliotKillick commented 3 years ago

Also, I have all 4 of my vCPUs assigned to the qube I use for Zoom.