Live Low latency.

  • Synchronization may be more important then low latency.
  • Live show context need to be low latency for interactive
  • Soccer match use case.
  • Interested in the player side, what do player engineers need to do support low latency streaming. Streaming responses from fetch.
  • From the research, what are the use cases.
  • Can share some techniques for low latency.
  • Wowza presenting a low latency approach via web sockets.
    • Ends up looking like RTMP world.
    • Chunks are the way to go. ( if we can solve that its better ) CDNs? at scale.
    • Chunks 2 to 4 second; no need for separate variant for VOD.
    • HTTP at scale.
    • HTTP/2
      • Used in push mode, takes away responsiblity of client being well timed.
      • Benefit for poorly timed client.
      • HTTP/2 requires server intelligence.
      • UDP, faster time to first byte. Helps with robustness against network.
    • HTTP
      • open connection before the segment exists.
      • client timing the download, will get a low number on transfer.
    • Timing:
      • ask for the next segment at 100ms intervals. ( bunch of 404s ) maybe 415 if close.
      • wait for response back.
  • Low latency synchronization and keeping costs down.
  • what is the bottleneck of low latency streaming.
  • interested in low latency options for Dash / hls. Other options outside of CDN.

Browser support.

  • Apple wants 3 segments before live. ( you have to lie to apple hls players )
  • Apple ABR can suffer in these scenarios.
    • HLS.js
      • You can tell hls.js can be instructed to only buffer only 1 segment.
      • The mainfest requests timing is not determined.
      • By default ever 2 seconds, 1 second the next time.
      • HLS -> extension that tells you the time the segment would have been available, to adjust the request cadence.
  • A managed transcode service with low latency is attractive.
  • fMp4 common segment
  • UI should reflect close as live that you can deliver with consistency.
  • Becomes apparent you can't do low latency fallback to higher latency mode.

Share test streams for the common good. How much do we have to do to support hls.js

UX of syncing to the live edge