Inspiration

The AWS Community in India has grown massively over the past years. We now span 25 cities in 20 states, and we have hosted hundreds of virtual, in-person, and hybrid events. Running a developer community such as AWS User Group India involves a lot of effort from organizers and volunteers to host events and drive initiatives that benefit the larger community. Live streaming of the events cannot be ignored. We increasingly rely on the internet to deliver what we want and need, and we want it delivered quickly, reliably, and on demand.

Creating a high-quality live streaming experience from scratch is very difficult. Sounds easy enough. If you want, you can create an EC2 instance, update the operating system, install open-source media server software, open firewalls, and virtual network ports, start streaming and put it in function in a day. But what if someone joins the stream from the other side of the world? What if your stream is really popular and thousands of people want to see it? Ready to manage autoscale and load balancers and OS updates/patching/maintenance? This is where Amazon IVS comes into play which can be used to power interactive live video streaming applications.

What it does

Amazon IVS is a managed live streaming solution that can be quickly deployed in mobile and web applications. The service has its own SDK for video players and is ideal for creating interactive video experiences.

How we built it

From AWS console, created a channel and broadcasted via OBS software tool with the help of Ingest server and stream key. Using sample Javascript code, Playback URL has been placed in the sample application. Inserted temporary metadata into a live stream using the Rest API.

Challenges we ran into

At the account level, the IVS channel is not able to create it. Post checking with AWS support, it is fixed.

Accomplishments that we're proud of

Play the live video in Chrome using the Web Player SDK. Used the Rest API to inject temporary metadata into a live stream and how the application can use this data to add an interactive user experience.

What we learned

  • Learned how to create an IVS channel using the AWS console.
  • Learned how to configure your OBS software to stream live to an IVS channel.
  • Learned how to use the add-on to manage your broadcasts and get the most out of your bandwidth and resolution settings.
  • Learned how to play live video in Chrome using the Web Player SDK.
  • Learned how to measure the latency of a stream.
  • Learned how to use the Rest API to inject temporary metadata into a live stream and how the application can use this data to add an interactive user experience.

What's next for Live Streaming Community Events via AWS IVS Service

Need to enable playback authorization on the IVS channel. Playback authorization allows to the creation of private channels, and only viewers with valid playback tokens can watch our channel.

Share this project:

Updates