unoplatform / uno

Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
https://platform.uno
Apache License 2.0
8.76k stars 706 forks source link

Add support for WebRTC #4138

Closed edparitor closed 2 years ago

edparitor commented 3 years ago

What would you like to be added:

I'd really like to have Uno.WebRTC available as the basis for cross-platform streaming/conferencing apps

Why is this needed:

Part of our Uno app will allow educators to offer virtual/video lessons. The simplest way to offer this as a cross-platform solution is to develop a website, launch the url on the client and rely on browser support. However, it would be great to be able to write this within the native apps.

WebRTC.org has C++ libraries for android, ios and windows. MS have adapted/wrapped this for UWP https://github.com/webrtc-uwp. So developing the solution within our app would be possible, but time consuming. There are cross-platform libraries already, such as icelink, to speed that up, but they have a cost and they would still need to be worked into each head.

An entirely Uno based solution would be great.

For which Platform:

Anything else we need to know?

dbruning commented 3 years ago

https://github.com/sipsorcery-org/sipsorcery would be a great starting point for this.

GitHub
GitHub - sipsorcery-org/sipsorcery: A WebRTC, SIP and VoIP library for C# and .NET Core. Designed for real-time communications apps.
A WebRTC, SIP and VoIP library for C# and .NET Core. Designed for real-time communications apps. - GitHub - sipsorcery-org/sipsorcery: A WebRTC, SIP and VoIP library for C# and .NET Core. Designed ...
hawkerm commented 2 years ago

There's also this library which does Blazor/Xamarin support: https://github.com/melihercan/WebRTCme

GitHub
GitHub - melihercan/WebRTCme: Providing WebRTC functionality to Blazor and Xamarin Forms applications with a single common API.
Providing WebRTC functionality to Blazor and Xamarin Forms applications with a single common API. - GitHub - melihercan/WebRTCme: Providing WebRTC functionality to Blazor and Xamarin Forms applicat...
jeromelaban commented 2 years ago

We added a sample for this a while back: https://github.com/unoplatform/uno/blob/2ff49c81fa406425f39850cc061971818fa82a2c/doc/articles/uno-samples.md#webrtc

GitHub
uno/uno-samples.md at 2ff49c81fa406425f39850cc061971818fa82a2c · unoplatform/uno
Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported. - uno/uno-samples.md at 2ff49c81fa406425f39850cc061971818fa82a2c · unoplatform/uno
Dreamwalker666 commented 1 year ago

We added a sample for this a while back: https://github.com/unoplatform/uno/blob/2ff49c81fa406425f39850cc061971818fa82a2c/doc/articles/uno-samples.md#webrtc

GitHubuno/uno-samples.md at 2ff49c81fa406425f39850cc061971818fa82a2c · unoplatform/unoBuild Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported. - uno/uno-samples.md at 2ff49c8 · unoplatform/uno

This only covers webassembly doesn't it, how does this work for the other platforms requested in the main issue?

GitHub
uno/uno-samples.md at 2ff49c81fa406425f39850cc061971818fa82a2c · unoplatform/uno
Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported. - uno/uno-samples.md at 2ff49c81fa406425f39850cc061971818fa82a2c · unoplatform/uno
edparitor commented 1 year ago

@Dreamwalker666 It's true that I was hoping for a lower level integration on some more platforms