WebRTC - P2P - Server Side Video Recording

I’m planning to build a video conference app. (NodeJS + React Native)

Requirements

  1. One to One Video Conference ( 2 Speakers )
  2. Video / Audio Recording of both the participants.
  3. Store the recorded stream in an S3 bucket and watch the videos directly from it.
  4. Live Streaming (Future Goals, but not at the moment)

Strategies tried so far:

  1. Tried Twilio and Agora, but it wasn’t feasible due to pricing.
  2. 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)

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

  2. Look into Kurento / Jitsi

Any other options?

Great, if you could help me out! Cheers!!