Feature

ABR Timeline: Visualize Adaptive Bitrate Switches in the Debug Overlay

TL;DR Snapshot

Stream Probe now captures adaptive bitrate (ABR) switch events during video playback and displays them as a visual timeline in the debug overlay. You can see exactly when each resolution switch happened and why, using the new AbrSwitchEvent model and AbrTimelineAdapter view.

Share this update

Stream Probe now tracks and visualizes adaptive bitrate (ABR) switch events directly in the on-screen debug overlay.

TL;DR

You can now see a visual timeline of every resolution switch during playback, including the reason behind each switch. No more guessing why your stream dropped from 1080p to 480p mid-session.

What's New

  • Added AbrSwitchEvent and SwitchReason models to represent quality change events with timestamps and reasons
  • PlayerInterceptor now captures ABR switch events as they happen during playback
  • SessionStore stores the full history of switch events for the active session
  • New AbrTimelineAdapter and AbrTimelineItemView render a scrollable visual timeline in the debug overlay
  • Comprehensive unit tests added for event tracking and formatting logic

How to Use

Open the Stream Probe debug overlay during playback. Navigate to the ABR section to see a chronological timeline of every bitrate switch, including the resolution change (e.g. 720p to 1080p) and the switch reason (e.g. bandwidth, manual, codec).

No additional configuration needed. Event tracking is automatic once the player session starts.

FAQ

What switch reasons does Stream Probe capture?

Stream Probe captures the reasons provided by the underlying player, such as bandwidth changes, buffer conditions, and manual quality overrides. These map directly to the new SwitchReason model.

Does this affect playback performance?

No. The interceptor captures events asynchronously and stores them in the session store without blocking the playback pipeline.

Can I see ABR history for a past session?

The timeline reflects the current active session only. History is stored in SessionStore for the duration of the session.

Where does the ABR timeline appear in the overlay?

It appears as a new section in the existing Stream Probe debug overlay, alongside the segment metrics and CDN header info added in previous releases.