pavlobu / deskreen

Deskreen turns any device with a web browser into a secondary screen for your computer. ⭐️ Star to support our work!
https://deskreen.com
GNU Affero General Public License v3.0
15.5k stars 834 forks source link

Hardware-accelerated encoding, compression, frame rate, data rate #174

Open 3rd3 opened 2 years ago

3rd3 commented 2 years ago

I am wondering what kind of framerate I can expect with what kind of hardware at Full HD resolution (e.g. Lenovo Tiny vs Raspberry Pi) and with what kind of data rate.

Does Deskreen compress the video at all?

Is hardware-accelerated H.264 encoding planned/feasible?

VNC, RDP, Guacamole and NoVNC do not do compression, it seems:

https://cloud.google.com/architecture/gpu-accelerated-streaming-using-webrtc

jacob-talroo commented 1 month ago

On Fedora 40 Linux / Wayland / Gnome, when I run Chrome with google-chrome-stable --ignore-gpu-blocklist --enable-features=VaapiVideoDecoder,VaapiVideoEncoder,VaapiVideoDecodeLinuxGL,VaapiIgnoreDriverChecks,WebRTCPipeWireCapturer, when I share my screen, I see the GPU being used with intel_gpu_top. However, I haven't been able to reproduce this GPU usage with Deskreen.

I have tried using these arguments with Deskreen and additional ones: --enable-gpu-rasterization --enable-zero-copy --disable-software-rasterizer --enable-accelerated-2d-canvas --enable-native-gpu-memory-buffers --use-gl=desktop --enable-accelerated-video --enable-accelerated-video-decode

Any thoughts would be appreciated!