Dynamic Manifest Generation for Linear Video Stream Storage Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing video streaming systems face high storage and costs due to the need to store multiple combinations of linear streams for different channels and locations, leading to redundant storage of the same content across content distribution networks (CDNs).
Innovation Solution
The system generates content bundles and manifests in real-time for linear streams, allowing only source streams to be stored at CDNs, with metadata platforms creating audience definitions and manifest services matching viewer definitions to determine playable programs, thus eliminating the need for storing each linear stream combination.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple linear streams are stored at CDNs for different channel combinations, then content delivery reliability is improved, but storage cost and complexity increase significantly
Solution Approach 1:
The patent merges multiple linear streams into a single source stream by time-multiplexing different channel content within the same data structure. Instead of storing separate linear streams for each channel combination at CDNs, the system consolidates them into one source stream that can be dynamically segmented and delivered to different clients based on their channel subscriptions, thereby reducing storage redundancy while maintaining delivery reliability
Solution Approach 2:
The source stream is designed with universal functionality to serve multiple channels simultaneously. By embedding channel identification metadata and using time-multiplexed content organization, a single source stream can be delivered to clients subscribing to different channels (e.g., Channel 1, Channel 2, or both), eliminating the need for separate stored copies for each channel combination
2Adaptability or versatility
If multiple linear streams are generated for different channel combinations, then channel versatility is improved, but system complexity increases
Solution Approach 1:
The patent segments the source stream into different channel-specific content portions using time-multiplexing techniques. Each channel's content is organized in discrete time slots within the unified source stream structure, allowing the system to deliver specific channel content (Channel 1, Channel 2, or combinations) by selecting and delivering appropriate time segments, thereby achieving channel versatility without generating separate full linear streams for each combination
Solution Approach 2:
The system employs dynamic manifest generation that adapts to different client channel subscriptions in real-time. Instead of pre-generating static linear streams for all possible channel combinations, the manifest service dynamically constructs and delivers appropriate stream segments based on the client's current channel selection, enabling flexible channel versatility while keeping system complexity manageable through on-demand processing
3Ease of manufacture
If source streams are interwoven into multiple linear streams, then content organization is improved, but processing time increases
Solution Approach 1:
The patent applies preliminary action by pre-organizing source stream content into time-multiplexed segments with embedded channel identification metadata during the content ingestion phase. This pre-organization allows the manifest service to quickly assemble and deliver appropriate channel content without performing complex real-time interweaving operations, thereby maintaining good content organization while minimizing processing time for stream generation
Data Source
AI summary
In one embodiment, a method receives a request for a channel offered by a video delivery service from a user and generates user information for the user. In response to receiving the request, the method sends a query to a database to retrieve a bundle that includes an audience definition that matches the user information. A bundle identifies a source stream for a program and only one bundle for a time slot is returned for the query from multiple bundles for the channel that exist for the time slot. A manifest is constructed for the channel using the bundle where the manifest identifies content from the source stream of the bundle. The method then provides portions of the manifest to a client device for the user to allow the client device to request content from the source stream for the channel.


