I have a peer to peer videoconference app using simpleWebRTC and signalmaster for signaling. When more than 4 users connects the stress it causes on the network and the TURN server is too big, so I was thinking, is it possible to implement a MCU in this case? What would it take to do it?
Is it possible to implement a MCU with SimpleWebRTC and signalmaster? How?
578 Views Asked by ee11131 At
1
There are 1 best solutions below
Related Questions in WEBRTC
- WebRTC close navigator.getUserMedia correctly
- Android WebRTC compile
- Java-based WebRTC SFU implementation for Spring Boot project
- Web RTC simple peer connection with socket.io could not be established
- WebRTC from Firefox to Android crashes
- How can I connect to a websocket from a vue app that is exposed to the network (yarn dev --host)?
- How to setup multiple peer connection with datachannels?
- Webrtc initial negotiation succeeds but renegotiation fails
- Webrtc Vulnerable Version
- aiortc: Combining multiple mp3 files to be returned as a single MediaStreamTrack
- WebRTC Data Channel is always in connecting state
- WebRTC ICE fails for IOS Browsers
- Need to connect my WebRTC stream(Handled by PeerJS) to my Asterisk server
- aiortc: Recording video on server discards beyond a few seconds
- Android 12+: Microphone stops in WebRTC app within a WebView when screen is locked or user switches apps
Related Questions in SIMPLEWEBRTC
- WebRTC - Screen Sharing
- I'm adding a video call function for my project and for that im thinking about using WebRTC
- WebRTC with ReactJS and Socket.io doesn't show Remote Stream
- WebRTC - multi-track streams issue on Firefox <> Chrome
- WebRTC peerConnection always failed between different devices
- WebRTC Peer-to-peer Re-connection Error - Laravel + Vue.js application
- SimpleWebRTC, videoAdded event isn't being emitted
- Does WebRTC between two Android devices need a TURN server?
- why there pion/webrtc generate candidate list have no tcp address
- Unable to integrate Open Relay Project TURN server into WebRTC application using Vue
- How to identify if this code for implementing webrtc is working correctly?
- Problem show video with kurento media server running in docker
- Is it possible to send the WebRTC VideoStreamTrack from Unity to an RTCpeerConnection in the browser
- WebRTC is not supported in Chrome and Edge
- How to reconnect a connected webRTC peer to another peer?
Related Questions in SIGNALMASTER
- Is it possible to implement a MCU with SimpleWebRTC and signalmaster? How?
- What happens in a multi-party webrtc connection when some users use STUN and/or TURN?
- "getaddrinfo ENOTFOUND" error on heroku
- TURN server connection fails while trying to connect via SimpleWebRTC
- Signalmaster on https: ERR_CONNECTION_REFUSED
- How to fix unreliable WebRTC calling?
- simpleWebRTC with Signalmaster - allow origion
- WebRTC no video with some networks
- simpleWebRTC signalmaster - setting a signaling + STUN and TURN
- SimpleWebRTC Signalling server - server.js not working
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
For more than 4 participants, full mesh (connecting each participant with everyone else peer-to-peer) is impractical. If there are
nparticipants, then each of them needs to haven - 1outgoing andn - 1incoming video streams, which quickly saturates the bandwidth, especially on mobile.An SFU, for example Janus, forwards packets between call participants. The advantage of the SFU for group calls is that each participant needs to push their video stream only once - to the SFU - which then forwards it to everyone else. There are still
n - 1incoming streams for each participant though.An MCU is capable of combining multiple video streams into one, so each participant ends up with
1outgoing video stream and1incoming composite video stream. To produce a composite video stream out ofn - 1individual ones, an MCU needs to re-encode video in realtime, which makes it a CPU hog.I would suggest giving Janus (SFU) a try first and seeing how that works for you.