Dynamic Media Transcoding for Heterogeneous Streaming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video streaming technologies face challenges in accommodating diverse client devices with varying screen sizes, CPU power, and supported streaming technologies and codecs, making it difficult to seamlessly stream video content across different devices, especially when a session is interrupted or resumed on a different device.
Innovation Solution
A method for dynamically preparing and delivering media content by transcoding it into formats compatible with the client device's attributes, including playback and transport formats, allowing seamless continuation of video streaming across heterogeneous devices and networks, even after disconnections.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If media is optimized for one device (say, a PC), then the media can be viewed on that device, but it may not be viewable on other devices (say, a cell phone)
Solution Approach 1:
The media stream is divided into multiple segments (e.g., 10 seconds each) that can be independently transcoded and delivered. This allows the system to adapt to different device capabilities by serving different segments to different devices without requiring the entire stream to be reencoded for each device type.
Solution Approach 2:
The system dynamically changes media parameters (resolution, frame rate, codec) based on the target device's capabilities. The server receives device information and adjusts the transcoding parameters accordingly, transforming the media into formats suitable for specific device types while maintaining compatibility across heterogeneous devices.
2Adaptability or versatility
If a video streaming session remains the same for the duration, then the streaming mechanism is simple, but it restricts access when multiple devices request the same stream
Solution Approach 1:
The streaming session is made dynamic rather than static. The server can change the transcoding parameters and delivery mechanism during the session based on the requesting device's capabilities. This allows the same media stream to be accessed by multiple devices with different requirements without requiring separate fixed sessions for each device type.
Solution Approach 2:
The system performs preliminary transcoding of media segments into multiple formats before delivery. By preparing different versions of the media in advance (e.g., different resolutions and codecs), the server can quickly adapt to different device requests without requiring time-consuming real-time transcoding, thus managing multi-device access more efficiently.
3Adaptability or versatility
If the server provides the same media format, then the delivery mechanism is simple, but it cannot accommodate different playback formats required by various clients
Solution Approach 1:
The media is segmented into smaller clips that can be independently transcoded to different formats. This segmentation allows the server to efficiently serve multiple format requirements by processing only the necessary portions of the media rather than transcoding the entire stream, thereby improving productivity while maintaining format adaptability.
Solution Approach 2:
Instead of transcoding the entire media stream for each device type, the system performs partial transcoding by only processing the specific segments needed for each client request. This approach reduces the overall transcoding workload and improves efficiency while still providing comprehensive format support when required.
Data Source
AI summary
A method of dynamically preparing a media clip for delivery from a server to a client is provided. Media attributes comprising media playback formats compatible with the client are provided to the server. A request is made by the client to provide a media content item at a specified starting time, and the server identifies a source where a media content file related to the selected media content item is located. The server obtains the media file from the source, and obtains a transcoded media segment file having a playback format compatible with the client media attributes. The transcoded media segment file may further be prepared in a transport format that is compatible with transport format media attributes of the client device, and a location of the prepared transcoded media segment file may be communicated to the client for the client to access the media segment.


