AWS Public Sector Blog

Hosting streaming video for your nonprofit with Video on Demand on AWS 

Many nonprofit organizations rely on video content to spread their missions, boost membership, and raise funds. This content can range from smartphone-recorded testimonials about your organization to highly produced marketing content, and everything in between. However, delivering video content to your audience at a large scale can be a daunting task for nonprofit organizations of all sizes. Technical teams often have constraints, and might lack the time and resources needed to design, build, and maintain a robust video-on-demand architecture.

In this blog post, I’ll talk about the Video on Demand on AWS solution from Amazon Web Services (AWS). This solution solves these challenges, making it simpler to share videos with your viewers around the world. By implementing this solution, your organization can spend less time building infrastructure, letting you focus instead on creating impactful content.

Overview of the Video on Demand on AWS solution

The Video on Demand on AWS solution is part of the AWS Solutions Library, which is a collection of ready-to-deploy solutions that span a broad range of use cases. You can deploy many of these solutions to your existing AWS account in only a few steps. AWS Solutions are designed, built, and vetted by industry experts from AWS to be secure, scalable, and high-performance. They help make sure that you start with an architecture that adheres to the best practices outlined in the AWS Well-Architected Framework. To browse additional nonprofit-focused solutions, visit the Solutions for Nonprofits page in the AWS Solutions Library.

The Video on Demand on AWS solution provides a scalable, distributed, video-on-demand workflow. It ingests your video files and processes them for playback on a wide range of devices. It then stores the transcoded media files and delivers them to your viewers. You don’t have to worry about the device that you used to record the video, or the devices that your viewers use to watch it. This solution creates several versions of your video with different resolutions, bitrates, and encoding formats. It then automatically presents each viewer with a version of the video that is suitable for their device.

Ingest a variety of video formats

Nonprofit organizations share a wide variety of video content with their website visitors. Organizations often have to manually create solutions for handling these differing formats and resolutions, which takes hours of staff and volunteer time. To improve the efficiency and effectiveness of your teams, you need a simpler way to handle these different source file types.

The Video on Demand on AWS solution fully automates this process. During the deployment, the solution creates an Amazon Simple Storage Service (Amazon S3) bucket for you. When your team records a new video, they upload it to this bucket. The video-on-demand workflow then begins automatically.

Efficiently process your content

The video-on-demand workflow is serverless, which means you don’t have to create, setup, or manage servers. This model provides several benefits over an on-premises architecture. For example, you don’t have to purchase hardware or pay for maintenance costs and software licenses. You only incur costs when you upload and process videos.

Automatically adapt to your viewers’ devices

The Video on Demand on AWS solution creates standard definition (SD), high definition (HD), and ultra-high definition (UHD) versions of your video by default. After that, it packages them for many common output formats. When a viewer requests your video, they automatically receive the format that is most appropriate for their device. AWS Elemental’s Quality-Defined Variable Bitrate (QVBR) technology gives your viewers a consistent, optimized viewing experience even when their bandwidth fluctuates.

Distribute your video globally with ultra-low latency

After packaging your video to support a range of devices, it’s time to deliver your video to viewers. At this stage, it is critical to minimize latency for your viewers to keep them engaged with your content. Latency in video delivery means that your viewer waits longer for a video to buffer or download. The longer your viewer has to wait, the more likely they are to click away from your content. To reduce latency, Video on Demand on AWS uses Amazon CloudFront, a content delivery network service. CloudFront caches your content at over 410 distinct locations across the world, which reduces latency for your viewers. CloudFront pricing also features a pay-as-you-go model, so you only pay when viewers access your content.

Getting started with Video on Demand on AWS

Video on Demand on AWS uses AWS CloudFormation to deploy and set up services and configurations in your AWS account automatically. This collection of resources is called a CloudFormation stack.

If you are ready to deploy the solution, or if you want to test it out, select this link to launch the stack. When you launch the stack, it opens the AWS CloudFormation console. In the console, specify your parameters and options, and then begin the deployment.

CloudFormation deploys all of the solution resources for you in about twenty minutes. When the deployment completes, choose the Outputs tab in the CloudFormation console. The value of the Source output is the name of the Amazon S3 bucket that you will upload videos to. At this point, you’re ready to start sharing video-on-demand content with your audience.

When you’re ready to upload your first video, open the Amazon S3 console. In the list of buckets, choose the bucket you identified in the CloudFormation output. Next, choose Upload, and then choose the video file from your local system. Behind the scenes, the Video on Demand on AWS workflow performs the necessary processing to format your video and distribute it to your viewers.

Using the Video on Demand on AWS solution

The Video on Demand on AWS solution can help you start delivering video on-demand. If you have additional needs that this solution doesn’t address, AWS offers over 200 services that you can use to customize it. For example, you can create a web-based uploading process by using Amazon API Gateway to create and manage an API, and AWS Lambda to run code without managing servers.

It’s also possible to extend this solution with artificial intelligence (AI). For example, Amazon Rekognition can identify objects and people in your videos. Once you have this information, you can tag and categorize your video content so that your team and your viewers find the content they’re looking for.


In this blog post, I showed you how nonprofit organizations can simplify video ingestion, processing, storage, and delivery with the Video on Demand on AWS solution. To learn more about Video on Demand on AWS, explore the implementation guide. This guide describes the technical details of the solution, including architecture diagrams, costs, and configuration options.

To discuss your nonprofit’s needs with AWS experts, complete the Public Sector Contact Us form for your organization.

Read more about AWS for nonprofits:

Subscribe to the AWS Public Sector Blog newsletter to get the latest in AWS tools, solutions, and innovations from the public sector delivered to your inbox, or contact us.

Please take a few minutes to share insights regarding your experience with the AWS Public Sector Blog in this survey, and we’ll use feedback from the survey to create more content aligned with the preferences of our readers.

David Marsh

David Marsh

David Marsh is a solutions architect supporting nonprofit organizations as they innovate on Amazon Web Services (AWS). He helps customers with all things AWS, but particularly loves conversations about security, DevOps, and data modernization. David is based in Denver, CO, where he enjoys writing music and spending time with his wife and two dogs.