HLS Server Parallel Transcoding for Bitrate Switching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current server-controlled adaptive streaming techniques experience delays when switching between different bitrate profiles due to pre-buffering, leading to excessive waiting times and network congestion issues during DVR asset playback from an HLS server to a client.
Innovation Solution
The system employs idle transcoder units as standby resources to enable smooth switching to desired bandwidth by using parallel transcode sessions, avoiding pre-buffer time and ensuring desired bitrate chunks are readily available, thus allowing for a fast response to network congestion without requiring changes to the HLS client.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If pre-buffering is used to ensure smooth playback, then playback stability is improved, but transition time between bitrate profiles increases
Solution Approach 1:
The system performs preliminary transcoding by maintaining a queue of pre-transcoded bitrate profiles ready for immediate delivery. When a client requests content, multiple bitrate versions are transcoded in advance and stored in a queue, allowing the system to switch between bitrates without real-time transcoding delays.
Solution Approach 2:
The system creates a buffer of pre-transcoded content at multiple bitrate profiles before playback begins. This cushion of ready-available content allows the system to handle bitrate switches and network condition changes without causing playback interruptions or excessive transition delays.
2Device complexity
If a single transcoder unit is used to reduce resource consumption, then device complexity is reduced, but switching speed between bitrates decreases
Solution Approach 1:
Instead of transcoding in real-time when a bitrate switch is needed, the system performs the transcoding action in advance by maintaining a queue of pre-transcoded profiles. A single transcoder unit generates multiple bitrate versions ahead of time, which are then readily available for immediate switching without requiring additional transcoder resources during playback.
3Loss of time
If pre-buffer time is reduced to improve streaming startup, then startup delay is reduced, but playback smoothness during bitrate switching deteriorates
Solution Approach 1:
The system performs preliminary transcoding and prepares multiple bitrate profiles in a queue before playback starts. This allows the system to minimize pre-buffer time for quick startup while ensuring that multiple bitrate versions are already prepared and available, maintaining playback smoothness during any necessary bitrate switches.
Solution Approach 2:
By preparing a cushion of pre-transcoded content at multiple bitrates before playback begins, the system can start streaming quickly with minimal pre-buffer while having backup bitrate versions ready. This cushion ensures that if network conditions change during playback, smooth transitions are possible without excessive buffering.
Data Source
AI summary
A system is provided that is designed to smooth and reduce the transition time of a live stream while switching to different bitrate transcode profiles. This accomplishment is achieved by avoiding pre buffer time using parallel transcode sessions and enabling a fast response to network congestion, as desired bitrate chunks/segments are readily available. The client, for example the HLS client, is not aware of switching the bitrate and is not taxed with any demands, as only the HLS server needs to manage synchronization of any pre-transcoded content and continue with further transcoding of the content.


