I'm looking to build out web-based live streaming capabilities & video chat client for my application, similar to the twitch but not as heavy or highly trafficked. While I've looked at some of the many services offered by AWS, there's just so many (MediaLive, IVS, Kinesis etc) that it's hard to know which service or combo of services would be the best fit and so I'm looking for some general guidance from anyone who has experience setting this up, or if there are existing guides that may be of help.
In general, here are my requirements
- Broadcasters should be able to broadcast via their webcam/media device in the browser (ie. via getUserMedia)
- Broadcasts will be 1 to many, with only the broadcaster streaming video and likely an average of 20-30 audience members consuming the stream
- Audience members would use a separate front end client, which should also be web based
- I would like to be able to include a user/chat function, so that users can chat globally, thus will need live 2-way data stream capabilities, but not sure if this is best handled by the media streaming service itself, web sockets, WebRTC etc
I could possibly utilize existing JS libraries to capture media as well as a viewing/chat application or even develop my own, but I'm also wondering if there are AWS recommended JS libraries or guides that can aid in this as well.
hope someone can help me get started, thanks!