Streaming platforms revolutionized the entertainment industry during and after covid, allowing users to access video and audio content directly over the internet without the need for a traditional cable or pay tv subscriptions. The popularity led to the rise of numerous providers in the market enter in to streaming business. Building a scalable streaming platform is critical for providers looking to remain competitive and meet the growing demand for high-quality, personalized content to serve global customers.
Ajay Chandra is a Senior OTT, Media & Content Domain Consultant at Tata Consultancy Services. Ajay is a part of the Communications, Media, and Technology Services (CMT) business unit with 20+ years of experience in IT, Media & Broadcasting and Telecom part of the Advisory and Transformation Group .
Scalability is the ability of a platform to handle increasing amount user requests (sudden increase during live sports etc) or data without compromising performance, latency or reliability. In the context of OTT platforms, scalability refers to the ability to handle increasing numbers of users, content, and request / responses without affecting the quality of service or causing system failures. To achieve scalability, providers must design their platforms with modular architecture, flexibility, redundancy, and automation in mind.
This article will explore the key considerations for building a scalable Streaming platform, including multi device streaming, content delivery, and user experience. We will highlight the best practices for ensuring reliability and performance on a scale. Whether you are an existing OTT provider or a new entrant to the market, this article will provide valuable insights into building a scalable platform that can meet your client’s demands. Finally, we will present Reference architecture for Streaming Platform built using AWS services.
Table of Contents
Multi-Screen Ux Platform
Streaming platform requires native application development so that it can run on a particular platform, iOS, Android, RDK, Roku, Apple TV, Amazon Fire TV and Android TV etc. The native applications provide a better user experience than web-based applications (HTML5, React etc.) and optimized for the specific platform’s software and hardware. The following are areas to be considered.
- Identify the Platform: Each platform requires its own development requirements and tools. It is important to choose the platforms to align with the development team’s skills and experience. Major development environments – Android, iOS and Web.
- Development tools and languages: Each platform comes with its own development tools and languages. Apple TV applications are developed using Xcode, RDK uses lightning framework, Roku applications developed using Roku’s software development kit (RSDK) and Bright Script Android TV uses Kotlin, Java, C++ etc.
- UX (User interface) design: Based platform selection and development tools, we need to design the user interface for the application. The user interface needs to be optimized for the platform’s screen size and resolution to be consistent with the platform’s user interface design guidelines.
- Content Management: Based on application is built, we need to manage the video content which will be delivered through the application. It includes uploading and organizing the video content in a content management system (CMS) and creating metadata for the video content, such as titles, descriptions, and keywords.
- Deployment: Deploy and make sure it will be deployed in Apple App Store, Google Play Store, RDK App store or Roku Channel Store.
Video CMS (Content Management System)
Video CMS is a content management system that allows content providers to manage, organize, and deliver their video content and meta data to viewers over the internet. A video CMS is an essential component of a streaming platform as it enables content providers to efficiently upload, manage, and distribute their video content and meta data.
- Content ingestion: The ability to upload and ingest video content from a different of sources after transcoding, including live streaming, video files, and external storage systems.
- Metadata management: The ability to add metadata to video content such as title, description, tags, images and other relevant information. The metadata is used to help viewers discover, recommend and search for content on the OTT platform.
- Content organization: The ability to organize video content into different categories – movies, web series, documentaries, sports, live channels, and playlists.
- Content distribution: The ability to distribute video content to viewers around the world using a Content Delivery Network (CDN) that supports adaptive bitrate streaming.
- Content localization: The of adapting content more accessible and relevant to a global audience, increasing its appeal and effectiveness with language, subtitles etc.
- Content monetization: The ability to monetize video content using a variety of business models such as SVOD, TVOD, AVOD, FAST etc.
- Analytics and reporting: The ability to track viewer behaviour, such as viewing time, location, and device type, and generate reports to help content providers optimize their content delivery and improve viewer engagement.
- Integration with other systems: The ability to integrate with other systems such as billing, ad servers, CRM systems, content integrators, distributors, B2B, B2C systems, up sell & cross sell content & analytics platforms to provide a seamless experience for viewers & content providers.
Multi Device Streaming
The biggest challenge for building a media streaming platform is with numerous devices – SSD (small scale) LSD (large scale) devices available that play the content differently from each other. Be it a mobile, tab, browser, smart tv with different operating systems android, iOS, RDK etc., all have different functions, and we must create customization for each. This is a critical choice for an OTT player, broadcaster must make because it is necessary to allow users to play their content through user preferred device. Its different codecs, containers and streaming protocols.
Codecs – are used to compress and decompress media files.
Containers – are used to encapsulate the media and associated metadata
Streaming protocols for delivering video content over the internet.
- HLS – HTTP Live Streaming
- MPEG – DASH Dynamic Adaptative Streaming over HTTP
- RTSP – Real-Time Streaming Protocol
Content Delivery Network
For superior world class customer experiences, we need multi CDN with robust caching mechanism. The choice of CDNs should be made based on:
- Global reach: The CDNs are available all over the world with edge CDNs with servers located inside ISPs, allows content deliver quickly and efficiently to users all over the world.
- Scalability: CDNs required to large spikes of traffic during global live sports, events popular events or premiere movies, shows, web series etc.
- ABR (Adaptive bitrate streaming): ABR adjusts the quality of the video stream in real-time based on the user’s network conditions, ensuring smooth playback experience without buffering.
- Security: Security features against DDOS attacks, protect against hacking and piracy. Content encryption and digital rights management (DRM) systems and water marking.
- Analytics: Required for detailed analytics on viewer behaviour, such as number of concurrent users watching, viewing time, location, and device type etc to optimize the content delivery and improve viewers engagement.
- Multi CDN: support required to support Multi CDN for global reach, Programable advertising, Information Services to provide a seamless experience for viewers and advertisers.
- Low latency: Allowing for real-time events such as live sports broadcasts.
- Cache hit ratio: Measuring of user viewing request through CDN cache vs retrieve video content from origin server. Higher cache hit ratio reduces the load on origin server and improve overall streaming experience.
Key Metrics to Measure Streaming Performance
The metrics are important because they help content providers, broadcasters to identify areas for improvement and optimize their content delivery for a better viewing experience.
- Bit Rate: Important metric to measure, as it helps to understand the quality of the video that users are experiencing.
- Buffering rate: Measures the frequency and duration of buffering events during video playback. High buffering rates can indicate a poor streaming experience, as they result in interruptions and delays in video playback.
- Start-up time: Measures the time it takes for a video to start playing after the viewer has initiated playback.
- Video quality: Measures the quality of the video playback, including resolution, bit rate, and encoding. Poor video quality can lead to viewer dissatisfaction and disengagement.
- Bitrate switching: Measures the frequency and effectiveness of adaptive bitrate switching during video playback. Adaptive bitrate switching is used to adjust the quality of the video based on the viewer’s network conditions, ensuring a smooth playback experience.
- Viewer engagement: Measures the viewer’s level of engagement with the video content, including metrics such as watch time, click-through rates, and social sharing. High levels of engagement indicate that the content got positive streaming experience.
- Churn rate: This metric measures the rate at which viewers abandon the platform or stop watching content. A high churn rate can indicate a poor streaming experience or lack of engagement with the content.
Cloud and Open-Source Technologies in Building Scalable Streaming Platform
Major Cloud providers (AWS, Azure, GCP etc.) offers a comprehensive suite of media services which helps content providers in building and managing a high-quality, scalable streaming platform. Following are key media services.
- Content ingestion: We have several options available for ingesting video content from cloud providers Azure Blob Storage, Amazon S3, Google Storage etc. integrated to Media Connect and Media Live services. These services allow content providers to easily upload and ingest their video content from a variety of sources.
- Content management and delivery: Content delivery network (CDN) provides fast and secure delivery of video content to viewers around the world. It is critical to have multi-CDN strategy for uninterrupted and superior streaming experience. Multi-CDN uses two or more CDNs like Akamai, CloudFront etc. Additionally, Media Package combined with CDNs allows content providers to package and deliver video content in a variety of formats and protocols, including HLS, DASH, and Smooth Streaming.
- Transcoding and processing: Transcoding refers to the process of converting media content from one format to other with the aim of maximizing the compatible devices on media streaming can happen and ensures that consumers can stream content at the highest possible quality no buffering. It involves live video processing and delivery, including encoding, packaging, and encryption (AES, Multi DRM etc.).
- Personalization and monetization: One of the critical success factors for any streaming platform depends on content, search, discovery, experience, other factors including user behavior analysis and AI/ML based personalized recommendations. Additionally, DAI (server-side ad insertion) allows content providers to monetize their content through targeted advertising.
- Analytics and reporting play a crucial role in building scalable streaming platforms. Provides data/content driven decision making, optimizes the individual user experience, enhances content performance, enhances monetization strategies, and monitor system efficiency and business metrics. Video analytics essential in driving the growth in this highly competitive Streaming business.
- User authentication and authorization for different devices (web, mobile, smart TVs etc.) in a streaming platform involves ensuring seamless experiences with secure access to the platform and its content while managing users profile identities and permissions.
Here are some of the key media services and capabilities available from major Cloud providers in building scalable streaming platform.
|Security & Identity Services||Identity Platform||Azure Active Directory B2C||Amazon Cognito|
|Serverless||Firebase, Cloud Functions||Azure Functions||AWS Amplify, AppSync, Lambda|
|Encoding and streaming VOD||Transcoder API||Azure Media Services||AWS Media Convert|
|Encoding and streaming Live||Livestream API||Azure Media Services||AWS MediaLive|
|Content Intelligence AI||Video AI||Azure Video Analyzer||Amazon Rekognition|
|Monetization||Video Stitcher API||Azure Media Services||AWS MediaTailor|
|CDN||Cloud CDN||Azure CDN||Amazon CloudFront|
Strapi as Video CMS (Content Management System):
Strapi is a headless content management system (CMS), which can be used as a video CMS for streaming platforms. Strapi allows content creators to manage their video content by providing a platform for storing, organizing, and delivering videos and metadata to end-users. As a headless CMS, Strapi is flexible, and it can be customized to fit into the different streaming platforms.
Using Strapi as a video CMS for an OTT platform, content creators can upload their video content to Strapi, which can be stored in the cloud (AWS S3) or on a local Strapi server etc.
Strapi provides an API for content creators to add, modify, delete content or add metadata. Developers can build a custom front-end application, for example React, Angular or native application with an existing player to display the video content on the OTT platform.
Strapi provides a flexible and customizable solution for managing video content for OTT platforms.
Role of microservices, Docker and Kubernetes in building scalable and reliable streaming platform
The micro services architecture with docker and Kubernetes allows us to break down platform into smaller, more manageable services, enabling scalability, agility, resilience, flexibility and reusability.
Docker simplifies application deployment with containerization technology. Kubernetes automates application management by container orchestration which automates the deployment, scaling, and management of containerized applications. Kubernetes also provides auto-scaling, self-healing, and rolling updates, which ensures that the streaming platform remains available and responsive under high traffic loads.
Overall, by adopting this architecture we can create a platform which can handle large volumes of traffic and provide fast, responsive services to users.
Building a scalable streaming platform is must for any broadcaster or OTT provider targeting for large / global audience. A scalable streaming platform should be able to handle high traffic volumes, millions of concurrent users and provide seamless experience across different devices and networks.
To achieve scalability, it is important to use a distributed, modular architecture runs in multi cloud environment with caching and content delivery networks. Additionally, monitoring key metrics and optimizing the platform’s performance is crucial to ensure world class user experience.
By investing in a scalable streaming platform, businesses can improve their user’s engagement and create new monetization models which helps in increase their revenue streams.
Ajay Chandra is a Senior OTT , Media & Content Domain Consultant at Tata Consultancy Services. Ajay is part of Communications, Media, and Technology Services (CMT) business unit. 20+ years of experience in IT , Media & Broadcasting and Telecom part of Advisory and Transformation Group . His expertise lies in strategizing, conceiving, and delivering business and IT solutions to support TCS clients in their transformation journeys specific to cloud , media, and broadcasting areas.