games-on-whales / wolf

Stream virtual desktops and games running in Docker
https://games-on-whales.github.io/wolf/stable/
MIT License
292 stars 20 forks source link

Could games-on-whales support WebRTC to stream to a browser? #78

Open guozanhua218 opened 3 weeks ago

ABeltramo commented 3 weeks ago

At the moment Wolf only supports Moonlight but, since most of the components that are used here are completely independent it's not too hard to add support for other types of streaming protocols.

Gstreamer (the library that we use in order to create the audio/video pipeline) has great support for WebRTC out of the box. The only real bit missing to make this happening is "just" a proper Web UI and some glue code to expose the client devices (mouse, keyboard, joypads) over the browser and all the way back to the remote Wolf instance.

This is something that I might revisit in future, if anyone wants to give it a shot I'd be happy to help and provide all the relevant information in how to integrate WebRTC (or even better MoQ).

guozanhua218 commented 3 weeks ago

At the moment Wolf only supports Moonlight but, since most of the components that are used here are completely independent it's not too hard to add support for other types of streaming protocols.

Gstreamer (the library that we use in order to create the audio/video pipeline) has great support for WebRTC out of the box. The only real bit missing to make this happening is "just" a proper Web UI and some glue code to expose the client devices (mouse, keyboard, joypads) over the browser and all the way back to the remote Wolf instance.

This is something that I might revisit in future, if anyone wants to give it a shot I'd be happy to help and provide all the relevant information in how to integrate WebRTC (or even better MoQ).

Yes, I am interested in this. Can you provide me with more information in how to integrate WebRTC(or MoQ) and then I will try

ABeltramo commented 3 weeks ago

Sure, I've put down some basic instructions in a gist here. That should get you started with gst-wayland-display + inputtino so that you'll hopefully end up with something like:

https://github.com/games-on-whales/wolf/assets/1122217/7be6db9c-5216-4b03-b4bd-1c9075d9e124

I hope this helps as a very basic starting point, let me know how it goes!

guozanhua218 commented 3 weeks ago

Current the solution of GOW only support the games in linux platform, can't support window's games?

ABeltramo commented 3 weeks ago

Current the solution of GOW only support the games in linux platform, can't support window's games?

Thanks to Steam Proton, we can run most Windows games in Linux!

guozanhua218 commented 3 weeks ago

Current the solution of GOW only support the games in linux platform, can't support window's games?

Thanks to Steam Proton, we can run most Windows games in Linux!

Use wine in Linux?

guozanhua218 commented 3 weeks ago

Current the solution of GOW only support the games in linux platform, can't support window's games?

Thanks to Steam Proton, we can run most Windows games in Linux!

Use wine in Linux?

Steam Play?

zslliu commented 2 weeks ago

Sure, I've put down some basic instructions in a gist here. That should get you started with gst-wayland-display + inputtino so that you'll hopefully end up with something like:当然,我在这里列出了一些基本说明。这应该让你从 gst-wayland-display + inputtino 开始,这样你就有希望最终得到类似的结果:

webrtc+inputtino.mp4 I hope this helps as a very basic starting point, let me know how it goes!我希望这能作为一个非常基本的起点有所帮助,让我知道进展如何!

The test connection was successful on an Ubuntu computer, but only a black window could be seen. 2 3 1

write3371 commented 2 weeks ago

maybe this helps

https://github.com/selkies-project/docker-nvidia-egl-desktop