Live Event Playback and Latency

Distribute a media player for a live event and choose the playback latency profile.

Set up a Media Player

📘

A single playback URL allows the playback of the live event as a live stream and on-demand content.

To set up a media player for use with a live event

  1. Generate a playback URL using either the live event's ID (i.e., GUID) or external ID.

    • Event ID: An event ID is automatically generated upon creating a live event.
📘

Copy a playback URL by navigating to the Live Events page, viewing the desired live event, clicking the Playback tab, and then clicking copy from under the HLS URL option.

Syntax: https://content.uplynk.com/event/LiveEventID.m3u8

  • External ID: An external ID may be assigned to a live event upon its creation or modification.

Syntax:
https://content.uplynk.com/event/ext/<OwnerID>/LiveEventExternalID.m3u8

  1. If the live event configuration requires a token for playback, then create a script that signs the playback URL.

  2. Point the media player to the live event using the above playback URL.

  3. Distribute the media player to the desired viewers.

💡

If you are setting up a HLS player, you may add support for fast forwarding, rewinding, or pausing and resuming through the Live Timeshifting capability.

Latency

Latency measures the delay between the capture of the source video and when it is displayed to the viewer.

📘

If you do not see the Playback Latency option, contact Support.

The following illustration provides an overview of components involved in the workflow from video capture to playback.

Components from capture to playback: the Live Slicer feeds the streaming service and manifest engine, which exchange with DRM and the ad decision server, then deliver through the CDN to the player

A short explanation of how each of the above components adds latency is provided below.

ComponentLatency Factors
SlicerThe amount of time it takes to slice and deliver processed media to our Streaming service. This may be exacerbated by using underpowered hardware or insufficient bandwidth for your encoding profile.
Streaming ServiceThe amount of time it takes to decode, encode, and package sliced media into an adaptive bitrate format.
Digital Rights Management (DRM)The amount of time it takes to request and generate licenses for content protected by DRM.
Ad Decision Server
  • The amount of time it takes to request, bid, and deliver ads to our Streaming service. This may be exacerbated by complicated ad campaigns, a large waterfall, and slow responses by the ad decisioning server and third-party ad providers.
  • Ad breaks extending beyond their intended duration due to long ad creatives.
  • Delayed ad delivery due to a late notification of an upcoming ad break.
CDNThe amount of time it takes to cache and deliver your stream to the player.
PlayerThe amount of time it takes to initialize and then play your stream. This may be exacerbated by clients that use underpowered hardware or that have insufficient bandwidth.
Manifest EngineDecisioning logic that controls the timing and creation of individual manifests for playback by users.

Best Practices for Reducing Latency

Reduce latency by applying the following best practices:

📘

The following optimizations are listed in descending order according to the degree to which they will reduce latency.

TypeOptimization(s)
Playback Profile
  • Selectable, pre-figured control file with reduced-latency options. Selectable, pre-figured control file that contains the parameters related to reduced-latency options. Used during manifest creation and driven by selectable latency options. Use the drop-down on the Channel's Details tab and the Live Event's Config tabs. See Selecting playback latency to choose latency options. Selecting a low latency playback option (other than default) may increase the probability of missing content slate and decrease the number of ad fills.
  • Contact Professional Services Group for optimization.
  • In addition to the selectable latency settings, a variety of factors, such as the hardware on the computer hosting the Live Slicer, ad workflow, encoding profile, and platform/ player affect the latency achieved, the quality of the customer viewing experience, and the ad monetization. Any latency numbers associated with settings are estimates, and your individual results may vary.
Chopping / Dropping Ads
  • Reduce ad-related latency by chopping or dropping ads exceeding ad break duration.
  • Use ad.flex to determine ad extension duration.
PlayerClient
  • Use a player (e.g., THEOplayer) that supports two-second media segment files and fast startup times.
  • The HLS specification requires that a player wait for three media segments prior to initiating playback. DASH, on the other hand, can initiate playback immediately. This, in theory, allows DASH to offer lower latency than HLS, but in practice, testing has shown little difference between the latencies achieved by HLS or DASH. Different HLS players offer varying degrees of latency.
  • Latency may differ based on protocol and player.
