RIPE 80: Setting up a Zoom Alternative with AWS
• 9 min read
Not all of the RIPE 80 attendees were able to use Zoom to participate in the remote meeting for different reasons. We therefore provided an alternative way, which did not rely on Zoom, for people to join in the meeting.
“Great work. Thanks for sharing including what went wrong! It is really good to hear that we can deliver a stream with <10s delay. I am just curious how much AWS cost per viewer per day. A very rough estimate is fine.”
Very roughly it came out at about $0.15/viewer/day. Having identified a few rookie mistakes, it can easily be done for less than $0.10/viewer/day without any compromise.
“Can you go into a little more detail about how you configured Zoom to push RTMP to MediaLive? In theory I should be able to but Zoom keeps reporting failure. How did you secure the Input for MediaLive? It seems to be protected only by an IP address Whitelist which I even temporarily tried 0.0.0.0/0 in but Zoom still reported it could not connect. For the Streaming URL in Zoom I used rtmp://theIPaddress:1935/live/ For the Streaming Key in Zoom I used the last part of the Endpoint URL for the MediaLive's Input (basically everything after "/live/" The Input for MediaLive in AWS is set to RTMP_PUSH I realise this is a bit above and beyond for your article but as you're one of the few people I can find who has successfully done this I hoped you might be able to confirm if I was on the right tracks.”
We whitelisted 0.0.0.0/8 since we could never ascertain where Zoom would be piping the stream from. If the MediaLive RTMP Push input is configured like so - rtmp://<ip>:1935/appname/appinstance then in Zoom you set up the Custom Live Streaming Service with a Stream URL of 'rtmp://<ip>:1935/appname' and a Stream Key of 'appinstance'. That's what worked for us!
“Please share the source code of your contributions to the opensource app.”
Hi Venu, all of our custom code around Ionic connects to a lot of internal services, and is therefore not open source.
Showing 3 comment(s)