Video streaming: Does TCP live streaming hold any advantage over UDP live streaming?
About 20 years ago, Bing Wang and others published a paper named "Multimedia streaming via TCP: An analytic performance study". It may have been this paper that changed the traditional belief of many computer scientists and engineers that video streaming over TCP is impossible. Video-on-demand today is no longer conceivable without TCP-based streaming, combined with the opportunity to changes video quality every few seconds. Not only YouTube and Netflix use it, but even cable TV uses it in intermediate steps. One of the elegant aspects about it was that receiving clients (like web browsers) make all decisions and servers can remain simple.
But video streaming over TCP requires time to encode video segments that have a duration of several frames, these must be uploaded for streaming and, as explained by Wang and her co-authors, the receiving client must buffer some frames before playback to make good download decisions. All of this means that live streaming over TCP is hard.
Nevertheless, people are trying, and Apple has last year promoted Low-Latency HLS.
This proposal, which streaming services are more or less forced to implement, is breaking with the tradition of video streaming over TCP: it requires a lot of knowledge on the server side as well as the client side.
This means that a major advantage of TCP streaming over the older UDP streaming (using RTP) has gotten lost; servers need to be aware of all of their clients at all times, just like a server for UDP streaming.
With that advantage getting forgotten, does any benefit of streaming over TCP remain compared to streaming over UDP when the content is streamed live? Or is TCP streaming just providing a more complex, more resource-hungry solution that does still not achieve the level of "liveness" of a UDP streaming solution?
This thesis attempts to answer this question by studying in two forms the delays and overheads that standard TCP and UDP solutions experience:
- theoretically, by comparing the constraints of adaptivity, the robustness to packet loss, and the compatible video encoding formats that allow quality adaptation.
- practically, when they are based on freely available (but not necessarily open source) tools.
The thesis targets desktop computers and mobile phones with video encoding and decoding hardware.