Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Arm Research
    • DesignStart
    • Education Hub
    • Graphics and Gaming
    • High Performance Computing
    • Innovation
    • Multimedia
    • Open Source Software and Platforms
    • Physical
    • Processors
    • Security
    • System
    • Software Tools
    • TrustZone for Armv8-M
    • 中文社区
  • Blog
    • Announcements
    • Artificial Intelligence
    • Automotive
    • Healthcare
    • HPC
    • Infrastructure
    • Innovation
    • Internet of Things
    • Machine Learning
    • Mobile
    • Smart Homes
    • Wearables
  • Forums
    • All developer forums
    • IP Product forums
    • Tool & Software forums
  • Support
    • Open a support case
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Software Tools
  • Developer Community
  • Tools and Software
  • Software Tools
  • Jump...
  • Cancel
Software Tools
Tools, Software and IDEs blog Improve video encoding price/performance by up to 36% with Arm Neoverse based Amazon EC2 C6g instances
  • Tools, Software and IDEs blog
  • Forums
  • Videos & Files
  • Jump...
  • Cancel
More blogs in Software Tools
  • Tools, Software and IDEs blog

Tags
  • Cloud Computing
  • aws
  • Graviton2
  • Video Processor Software/Tools
  • Neoverse N1
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Improve video encoding price/performance by up to 36% with Arm Neoverse based Amazon EC2 C6g instances

Steve Demski
Steve Demski
February 9, 2021

The video encoding landscape

There are lot of exciting developments happening in the video encoding market. Much anticipated Alliance for Open media-backed AV1 decoders are starting to show up on mobile devices and in smart TVs. After a slow start, HEVC/H.265 is showing signs of growth and adoption[1]. And COVID-19 is driving a surge in demand for the two most popular encoding use cases: 

  • Real-time encoding– the kind that supports broadcasting, video conferencing, and game streaming.
  • Pre-encoded content– as is used by video-on-demand (VOD) services (ex, subscription, ad-supported, user generated).

Encoding setups vary by use case, and the user has many options. Which encoder to use and with which quality settings? On-prem encoding or cloud-based? Encode with hardware or software? Despite all of these options, a few trends are clear: 

  • Software encoders are preferred over hardware encoders[1], particularly for pre-encoded VOD use cases.
  • There is a clear shift from on-prem to cloud-based solutions – Encoding.com 2019 Global Media Format Report business alone ingested 239% more content in 2018 than they did in 2016[2].
  • Finally, while numerous challengers have attempted to topple it, 264 remains by far the most popular encoding codec. And the simple reason for that is that H.264 is supported by the most playback devices. Encoding.com’s 2019 Global Media Formats report shows 82% device support for H.264 versus only 12% for second place H.265[2]. 

What we are comparing

In this blog, we are showcasing price and performance benefits of performing software-based H.264 encoding on AWS Graviton2 based instances. For this comparison we are using Amazon Web Services (AWS), which is consistent with the choice of many video encoders. For Encoding.com’s customers, AWS S3 is their preferred storage location - representing 81% of ingested content. Within AWS’ cloud we’ll be looking at their most recent “compute-optimized” offerings from two CPU vendors:

  • Amazon EC2 C5 instances, based on Intel® Xeon® scalable processors
  • Amazon EC2 C6g instances, based on AWS Graviton2 processors (using Arm Neoverse N1 cores)

Key video encoding criteria 

Before we discuss results, let us look at the following three (3) most important business criteria for VOD operators. 

  • Highest-quality: H.264 can support 8K resolution, which is the highest-quality playable on today's devices. But practically speaking, most people (52%) are watching video in 1080p or below[2].
  • At scale: while real-time encoding use cases may still prefer on-prem video editing on bespoke hardware, for video-on-demand there is just no 'at scale' comparison to the AWS cloud.
  • Most cost-effective (price/performance): and this is where Arm Neoverse cores and the Graviton2 processor really shine. If the cloud is the same and the codec is the same, then price/performance is the real differentiator in our test.

36% better price/performance with AWS Graviton2 and c6g

Our testing takes the peak aggregate frames per second of each instance, extrapolates that performance out to one hour, and then applies the price to rent that instance for one hour (on-demand, US east pricing). From that we get the price/performance results in the following figure 1.

 

Figure 1: x264 encode price/performance for c6g.2xlarge and c5.2xlarge instances. Pricing used is US East, on-demand.

 

c6g.2xlarge c5.2xlarge
$/hr (US east, on-demand) $0.272 $0.340
Peak Frames/hour 113,112 103,644
Peak Frames/$ 415,853 304,835
c6g.2xlarge price/performance advantage  +36% over c5.2xlarge

Table 1: Peak frames/hour and peak frames/$ for c6g.2xlarge and c5.2xlarge instances.

 For those of you encoding on c5 instances today, Graviton2 based C6g instances provide a very compelling 36% price/performance benefit. 

How did we get here?

More on our test methodology

Here is our measured performance (aggregate frames/sec) for c5.2xlarge and c6g.2xlarge instances (8 vCPU per instance3) while encoding the ‘ducks_take_off_1080p50.y4m’ input file with ‘medium’ encoding preset using x264 (x264 is an open-source H.264 encoder).  We performed a ‘sweep’ of two parameters:

  • Number of x264 jobs run per compute instance
  • Number of threads run per job

Figure 2: x264 encode performance (aggregate frames per second) for c5.2xlarge and c6g.2xlarge instances.

What you can see from a performance standpoint, once you enter the peak performance range of each instance, is that the c6g.2xlarge instance outperforms the c5.2xlarge instance by around 9%. 

Try out AWS Graviton2 and c6g for video encoding

The end-to-end cost to deliver high-quality video extends well beyond encoding costs and mileage will vary for each specific use case.  However, if you encode a lot of video for your business and hare looking to reduce costs, now is the time to check out Neoverse N1 and AWS Graviton2-based C6g instances. 

 Learn more about AWS Graviton2

  • Bitmovin Video Developer Report 2020
  • Encoding.com 2019 Global Media Formats Report
  • Why 2xlarge (8 vCPU) instances? We looked at a range of instance sizes from the largest available to the smallest, and we noticed a distinct trend towards smaller instances running more x264 jobs providing the highest frames/sec throughput.
Anonymous
Tools, Software and IDEs blog
  • Tencent is Working to Expand Arm’s Presence in its Cloud

    Frank Zou
    Frank Zou
    Tencent is laying the foundation to grow the presence of Arm in its cloud.
    • March 3, 2021
  • Updated AArch64 Docker images for PyTorch and TensorFlow

    Jason Andrews
    Jason Andrews
    Docker images for TensorFlow and PyTorch running on Ubuntu 18.04 for Arm are now available. This article explains the details to build and use the Docker images for TensorFlow and PyTorch on Arm. Tens…
    • February 23, 2021
  • Cloud infrastructure for continuous integration tests

    Christopher Seidl
    Christopher Seidl
    This blog introduces a cloud-based continuous integration (CI) workflow for embedded projects that uses model-based simulation.
    • February 18, 2021