End-to-end optimizations for dynamic streaming

Visit the post for more.

Evgeny Kuzyakov
6 min readadvanced
--
View Original

Overview

The article discusses end-to-end optimizations for dynamic streaming of 360 video, particularly at 6k resolution. It highlights advancements in adaptive bit rate streaming technology that enhance video quality while significantly reducing bandwidth usage and interruptions.

What You'll Learn

1

How to implement dynamic streaming for 360 video

2

Why variable offset cubemaps improve video quality

3

How to reduce buffering in video streaming applications

Prerequisites & Requirements

  • Understanding of video streaming concepts
  • Familiarity with DASH (Dynamic Adaptive Streaming over HTTP)(optional)

Key Questions Answered

How does dynamic streaming optimize 360 video quality?
Dynamic streaming optimizes 360 video quality by serving the highest-quality video in the active field of view while reducing quality in the periphery. This approach allows for significant reductions in bit rates, achieving up to 92% reduction in some cases, while maintaining a seamless viewing experience.
What factors are considered for stream selection in dynamic streaming?
Stream selection now considers six factors: resolution, video quality, current view orientation, stream viewport direction, length of the offset, and field of view. This comprehensive approach allows for more effective quality calculations and better stream choices under varying network conditions.
What improvements were made to reduce buffering in 360 video streaming?
Improvements to reduce buffering include estimating bandwidth on shorter intervals, measuring CDN response time, and prefetching initialization and index chunks. These strategies have collectively decreased interruptions by more than 80%, enhancing the overall streaming experience.

Key Statistics & Figures

Bit rate reduction
up to 92%
This reduction was achieved through optimizations in the streaming pipeline.
Decrease in interruptions
more than 80%
This improvement was a result of various tweaks in the streaming process.

Technologies & Tools

Streaming Protocol
Dash
Used for dynamic adaptive streaming over HTTP to facilitate efficient video delivery.

Key Actionable Insights

1
Implement variable offset cubemaps to enhance video clarity in your applications.
Using variable offset cubemaps allows for a more efficient allocation of pixels based on the viewer's focus, which can significantly improve the perceived quality of the video stream without requiring higher bandwidth.
2
Adopt a multi-factor approach to stream selection to improve reliability.
By considering multiple factors for stream selection, you can optimize the viewing experience even in fluctuating network conditions, thereby reducing buffering and interruptions.
3
Utilize prefetching techniques for initialization and index chunks in DASH streams.
Prefetching these chunks can eliminate delays when switching streams, ensuring a smoother transition and a better user experience.

Common Pitfalls

1
Failing to account for network conditions when selecting streams can lead to buffering.
Without considering real-time network data, applications may serve streams that are too high in quality for the available bandwidth, resulting in interruptions.

Related Concepts

360 Video Streaming
Adaptive Bit Rate Streaming
Video Encoding Techniques