Dash-Industry-Forum / Live

Collects issues about the Live document
5 stars 0 forks source link

Low-Latency with Byte-Range Based Segment Share between DASH and HLS #77

Open technogeek00 opened 12 months ago

technogeek00 commented 12 months ago

During the initial low-latency standardization talks there was desire to share segments between LL-DASH and HLS-LL but DASH had taken the path of utilizing chunk transfer encoding and HLS had taken the path of independent chunk (part in the spec parlance) description. Through conversation the concept of EXT-X-PRELOAD-HINT was extended to allow for open ended byte-range requests and similarly EXT-X-PART was given an optional BYTERANGE attribute. This was intended to bring interoperability between specifications and was initially adopted and deployed as a successful interoperability point in both the DASH-HLS Interoperability Specification (CTA-5005-A) by various industry entities (Akamai Blog).

However, over the course of deployment and continued HLS specification iteration, the requirements of the EXT-X-PRELOAD-HINT tag and line speed delivery of parts confusion among implementers. Some interpreted the specification to mean the request would only transmit completed parts terminating the connection after so that an origin would have to be made aware of the part structures instead of treating the object as a single file. This requirement would be a significant departure from previous origin implementation capabilities and require either separate origins for DASH and HLS or the creation of new media aware origins across the ecosystem.

This was recently clarified on the HLS Interest list to confirm that the origin should continue sending until the end of the segment, not the end of the part. This means that both DASH and HLS clients can continue to share the origin, but it must be guaranteed that the entire chunk is sent at a time. We should double check that DASH recommends the encoder hold and send an entire chunk at a time for general operation, or DASH-HLS can specify this as only a requirement for interoperability.

haudiobe commented 12 months ago

2023/10/06 TF discussion

AUGxhub commented 6 months ago

I doesn't find EXT-X-PRELOAD-HINT have any advance . If turn the http chunk encoding on ,refer (https://en.wikipedia.org/wiki/Chunked_transfer_encoding), the transfer layer will just make it , no need do this on application layer.

We believe that at this stage nothing needs to be done in DASH LL according to the discussion. -> agree