Replies: 6 comments 3 replies
-
Do you have a repository for your app? I'd be happy to give it a try but don't fancy manually cobbling it into an ASP.NET Core app. Note that I've personally never tested OPUS with the library. It may just work but there also maybe some hidden gotchas. In regards to your design am I right that's it:
Is that correct? That architecture is the same as a WebRTC Selective Forwarding Unit (SFU) albeit without the smarts of selecting amongst multiple streams. |
Beta Was this translation helpful? Give feedback.
-
Yep happy to take a look and your approach sounds correct.
Yes. Each javascript In the diagram below you're switching from I'm sure you've researched this a bit but it's worth reiterating. The WebRTC portions of the sipsorcery library are still under heavy development. You can and should expect to encounter issues when using it. If you have an immediate need to implement a SFU in a production application there are mature options such as Janus, mediasoup and others. |
Beta Was this translation helpful? Give feedback.
-
In creating the test project for you I've solved my own problem! I was sending the keyframe to the wrong peer when connected! Now it works as suggested above. Great project. I'll keep going and post any issues on here. Thanks again 👍👍👍 |
Beta Was this translation helpful? Give feedback.
-
Glad to hear it. Please do post back with how you get on. One other person asked about using the sipsorcery library to implement an SFU. It would be good to have an experience to point other developers to. |
Beta Was this translation helpful? Give feedback.
-
Azure will make things more complicated because all the Vm's and Apps are put behind NAT. But ICE should be able to deal with that by using the STUN servers to get the My next suspicion would be the RTP port getting blocked. Make sure your Azure Network Security Group accepts UDP 49000-65535. That's the ephemeral port range the OS should select the RTP port from. |
Beta Was this translation helpful? Give feedback.
-
As a note for any interested parties this ASP.NET Core application, signalrtc, was developed to test out running some VoIP and WebRTC bits and pieces on Azure. It's currently running in demo mode at sipsorcery.cloud. Fundamentally there's no problem running VoIP And WebRTC services on Azure, however, a big shortcoming is the Azure Load Balancer is not suitable for a SIP service that needs to load balance UDP traffic across multiple servers. Other than that it works very well and I currently manage to run two VM's with a bunch of different VoIP and WebRTC applications for about EUR30/month. |
Beta Was this translation helpful? Give feedback.
-
I'm wondering if someone can point me in the right direction to replicate the following scenario.
ASP.Net.Core Web App .Net 5.0
Two pages Host and Client
Host creates a peer connection and sends webcam data server (hosted service) (while displaying it in video element as per usual)
Client connects and receives the video from the host in a video element as per usual
I've got no problems doing this directly (peer to peer) but when I try going via the server I'm getting not video (connection is good) I assume its ice related but I think I'm just not getting the concept of the server side peers.
My hosted service code is taken from the examples here.
This is my Host offer (it sends video to the client(s) when it gets a frame)
and this is my client (receiving) offer
AddIceCandidate..
I'm sure what I'm trying to do is simple but I'm lost. Ultimately I'm trying to get multiple clients to view the live camera feed from the Host through the server rather than multiple peers connections from the host to each client.
Any help would be gratefully appreciated.
Beta Was this translation helpful? Give feedback.
All reactions