Feedback requested on multipoint WebRTC library & large-file DataChannel transfers

25 views
Skip to first unread message

yvan wamba

unread,
Nov 25, 2025, 10:11:54 AM (4 days ago) Nov 25
to discuss-webrtc

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.


1. Multipoint video-call library (easy-call-js)

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

My questions for the group:
  • 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?


2. Peer-to-peer file transfer platform using DataChannels (sendfast.io)

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/

Challenges I’m currently facing: (a) Transfers > 4 GB fail before completion

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) fail

Even 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.


Closing note

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

Reply all
Reply to author
Forward
0 new messages