Video streaming services have grown rapidly over the last 15 years. As consumers switch to watching content over the internet in many forms, video streaming services have evolved rapidly to embrace cloud native technologies. One such service, Video-on-Demand, lets audiences watch in any place at any time while dynamically adjusting to the capabilities of a wide variety of client devices including, digital media players, smart TVs, gaming consoles, and many other streaming devices.
According to Fortune Business Insights, the video services market is projected to grow from $473 billion in 2022 to $1,690 billion by 2029, exhibiting a CAGR of 19.9% during the forecast period.
Video streaming service companies planning to serve the growth in users while maintaining or even improving overall service quality have a steep challenge facing them. As the volume of traffic increases, significant compute infrastructure in both data centers and at the edge is needed to preserve the user experience, especially on video quality and lower latency. The service providers use Content Delivery Network (CDN) service and infrastructure to store and distribute video content. As the frontier expands, especially via 5G, CDN services in the last mile to the consumer are becoming ever more strategic to service providers looking to control costs while providing better service to their customers.
Ampere® Altra® and Ampere® Altra® Max cloud native processors are ideal for running video service workloads. Whether in public cloud services or edge cloud services, Ampere Altra delivers:
Predictability for less jitter and lower latency while protecting against noisy neighbor effects in the processor
Linear Scalability to maximize heavily loaded server performance
The most sustainable, low power architecture for power sensitive edge locations and more efficient Data Centers
Scale-out computational horsepower with optimized video codecs high performance video transcoding
The charts shown here exhibit the attributes above from linear scalability to aggregate performance using the computationally intensive x264 and x265 transcoders.
Higher Power Efficiency
x264 is 29% more energy efficient than legacy x86 platforms on Ampere Altra Max
Industry leading x265 power efficiency with Ampere Altra Max up to 70% greater FPS/Watt vs. legacy x86 platforms
Ampere is pleased to showcase open source Video-on-Demand Services using Kubernetes to exhibit the cloud native characteristics of the Ampere platform for video services:
Kubernetes: Many Kubernetes distributions with add-on functions/services are possible.
Block Storage: the key element for keeping metadata, videos (mp4, mov, or avi), subtitles (e.g. WebVTT, etc), generated playlists & segment files for VOD services
Object Storage!: with S3-compatible API, Object storage can store pre-transcoded videos and subtitle files.
Load Balancer: an appliance acting as a reverse proxy and distributing network or application traffic across a number of servers. There are 2 popular load balancers in the open source community:
3 Pods of services
Nginx-VOD container - Serves as a Video-on-Demand application for HLS and MPEG-DASH Adaptive Bitrate Streaming with subtitles and also generates thumbnails from the videos
Nginx WebApp container - Serves as a web application hosting YouTube-like web pages showing thumbnails and HTML5 video players for HLS and MPEG-DASH
S3 Gateway WebApp container - Serves as a S3 gateway to connect an Object Storage and offer Web UI for content managers uploading their video contents
Adaptive Bitrate Streaming is the ability to adjust video quality in the middle of a stream as network conditions change. Several streaming protocols, including HLS and MPEG-DASH, allow for adaptive bitrate streaming. These protocols make Adaptive Bitrate Streaming possible because the Just-in-Time (JIT) packager can re-package pre-encoded video segments in multiple rendition playlists within the master playlist. renditions are selected based on network variability and the capabilities of the client streaming devices. A video player can switch from one quality level to another in the middle of the video without interrupting playback. This mechanism prevents the video from stopping altogether when network bandwidth is suddenly reduced.
HTTP Live Streaming (HLS) is used for streaming video over the Internet. HLS can play video encoded with H.264 or HEVC/H.265 codecs.
Dynamic Adaptive Streaming over HTTP (DASH), also known as MPEG-DASH, is an open source standard for an adaptive bitrate video method. MPEG-DASH is a codec agnostic and supports H.264, HEVC/H.265, VP9 and any other codecs.
Segmentation: The server divides the pre-encoded video files into smaller segments a few seconds in length. The server also creates the playlist as a table of contents for video segments. The segments are encoded and formatted in multiple renditions for various devices (see Fig. A-2).
Distribution: Renditions of the encoded video segments are pushed to devices over Content Delivery Networks (CDN) which distribute the streams via their Edge servers.
Interpret, Decode and Playback: When the audience’s device receives the video stream via CDN, its video player interprets the master playlist which includes multiple media playlists along with the segments. The player decodes the segments and plays back the video. Video players enabled with the MPEG-DASH or HLS protocols automatically switch between lower or higher quality segments based on the network bandwidth observed (see Fig. A-3).
Deploy VOD PoC demo on a Single-Node Canonical MicroK8s
Deploy VoD on SUSE K3s 3-Node Cluster on Ampere Platform
Deploy SUSE K3s Cluster with Rancher on Ampere Platforms
Deploy VoD on Canonical MicroK8s Cluster on Ampere Platforms
Deploy Single Node OpenShift on Ampere Platform for Edge Computing
Deploy Red Hat OpenShift 4.11 Cluster on Ampere Platforms
Deploy VoD on Red Hat OpenShift 4.11 Cluster on Ampere Platform
Deploy VoD on Oracle Container Engine for Kubernetes with Ampere A1 Instances
Ampere Ready Software