Encoding ProfileTwo Second Media Segments
  • Reduce media segment duration to two seconds for more responsive manifest files and faster playback initiation. This allows the generation of a manifest file that is more responsive to changing conditions (e.g., ad break duration variability). Additionally, it reduces the amount of time that the player must wait before initiating playback. However, it may increase rebuffering for some players.
  • Update slate to match segment duration of main content. Using slate that has been encoded as four second media segments when your main content's media segment size is two seconds will cause playback issues. Learn more about slate.
  • Contact customer support to update encoding profile.
B-frames and DRM
  • Reduce latency by only activating necessary features.
  • Use recommended low latency encoding profiles.
  • B-frames cause latency if enabled on every ray.
SlateRe-encode Slate (Two Second Media Segments)
  • A player may only switch from slate to your main content once it finishes playing the current media segment. Use slate that has been encoded in two second media segments to reduce the potential amount of time that the player must wait before switching to your main content. This recommendation should be applied regardless of whether your account has been configured to generate two second media segments for your main content.
  • System slate is already encoded with two-second media segments.
Slicer
  • GPU: Use Nvidia Tesla T4 GPU to reduce latency and missing content slate. Required at higher resolutions.
  • CPU: Use Quad-core x86-64 (2GHz) or higher.
  • Memory: Recommend 64 GB or more of RAM.
  • Upload Bandwidth: Should exceed encoder bandwidth by 25%. The amount of bandwidth generated by your encoder varies by encoding profile. For example, the default encoding profile (i.e., HD 720p25/30) requires 5 Megabits per second (Mbps).
  • Build: Always use the latest Live Slicer build for optimizations.
Ads
  • Chopping / Dropping Ads: Reduce latency by managing ad break duration as noted above.
  • Ad Slate: Encode all slate, including ad slate, using two-second media segments.
Automation / Playout SystemAd Break Notifications: Ensure timely ad breaks in the video stream with SCTE triggers for ad decisioning.
Adaptive Bitrate StreamingFormat: Supports both DASH and HLS.
CloudNetwork Connection: Optimize egress for encoded media with newer streaming protocols like SRT and RIST, minimizing latency based on network round-trip time.

Select the Playback Latency

Default latency for Live Channels and Live Events is 60+ seconds. To reduce latency to ~15 seconds, refer to the Playback Latency for channels and events for setup instructions.

Latency Options

  • Default: ~60 seconds
  • Low: Low 20s, 5+ second buffering, Missing Content Slate (MCS) is possible
  • Lower: Upper teens, 2+ seconds buffering, MCS is possible
  • Lowest: As low as 15 seconds, minimal buffering, no MCS
📘

Different protocols and platforms may affect latency beyond the control of Edgio.

Important Considerations

  • Many factors are in play for reduced latency. Any latency numbers referenced by Edgio documentation are estimates. Actual results may vary.
  • Reducing latency does not currently work with Time Shifting.
  • Inconsistent Slate Slice Duration is not recommended and will give unpredictable latency results.
  • Four-second profiles may still work but won't achieve the desired latency results and are unlikely to produce any video at the lowest setting.
  • Two-second profiles without Playback Latency settings will give default delays.
  • Existing V1 channels will not see the Playback Latency drop-down.
  • MCS latency can only be removed via ad-break opportunities or new sessions.
  • Player buffering cannot be controlled via Edgio's Streaming service.
  • Platform specificity may vary latency by multiple seconds.
  • Many factors contribute to latency, so playback latency may vary.
  • If using a Channel Scheduler with historical, four-second segment assets, you cannot schedule those assets onto an Edgio-enabled channel.
  • The act of 'Creating' a CSL slicer will always create (/override) a profile to slicer ID mapping, even if using the default profile. Slicer Resets will not update the mapping.
  • Due to continued testing, new technology, and other factors, playback profile parameters used by the manifest engine may change from time to time, without notice.

Did this page help you?