I’m planning to build a video conference app. (NodeJS + React Native)
Requirements
- One to One Video Conference ( 2 Speakers )
- Video / Audio Recording of both the participants.
- Store the recorded stream in an S3 bucket and watch the videos directly from it.
- Live Streaming (Future Goals, but not at the moment)
Strategies tried so far:
- Tried Twilio and Agora, but it wasn’t feasible due to pricing.
- Mediasoup (SFU - inspired from dogehouse) was another option, but it’s relatively new and the development time takes much longer.
So I have come to a conclusion to start with Peer to Peer using WebRTC with React Native and record videos on a virtual server by connecting as a ghost participant. ( 2 Speakers + 1 Ghost Participant)
Need some strategies to implement WebRTC recording at the server. (Recordings are a bit crucial, so I don’t want to depend on the client)
Should I go with Puppeteer on server, join as ghost participant and record whenever a room is created, If yes - Is it possible to run multiple instances of puppeteer? Because at times, multiple room recordings might happen, so it needs to record concurrently. Need to confirm the scalability.
Look into Kurento / Jitsi Any other options?
Great, if you could help me out! Cheers!!