Video: CMAF with ByteRange – A Unified & Efficient Solution for Low Latency Streaming

Apple’s LL-HLS protocol is the most recent technology offering to deliver low-latency streams of just 2 or 3 seconds to the viewer. Before that, CMAF which is built on MPEG DASH also enabled low latency streaming. This panel with Ateme, Akamai and THEOplayer asks how they both work, their differences and also maps out a way to deliver both at once covering the topic from the perspective of the encoder manufacturer, the CDN and the player client.

We start with ATEME’s Mickaël Raulet who outline’s CMAF starting with its inception in 2016 with Microsoft and Apple. CMAF was published in 2018 and most recently received detailed guidelines for low latency best practice in 2020 from the DASH Industry Forum. He outlines that the idea of CMAF is to build on DASH to find a single way of delivering both DASH and HLS using once set of media. THe idea here is to minimise hits on the cache as well as storage. Harnessing the ISO BMFF CMAF adds on the ability to break chunks in to fragments opening up the promise of low latency delivery.

 

 

Mickaël discusses the methods of getting hold of these short fragments. If you store the fragments separately, then you double your storage as 4 fragments make up a whole segment. So it’s better to have all the fragments written as a segment. We see that Byterange requests are the way forward whereby the client asks the server to start delivering a file from a certain number of bytes into the file. We can even request this ahead of time, using a preload hint, so that the server can push this data when it’s ready.

Next we hear from Akamai’s Will Law who examines how Apples LL-HLS protocol can work within the CDN to provide either CMAF for LL-HLS from the same media files. He uses the example of a 4-second segments with four second-long parts. A standard latency player would want to download the whole 4-second segment where as a LL-HLS player would want the parts. DASH, has similar requirements and so Will focusses on how to bring all of these requirements down into the mimum set of files needed which he calls a ‘common cache footprint’ using CMAF.

He shows how byterange requests work, how to structure them and explains that, to help with bandwidth estimation, the server will wait until the whole of the byterange is delivered before it sends any data thus allowing the client to download a wire speed. Moreover a single request can deliver the rest of the segments meaning 7 requests get collapsed into 1 or 2 requests which is an important saving for CDNs working at scale. It is possible to use longer GOPs for a 4-second video clip than for 1-second parts, but for this technique to work, it’s important to maintain the same structure within the large 4-second clip as in the 1-second parts.

THEOplayer’s Pieter-Jan Speelmans takes the floor next explaining his view from the player end of the chain. He discusses support for LL-HLS across different platforms such as Android, Android TV, Roku etc. and concludes that there is, perhaps surprisingly, fairly wide support for Apple’s LL-HLS protocol. Pieter-Jan spends some time building on Will’s discussion about reducing request numbers for browsers, CORS checking can increase cause extra requests to be needed when using Byterange requests. For implementing ABR, it’s important to understand how close you are to the available bandwidth. Pieter-Jan says that you shouldn’t only use the download time to determine throughput, but also metadata from the player to get as an exact estimate as possible. We also hear about dealing with subtitles which can need to be on screen longer than the duration of any of the parts or even of the segment length. These need to be adapted so that they are shown repeatedly and each chunk contains the correct information. This can lead to flashing on re-display so, as with many things in modern players, needs to be carefully and intentionally dealt with to ensure the correct user experience.

