Feature

HLS Live Stream Support with DVR Controls (iOS)

TL;DR Snapshot

The Stream Probe iOS player now supports live HLS streams with full DVR controls. A LIVE badge tracks playback state, and users can pause, rewind, and scrub within the live window. No API changes needed for existing VOD integrations.

Share this update

Stream Probe introduces HLS live stream playback with DVR controls in this iOS update, letting users pause, rewind, and scrub live video alongside a real-time LIVE badge indicator.

TL;DR

The iOS player now handles live HLS streams end to end. DVR seekable ranges flow from PlayerEngine through PlayerViewModel and into a new scrubber UI. A LIVE badge shows real-time playback status and snaps back when the user returns to the live edge.

What's New

  • DVR seekable-range publisher exposed via the PlayerEngine protocol, surfacing the live window boundaries from AVPlayer
  • Live/DVR state tracking in PlayerViewModel, including scrub position math relative to the seekable range
  • LIVE badge in the player UI that reflects whether playback is at the live edge or in DVR offset mode
  • DVR scrubber UI component for seeking within the live window, distinct from the standard VOD progress bar
  • Live HLS catalog entries added to the demo app so you can test against real streams out of the box
  • Design specs and implementation plans committed alongside the code for future reference

How to Use

No API changes required for existing VOD setups. For live streams, load an HLS live URL into the player as you would any other stream. The PlayerEngine will automatically detect the live window and publish seekable ranges. PlayerViewModel picks these up and activates the DVR scrubber and LIVE badge in the UI.

To check live state programmatically:

// PlayerViewModel exposes a published property
@Published var isAtLiveEdge: Bool
@Published var seekableRange: CMTimeRange?

Returning to the live edge after scrubbing snaps playback back and re-activates the LIVE badge.

FAQ

HLS Live Stream Support with DVR Controls (iOS) · Stream Probe Changelog · PushToPost