AWS Partner Network (APN) Blog

Using the New Amazon EC2 G3 Instances to Playout an IP-Based Ultra High Definition Channel on AWS

By Michael Jacobs, Software as a Service Manager at Cinegy

VideoWhether you are a content creator, delivery platform provider, or somewhere in between, playout from the cloud is likely a subject of discussion in your organization.

More and more companies are looking to the cloud for expansion and the offering of new services, but cloud playout brings its own set of challenges such as knowing which compute resource you will need to run your channels.

Cinegy is an AWS ISV Partner that empowers broadcasters, production houses, and media service providers to move from proprietary broadcast equipment to the cloud.

We have long been an advocate of IP-based video workflows. We also understand that maintaining visual quality whilst reducing bandwidth consumption is an ongoing challenge with the increasing data requirements of formats such as Ultra High Definition (UHD).

At Cinegy, we address this by leveraging the power of NVIDIA’s hardware-based h.264 and h.265 (HEVC) encoding engines instead of using CPU.

In this post, I will demonstrate how to deploy a fully-functional playout engine using Amazon Elastic Compute Cloud (Amazon EC2) resources and the Cinegy Amazon Machine Image (AMI) to deliver a UHD TV channel with graphics.

Channel in the Cloud

Some time ago, Cinegy saw the power of CPUs was not increasing at the pace it previously had. We noted, however, that GPUs were still doubling their power every year and decided to invest in leveraging the increasing processing power. We implemented support for NVIDIA encoding and decoding into our products, and this allows video to be offloaded to an available and supported NVIDIA card while keeping the load on the CPU to a minimum.

Our Channel in the Cloud bundle has been available on AWS Marketplace for some time and has historically deployed on the Amazon EC2 G2 instance family. With the introduction of the G3 instance family, we created a new bundle with better graphic and video format capabilities, such as UHD and multi HD channel support.

The new NVIDIA-backed G3 range of instances gives us access to a modern NVIDIA Tesla-based GPU and features such as Enhanced Networking and Amazon Elastic Block Service (Amazon EBS) volumes.

Due to the encoding of the video being carried out by the powerful NVIDIA GPU in the new G3 instance types, it is now possible to playout a UHD-quality video channel, add graphics branding, and monitor the output as well. The latest Channel in the Cloud bundle runs on any of the G3 instance sizes and contains our playout and control software (Cinegy Air PRO) as well as our monitoring software (Cinegy Multiviewer).

Deploying the Cinegy Software

The first step is to launch the Cinegy AMI from AWS Marketplace, which has the playout engine configured with channels that are also set to be monitored with the Cinegy Multiviewer application. If you require more in-depth instructions on how to use our software, visit our Cinegy Air 11 and Cinegy Multiviewer sections of our document website.

Making use of the available NVIDIA graphics card with the Cinegy Playout Engine software is relatively straightforward. Let’s go through setting up a single UHD TV channel for RTP output and then look at the load placed upon the instance.

In addition to the deployed instance, you will need access to the video assets you wish to playout. The media needs to be available on either a locally-attached volume or via UNC path. Alternatively, the video could be an incoming IP stream to the Amazon EC2 instance. Delivery of your generated IP stream will be via your chosen platform, such as over the Internet or satellite uplink location.

Cinegy Playout Engine – Playback Settings

To access these settings once you have logged into the instance, right-click the icon in the taskbar to use the configuration utility:

Cinegy Configuration Utility

As you can see in the screenshot below, we have gone into the Playback tab and the channel mode is set to UHD at 25Hz. We will also use the available NVIDIA Tesla M60 in the G3 instance for any graphics rendering on the channel. We added an RTP/UDP output device using the ‘Add device’ button and this will be configured next.

Cinegy Add Device

Cinegy Playout Engine – RTP/UDP Settings

The following screenshot shows the IP output from the engine is set to be encoded using H.264 on the NVIDIA GPU at a bit rate of 100Mbps. We will also be using a constant bit rate and a mostly I-frame mode.

Cinegy IP Output

Cinegy Playout Engine – Audio Settings

After hitting the ‘Next’ button, we can set the audio stream format we wish to use. This has been set to AAC-LC running at 192 kbit/s.

Cinegy Audio Settings

Using the above settings on the smallest of the GPU instances, a g3.4xlarge, 1-playout channel configured to output UHD at 25 fps (offloaded to the NVIDIA GPU for H.264 encoding) via RTP at 100Mbps with AAC-LC audio included uses less than 30 percent of the available CPU and less than 10 percent of available RAM.

Cinegy Task Manager-1

If we add some graphics branding to the output, this increases the load on the CPU to about 65 percent when the engine first engages, but then the CPU returns to a slightly increased level, until the graphics sequence is finished.

If you want to add graphics to your TV channel’s output using Cinegy software, please refer to the Cinegy Titler manual along with the Handling Items-Secondary Events section of the Cinegy Air 11 user manual. You can also check out the Cinegy Playout Engine manual to learn more.

Cinegy Task Manager-2

GPU loading is still very light even when running the additional graphics, with a maximum load of 19 percent being recorded using the nvidia-smi command line tool.

The Cinegy Playout Engine application also includes CPU and memory utilisation graphs for ease of reference.

Cinegy Playout Dashboard

Monitoring of Output

We include our Multiviewer application with the AWS Marketplace offering to give customers the ability to monitor standard broadcast parameters of the output from the Playout Engine, such as Audio Clipping and Video Black. These alerts can be notified to the operators via various mechanisms such as file, SNMP traps, and email, if a problem is detected.

In addition, Multiviewer alert notifications can be sent as telemetry data to either Cinegy’s or your own Amazon OpenSearch Service (successor to Amazon Elasticsearch Service) cluster for visualisation and trend analysis.

Storage Volumes

UHD video assets are generally four times larger than the HD equivalent using the same encapsulation and, therefore, also requires four times the bandwidth. By attaching Amazon EBS volumes to the instance, a highly-performant and resilient storage device can be added and used to store media assets. This ensures the critical files required for playback will persist if the instance stops running and has increased availability against single component hardware failure.

Amazon EBS volumes also provide the flexibility to increase their size and IOPS capacity dynamically on a live system to ensure continued operation.

The g3.4xlarge instance is an Amazon EBS-optimized instance type. This means it has dedicated bandwidth to communicate with the Amazon EBS service and is separated from any network traffic. The instance size has the capability of having up to 3,500 Mbps of bandwidth available to Amazon EBS, if required.

As an example, a 1TB-sized general performance SSD (gp2) volume provisioned as a second volume on this instance type would provide 3,000 IOPS of performance and peak throughput of 160 MiB/s.

Conclusion

As you can see, the GPU and CPU power available with the Amazon EC2 G3 instances allows you to playout UHD content with graphics branding and be confident you still have some headroom available.

Combining our Cinegy Air PRO bundle with a G3 instance gives you the capability to achieve UHD playout from the cloud with ease, and provides all the benefits of Amazon EC2, including scalability, monitoring, and dynamic resource allocation. So whether you need to run a single channel for a few hours on a weekend or multiple 24×7 channels with redundancy, we encourage you to dive into our solution.

To take Cinegy for a test run, visit AWS Marketplace and start enjoying the benefits of UHD cloud playout >>


The content and opinions in this blog are those of the third party author and AWS is not responsible for the content or accuracy of this post.