Hello everyone,
I’m glad to join this discussion group and I’d like to share some of my recent work with WebRTC, hoping to gather insights, feedback, or advice from the community.
Over the last years, I’ve been developing a frontend-oriented WebRTC library called easy-call-js, designed to simplify multipoint video calls for frameworks such as Angular or React.
A few technical details about the library:
uses a pure mesh architecture (each peer connects to all others)
offers an abstraction layer over RTCPeerConnection / SDP management
includes a default Firestore-based signaling server
provides a signaling interface, allowing developers to plug in their own signaling backend
aims at keeping the API simple while exposing enough hooks for advanced use cases
The library is 100% open-source, and I’m currently finalizing the public release of the repository.
NPM package:
https://www.npmjs.com/package/easy-call-js?activeTab=readme
Angular demo project:
https://github.com/yvesleciel/test-easy-call-js
From your experience, is a mesh approach still viable for small multipoint calls (3–6 users) in 2024+?
Are there common pitfalls or anti-patterns I should be aware of when abstracting WebRTC for frontend developers?
Any suggestions or architectural improvements you would recommend for such a library?
I’ve also been working on a P2P file transfer platform built entirely on WebRTC DataChannels.
The goal is to provide end-to-end peer-to-peer sharing for large files, with chunking and parallel sending.
Current beta (free):
https://beta.sendfast.io/
Large file transfers stall or disconnect after several gigabytes.
I’m investigating whether the issue is caused by:
browser memory pressure / GC
backpressure not handled aggressively enough
congestion control or buffer thresholds
unstable ICE candidates during long sessions
Any insights, known limitations, or recommended patterns for very large DataChannel transfers would be greatly appreciated.
(b) Transfers to iPhones (Safari) failEven small files fail when the receiver is on an iOS device.
I suspect this is related to:
WebRTC restrictions on iOS
DataChannel partial reliability limitations
SCTP buffer constraints
But I’d be happy to hear from anyone who has experience achieving stable DataChannel transfers with Safari/iOS.
I’d be happy to exchange ideas, contribute back, or collaborate with anyone interested in multipoint WebRTC or high-volume DataChannel architectures.
Thanks in advance for any feedback, and thanks to the group for maintaining such an invaluable resource.
Best regards,
Yvan Ngoudjou