The last part of the video is a Q&A which covers:

  • Use of HTTP2 and QUIC/HTTP3
  • Dynamic Ad Insertion for low latency
  • The importance of playlist blocking
  • Player synchronisation with playback rate adjustment
  • Player analytics
  • DRM insertion problems at low-latency

    Watch now!
    Speakers

    Will Law Will Law
    Chief Architect, Edge Technology Group,
    Akamai
    Mickaël Raulet Mickaël Raulet
    CTO,
    ATEME
    Pieter-Jan Speelmans Pieter-Jan Speelmans
    CTO & Founder,
    THEOPlayer
  • Video: Workflow Evolution Within the CDN

    The pandemic has shone a light on CDNs as they are the backbone of much of what we do with video for streaming and broadcast. CDNs aim to scale up in a fast, sophisticated way so you don’t have to put in the research to achieve this yourself. This panel from the Content Delivery Summit sees Dom Robinson bringing together Jim Hall from Fastly with Akamai’s Peter Chave, Ted Middleton from Amazon and Paul Tweedy from BBC Design + Engineering.

    The panel discusses the fact that although much video conferencing traffic being WebRTC isn’t supported, there are a lot of API calls that are handled by the CDN. In fact, over 300 trillion API calls were made to Amazon last year. Zoom and other solutions do have an HLS streaming option that has been used and can benefit from CDN scaling. Dom asks whether people’s expectations have changed during the pandemic and then we hear from Paul as he talks a little about the BBC’s response to Covid.

     

     

    THE CTA’s Common Media Client Data standard, also known as CTA 5004, is a way for a video player to pass info back to the CDN. In fact, this is so powerful that it can provide highly granular real-time reports for customers but also enables hints to be handed back from the players so the CDNs can pre-fetch content that is likely to be needed. Furthermore, having a standard for logging will be great for customers who are multi-CDN and need a way to match logs and analyse their system in its entirety. This work is also being extended, under a separate specification to be able to look upstream in a CDN workflow to understand the status of other systems like edge servers.

    The panel touches on custom-made analytics, low latency streaming such as Apples LL-HLS and why it’s not yet been adopted, current attempts in the wild to bring HLS latency down, Edge computing and piracy.

    Watch now!
    Speakers

    Peter Chave Peter Chave
    Principal Architect,
    Akamai Technologies
    Paul Tweedy Paul Tweedy
    Lead Architect, Online Technology Group,
    BBC Design + Engineering
    Ted Middleton Ted Middleton
    Global Leader – Specialized Solution Architects, Edge Services
    Amazon
    Jim Hall Jim Hall
    Principal Sales Engineer,
    Fastly
    Dom Robinson Moderator: Dom Robinson
    Director and Creative Firestarter, id3as
    Contributing Editor, StreamingMedia.com, UK

    Video: Milan Video Tech on WebAssembly, DRM, Video Monitoring & Error KPIs in IPTV/OTT

    Web Assembly, low-latency streaming, DRM and monitoring are the topics of this Milan Video Tech meeting, part of the 24-hour mega meetup. To keep evolving your services, you need to understand the newest technologies and be ready to use them when the time is right. In this video, we look at a basic DRM workflow, experiment with the latest player tech. work out how to distribute your service monitoring to be able to quickly diagnose issues and how to use monitoring to your advantage.

    Evolution provides live Casino feeds since 2006 as part of a B2B (business to business) offering. With offices in 20 countries and over 800 tables, there’s a lot to do. They offer browser-based playback which does achieve low latencies using current Websockets and HLS technologies, down to 1.5 seconds, but Behnam Kakavand explains how they’re improving on that with a move to WebAssembly.

    WebAssembly allows you to run pre-compiled code on any browser on any platform where ‘pre-compiled is a euphemism for ‘optimised’. The code tuns up to 4 times faster than interpreted javascript and gives you flexibility on which language to use to code in such as C, Rust, Go etc. Bahnam runs through the reasons they chose the WASM player which revolve around high levels of control of the whole playback experience and a reluctance to use Apple’s LL-HLS as its latency gains are too slow as well as their reluctance to use WebRTC which is unattractive because its fixed AVC transport implementation.

    Without using WebAssemly, Behnam shows that you get little playback control in the case of native HTML5 elements. With MSE there is a lot more control but it’s not available on iOS. Using Web Assembly they can use any codec, customise the buffers and reduce battery usage. Behnam explains the workflow they use to compile the code into WebAssembly and talks about their future plans such as bringing SIMD operations into WebAssembly, bring down battery use, reduce player bundle size and use web codecs.

     

     

    Andrea Fassina gives a great overview of DRM playback. Talking against a whiteboard, he shows how the workflow checks for user authentication to gain access to the copyrighted content. When they choose a video the selection, the request is sent out and the video is fetched from storage. The licence checker is a browser component that safely sends tata to the DRM licence server to check if they are allowed to view the playback. The DRM licence proxy server aggregates service and user information with IDs. If a positive decision is made, licences are sent back which include the decryption key.

    Akamai’s Luca Mogali shows how to create video monitoring dashboards with near real-time logs and CMCD KPIs. Luca shows how by adding some extra data into the URL a player uses to access the CDN, this data can be passed back almost immediately to a logging server. Grafana or other tools can then be used to visualise this data which can give essential insight into what’s working and what’s not.

    Finishing off the video, Alexy Malikov from Elecard explains how the use a distributed monitoring system to get to the bottom of issues that customers face. The probes which can sit before/after key pieces of equipment are important to use in logical fault finding. Doing all the central monitoring server would be possible, but this wouldn’t account for problems arriving locally at your eiquipment. When you have that in place, Alexy shows a number of case studies that become much easier to diagnose with the probes present than without. His examples of issues that could be fixed/mitigated by distributed monitoring include stuttering during ad breaks, streams becoming unavailable, download speeds problematic, system unable to detect audio on occasion.

    Watch now!
    Speakers

    Behnam Kakavand Behnam Kakavand
    Video R&D Engineer
    Evolution
    Luca Moglia Luca Moglia
    Senior Solutions Engineer,
    Akamai
    Alexey Malikov Alexey Malikov
    Business Development Director EMEA,
    Elecard
    Andrea Fassina Andrea Fassina
    Web Technologies Developer
    videodeveloper.io

    Video: The OTT Quality Challenge

    Quality of Experience (QoE) has a wider meaning than Quality of Service (QoS) even though viewers have a worse time if either are impacted. What’s the difference and how are companies trying to deal with maximising enjoyment of their services? This panel from Streaming Media brings together Akamai’s Will Law, Robert Colantuoni from Disney Streaming Services, CJ Harvey from HBO Max. and Ian Greenblatt from JD Power detail the nuances of Quality of Experience.

    The panel starts by outlining some of the differences between QoS and QoE. Ian explains that QoE is about the whole experience of the UI, recommendations, search, rebuffering and much more. QoS can impact QoE but is restricted to the success of the delivery the stream itself. QoS measures impairments such as rebuffering, macroblocking, video quality, time to play etc. Whilst poor QoS will usually reduce QoE, there’s a lot that a well-written player can do to mitigate the effects of QoS. Having good QoE is ensuring the viewer can put trust in each of their ‘clicks’, that they will know what will happen and won’t have to wait.

     

     

    Measuring QoE is not without its challenges, afterall what should you measure? Rebuffering measured second-to-second gives you different results than measuring over 10-second windows. Will Law highlighted CTA 2066 which is a free specification. There is also a QoE best practices white paper from Akamai.

    “Multi-CDN is the new norm” declares Will Law, as the conversation turns to how players should deal with CDN selection. The challenge is to be picking for the CDN which works best for the user. Robert points out that a great CDN in one geography may not perform so well in another. A player making a ping-based choice at the beginning of playback is going to make a much worse choice overall than a player which samples each CDN in turn and continues to pick the best. This needs to be done carefully though, giving each CDN time to warm up and usefully affect its pre-fetch capabilities.

    Where QoE raises itself over QoS is in questions of perception. A good player will not simply target high bitrate, but take in to account colour volume depth, resolution and device to name but three.

    There are plenty of questions from the audience covering load balancers, jarring changes between sharp, high budget productions and old episodes of 4:3 TV dramas plus a look-ahead to the next two years of streaming.

    Watch now!
    Speakers

    Will Law Will Law
    Chief Architect, Edge Technology Group,
    Akamai
    CJ Harvey CJ Harvey
    VP Product Management,
    HBO Max
    Robert Colantuoni Robert Colantuoni
    Content Distribution Performance Architect,
    Disney Streaming Services
    Ian Greenblatt Ian Greenblatt
    Managing Director,
    J.D. Power
    Tim Siglin Moderator: Tim Siglin
    Contributing Editor,
    Streaming Media