Thinking beyond live video channel creation in Amazon IVS
Video streaming is common with web and mobile apps today, pushing the functionality to the top of developers’ toolkit wish lists. Adding video streams to a project adds complexity, but with Amazon Interactive Video Service (Amazon IVS) it takes only minutes to spin up a new live stream. Once you have an active channel and a playback URL, what can you do with it? The answer is simple – almost anything you can imagine.
Establishing the right set of live streaming pipes
Amazon IVS is like the plumbing in a house, providing the infrastructure through which content can flow. The sink, faucet, fridge and other fixtures are still required to use the plumbing, but without the pipes, you’d have no water, or in the case of live streaming, no content.
On top of the live video streaming pipes sits the rest of your house – an application – that can be built in many ways. For example, for an existing WordPress application or a static site, the Amazon IVS player, playback URL, and stream key can be dropped into the content management system (CMS). Whether building from scratch or tweaking an existing implementation, the value in using a managed cloud service like Amazon IVS is that high quality interactive live streaming becomes instantly more accessible. This means you don’t have to waste resources monitoring stream health and infrastructure capacity.
Every live stream application is unique in terms of content and experience. A game streaming site doesn’t have the same audience or feature needs as a virtual events platform or concert streaming network. By offloading the undifferentiated heavy lifting of live video infrastructure, you can focus on creating features that make a website or an app stand out and boost audience engagement and retention.
Addressing audience access and monetization goals
Amazon IVS private channels allow you to restrict the viewership of a live stream in order to protect sensitive content or to monetize the stream. This feature requires your application backend to generate and sign playback tokens for authenticated and authorized users.
As a first step, you need to identify your users through an identity provider (IdP). An IdP is a service that verifies the user identity – which can be a standalone service to create and manage users or federated to platforms like Facebook, Amazon, etc. Standalone services like Auth0, Okta, and Amazon Cognito are all common options.
With a user created and authenticated, you may opt for a way to take transactions for recurring subscriptions, microtransaction currency (i.e. Twitch bits), or tiered access. A payment gateway, like Amazon Pay or Stripe, securely manages the financial aspect of an app, whether for a subscription system, paywall content, ecommerce functionality, or other implementation. A database, like Amazon DynamoDB, is commonly used to store entitlement data, meaning secure info about user access permissions based on what content they’ve signed up for. Users with the proper level of authorization will be granted a tokenized string to play a video when they click on it, and if not, they’ll receive an ‘access denied’ message.
Timed metadata for the win
Having interactive elements running alongside live video is a significant value add for live stream viewers. Whether bespoke or created using an SDK, all interactive live stream experiences leverage metadata. Timed metadata is essential for keeping interactive elements and live video feeds in sync and is an out-of-the-box feature of Amazon IVS.
Accurate syncing is especially crucial when live video is being delivered at scale globally, because viewers tune in with varying levels of connectivity, which impacts latency and video quality. If metadata isn’t timed, viewers could receive interactive features ahead of the video feed, creating a spoiler effect, like if you’re watching a big game live in a high-density area, and you hear a loud cheer from your neighbor seconds before seeing the play. Video delivery speed will nearly always vary, but syncing your live video and interactive elements with timed metadata ensures that viewers will see what the streamers want them to, exactly when they want them to, regardless of the viewer’s connectivity or location.
So, what can you do with timed metadata? One of the most simple and engaging use cases is to embed polling or trivia identifiers, which can be captured by your application to render interactions with an audience at a specific time in the stream. Timed metadata is also important for video-on-demand (VOD), so that the stream replays exactly as it happened. It also serves as the basis for emoji reactions and real-time notifications.
The open source shortcut
If you’re building from scratch and want to jump ahead a few steps, the open source community is here to help. For example, AWS Amplify is a set of services, tools, and libraries that let developers quickly and easily build full-stack applications on Amazon Web Services (AWS). The AWS Solutions Architecture team built the open source Amplify Video Plugin to make it easier for developers using AWS Amplify to incorporate live and VOD streaming into their applications.
AWS often hosts workshops at events like AWS re:Invent or AWS Summits where participants build fully functional live streaming web apps in about an hour using tools like AWS Amplify and Amazon IVS. Although these are typically proof-of-concepts meant for instructional purposes, developing with interactive live video can take as much or as little time as you have to spare to achieve a desired level of functionality. You can walk through one of these workshops – UnicornSports – to learn how to build your own streaming platform like twitch.tv with Amazon IVS and AWS Amplify.
Video streaming experiences connect us with educators, brands, video games, friends, and family. Amazon IVS makes live video available for developers of all abilities to begin building. By abstracting away select functionality – including the actual video streaming process – developers can focus on designing the key components that differentiate their audience experiences.
If you’re interested in learning more about interactive live streaming with AWS, visit the Amazon IVS homepage.