Save your seat for Streaming Media NYC this May. Register Now!

JW Player Engineer Offers an Update on LHLS Development

Article Featured Image

At this week's Reframe forum in New York City, video coding professionals heard an update on LHLS, or low-latency HLS, delivered by John Bartos, a senior software engineer for JW Player. Reframe is something of an East Coast Demuxed conference, and Bartos was building on a topic he introduced at Demuxed 2018: creating a low-latency standard that works for all platforms.

LHLS is a modification to the HLS specification, Bartos explained, and it brings latency down to two to seven seconds. The project's goal is to overcome the fundamental problems with HLS that prevent video players from achieving low latency today.

"The HLS standard requires encoders to only advertise a segment, meaning a piece of media, when the last byte has been added, or encoded," he explained. "After that it is delivered across the wire to the client. And so your minimum theoretical latency becomes essentially the length of a segment because you need to capture X seconds of video before you can deliver X seconds. So six-second segments' theoretical minimum is six seconds. In practice, players take about three times a segment length behind that point, and that is just for stability of the buffer and network conditions."

The LHLS is an open standard and is backwards compatible. It differs in that encoders can advertise the currently encoding segment to the client, and segments can be download via a series of smaller chunks instead of in larger segments.

In the last six months, the project received support from multiple encoders, including Akamai, Wowza, and Mux. The project has also received verbal commitments ("Maybe they were over beer, but we have commitments") from Twitter, Periscope, Hulu, and others. At Reframe, Bartos asked publishers to get involved and join the open beta. He's now focused on creating a server-side ad insertion solution.

He's also refactored Hls.js to make it progressive by default. Hls.js users who aren't concerned with live or low-latency streaming will still benefit from the player being progressive, he said. Even when using segments encoded 10 years ago, playback should be faster and more reliable. As Bartos talked, a prerecorded demo of Hls.js playing an LHLS stream played behind him. It buffered occasionally; it's still a work in progress.

'This has been the culmination of a lot of engineering effort," Bartos said, thanking the community for its support. "I'm looking forward to continuing to work with everyone and getting this out to GA."

Photo: John Bartos of JW Player at the Reframe forum.

Streaming Covers
for qualified subscribers
Subscribe Now Current Issue Past Issues
Related Articles

JW Player Acquires VUALTO

Acquisition of DRM provider strengthens JW Player's position in the market

JW Player Now Makes Custom Apps for Leading OTT Services

Connected viewing in the living room is only going to get more popular. JW offers an app-creation system that creates customized apps in weeks.

JW Player Launches a Free Developer Edition to Spur Innovation

Getting back to its open source roots, JW Player offers six-months of free access so developers and engineers can create and explore.

Akamai Announces Support for Ultra-Low Latency With CMAF

Reducing latency for HTTP Adaptive Streaming video to 3 seconds or less is possible, but it requires a complex workflow.

Microsoft Joins the SRT Alliance to Promote Low Latency Solution

With Microsoft's backing, Haivision hopes to grow global support for the standard. The SRT Alliance now counts over 140 member companies.

Limelight Promises Sub-Second Live Video Latency Using WebRTC

Forget HLS and DASH, says Limelight, and definitely forget HTTP. Its WebRTC-based solution could take the pain out of sports streaming.

JW Player Opens Live Streaming to All Enterprise Customers

The company's enterprise platform customers can now deliver live streams to viewers while monitoring audience counts in real-time.

Companies and Suppliers Mentioned