Because of its scalability and low cost, HTTP streaming is now widely used for live broadcasting on the open Internet. A number of platforms including Twitch, Twitter, and Amazon Video are now providing live video services based on HLS or DASH for both user-generated content (UGC) and professionally-generated content (PGC).
However, in comparison to more traditional live streaming protocols such as RTMP, HLS and DASH incur much longer end-to-end broadcast latency. The latency is typically 10–30 seconds depending on implementations. On the other hand, low (less than 5 second) broadcast latency is highly demanded as it is critical to interactivity between a broadcaster and their audience.
One of the most successful efforts to reduce the latency of HTTP streaming is to utilize the HTTP chunked transfer coding, which enables a video segment to be generated and transmitted concurrently. For more technical details, please read Twitter’s recent technical blog “Introducing LHLS Media Streaming.”
However, compared with segment-based HTTP download, chunked transfer coding makes the bandwidth estimation a lot harder for any ABR playback algorithm. This Grand Challenge is to call for signal-processing/machine-learning algorithms that can effectively estimate download bandwidth based on the noisy samples of chunked-based download throughput.
For segment-based HTTP streaming, the download bandwidth can simply be calculated as
Bandwidth = segment size / segment download time
This is, in general, quite accurate, since the size of a video segment is typically large enough (1 or more seconds of video data).
On the other hand, in HTTP chunked transfer coding, a video segment is transmitted in multiple smaller pieces, i.e. the response to one HTTP request is broken into a series of chunks (see Figure 1).
As we can see from Figure 1, the sizes and arrival times of video segment chunks are not deterministic and can be affected by a number of factors including
- Sizes of video frames
- Timing of frame arrivals from the video source
- Real-time behavior of HTTP origin/caching software
- Real-time behavior of OS, router, etc.
- Network condition
Figure 2 is a plot of the instantaneous HTTP chunk download speed (blue dots) vs. the actual video bitrate (red dots). X-axis is time in seconds and Y-axis is bitrate in mbps. The blue dots are very noisy and scatter below and above the red dots.
Note: The instantaneous HTTP chunk download speed is calculated by chunk size / chunk duration, where the chunk duration is the gap between the arrival times of this and its previous chunk.
Accurate bandwidth estimation is essential for a well-performing ABR playback algorithm. Now, the challenge is how we can identify the download bandwidth from the noisy HTTP-chunk-download-speed samples.
Twitch and Twitter invite video researchers to develop signal-processing/machine-learning algorithms for bandwidth estimation based on chunk-based download stats.
We provide the training and test dataset. For more details, please download the instructions for the Twitch/Twitter IEEE 2018 Grand Challenge HERE.
Please visit ICME’s page for general information on the IEEE 2018 Grand Challenge. We look forward to receiving your submission and seeing you in San Diego next year!
Yueshi Shen, Principal Research Engineer, Twitch, firstname.lastname@example.org
Yuechuan Li, Video Software Engineer, Twitch, email@example.com
Mark Kalman, Staff Engineer, Twitter, firstname.lastname@example.org
Sebastiaan Van Leuven, Senior Video Engineer, Twitter, email@example.com