VOD Transcoding for OTT Media with Akamai Cloud Computing

Traducciones al Español
Estamos traduciendo nuestros guías y tutoriales al Español. Es posible que usted esté viendo una traducción generada automáticamente. Estamos trabajando con traductores profesionales para verificar las traducciones de nuestro sitio web. Este proyecto es un trabajo en curso.
Create a Linode account to try this guide with a $ credit.
This credit will be applied to any valid services used during your first  days.

Video on demand (VOD) streaming services rely on the transcoding of video streams to efficiently distribute content. In transcoding workflows, video is converted to formats that are suited to the network and device constraints where they are viewed. Video transcoding is a compute-intensive process, so maximizing the number of video streams that can be transcoded on available hardware is a primary consideration. Transcoding efficiency can vary between the compute offerings of different infrastructure providers, and evaluations of transcoding performance should be performed when selecting a cloud infrastructure platform.

Streaming services are also latency-sensitive, and the geographic location of the transcoding service affects the latency of the stream. Choosing a location closer to viewers can reduce latency, so being able to run the service in compute regions that are near your audience is important.

This guide outlines a transcoding architecture that supports an over-the-top (OTT) media platform, and the architecture has been implemented and proven by a profiled Akamai customer. This profiled customer delivers live TV channels, on-demand content, and catch-up TV services to viewers across the globe. This implementation allowed for significantly reduced egress costs while retaining competitive transcoding performance when compared to transcoding solutions from hyperscaler cloud platforms.

Video on Demand Transcoding Workflow

At a high level, video is handled by a transcoding service with the following workflow:

  1. Video content is ingested into the transcoding service from an intermediary storage location (often an object storage bucket).
  2. The video transcoding service transcodes the stream into desired video formats.
  3. A content delivery network accepts the transcoded video and distributes it to platform audiences.

Overcoming Challenges

Cost Sensitivity

Identify significant sources of infrastructure costs and determine ways to reduce those costs.

Because video transcoding is a compute-intensive process, compute resources are a primary source of infrastructure cost for streaming services. It’s important to select compute hardware that is performant for the software that is run by the transcoding service. It’s also important to test example transcoding workflows on competing cloud infrastructure platforms and measure the transcoding efficiency of each. This can be done by selecting cost-comparable compute instances between platforms. Transcoding tests are run on each comparable instance and the number of parallel streams that can be achieved for each is measured.

After a video stream is transcoded by the transcoding service, it needs to be distributed by a content delivery network (CDN). This can also be a significant source of cost when there are egress fees between the transcoding service platform and the content delivery network. By selecting Akamai compute offerings for the transcoding service alongside Akamai’s CDN for content delivery, the egress fees for that traffic can be reduced by 100%.

Latency Sensitivity

Identify sources of high latency and minimize the latency impact of those components.

Low latency is critical for video streaming services. To enable low latency, transcoding services should be located near their audiences. By working with a cloud infrastructure platform that offers a wide selection of regions in different geographies, you can ensure the proximity of your transcoding service as your business expands into new areas. Akamai’s global footprint of compute regions supports reach and expansion into new audiences.

Video on Demand Transcoding Design Diagram

This solution creates a video transcoding service on the Akamai Cloud Computing platform. The cloud transcoding service is composed of multiple compute instances working in parallel to handle the transcoding load. Object storage locations store content uploaded to the transcoding service and videos that have been transcoded. Transcoded video streams are distributed by the Akamai CDN to audiences.

  1. Raw live or on-demand videos are uploaded to an object storage location that houses incoming videos that require processing.
  2. This location is monitored by the transcoding cluster for any new uploads.
  3. Uploaded video streams are transcoded by virtual machines in the transcoding cluster into desired output formats. These transcoded video streams are uploaded to object storage.
  4. A content delivery network distributes the video to viewers’ devices, using the object storage location from the previous step as the content origin.
  5. An infrastructure automation API allows the transcoding cluster infrastructure to be managed by application developers. Updates to the cluster’s hardware and software can be deployed with these APIs.

Systems and Components

  • Content upload storage: An object storage location that stores content uploads that require transcoding.
  • Video transcoding cluster: A cluster of compute instances that transcodes the uploaded videos into the desired formats.
  • Transcoding output storage/distribution origin: An object storage location that stores transcoded videos.
  • Content delivery network: Used to cache, distribute, and control access to video library.
  • Control API: An API used by an application team to manage and maintain the video transcoding service infrastructure.

This page was originally published on

Your Feedback Is Important

Let us know if this guide was helpful to you.

Join the conversation.
Read other comments or post your own below. Comments must be respectful, constructive, and relevant to the topic of the guide. Do not post external links or advertisements. Before posting, consider if your comment would be better addressed by contacting our Support team or asking on our Community Site.
The Disqus commenting system for Linode Docs requires the acceptance of Functional Cookies, which allow us to analyze site usage so we can measure and improve performance. To view and create comments for this article, please update your Cookie Preferences on this website and refresh this web page. Please note: You must have JavaScript enabled in your browser.