Monday 25 February 2019

Streaming Protocols and Latency



A streaming protocol is a standardized method for delivering media content over the internet. It defines the method for sending “chunks” of content from one device to another, and how they are reassembled for playback at the receiver (Wilbert, 2018).

It is important to note that there is a difference between a streaming protocol and a transport format. A transport format is a container or package format that contains the compressed video and audio used for video transmission. E.g. MP4 or MPEG-TS (Wilbert, 2018).

In this post, the various protocol used for live and on-demand streaming will be discussed, including their advantage & disadvantages.

In the early days of streaming media, Adobe Flash technology was the main method for delivering media contents online. However, with the growing popularity and adaption of streaming media the Adobe flash technology has since been replaced by HTTP streaming protocols which can easily be played back on a web browser with a simple JavaScript and across a growing number of devices and platform (Wilbert, 2018).

Real Time Messaging Protocol (RTMP) was initially developed by Macromedia, for streaming on-demand and live media to Adobe Flash applications. It is a TCP-based protocol which maintains persistent connections and is defined as a “stateful” protocol. This means that from the first time a client connects until the time it disconnects, the streaming server keeps track of the client’s actions.

Advantages of RTMP over HTTP:

  • Ability to provide multicast support
  • Security and IP protection, using TLS/SSL or RTMPE
  • Seeking: particularly advantageous for long-duration content because the viewer doesn’t have to wait for the video file to load before jumping ahead, as is the case for HTTP-delivered video
  • Reconnect: if there is a network disruption, the client can re-establish a connection, while the video continues to play from the buffer; when the client re-connects, the buffer will begin filling to avoid any disruption in video or audio flow

Advantages of HTTP over RTMP:

  • Less likely to be blocked by firewalls at different levels in the network; RTMP uses default port 1935, which can be blocked sometimes, especially within corporate firewalls
  • Supported by more CDNs (it supports easier mirroring and edge caching)
  • More expertise in customizing HTTP

In the next post the two pre-dominant HTTP streaming standards in use, today will be discussed in details.

Latency

Latency, also known as video lag is the delay between the capture of a video frame and the playback display see Figure 1.

Figure 1 - Latency (THEO, 2019)

It is measured in time, calculated from the moment a live event is captured to the point it gets to the viewer’s screen. The Latency classification would depend solely on the length of the total time. High Latency would mean longer delays whilst Low Latency refers to a connection with the least delays see Figure 2.

Latency according to different protocols (THEO, 2019)
RTMP can stream live content with relatively low latency. For these reasons, it is often used as an intermediate protocol for uplinking media streams from an encoder to a streaming server prior to delivery in other formats such as HLS and MPEG-DASH.


References

Austerberry, D. and Dennis McGonagle. (2005). The Technology of Video & Audio Streaming ; Second Edition. Focal Press.

Follansbee, J. (2004). Get streaming!. Amsterdam: Elsevier.

Künkel, T. (2003). Streaming media. Chichester, West Sussex, England: Wiley.

Miller, K. (2009). Adobe Flash Media Live Encoder. [online] En.wikipedia.org. Available at: https://en.wikipedia.org/wiki/Adobe_Flash_Media_Live_Encoder [Accessed 18 May 2019].

Ozer, J. (2009). Streaming 101: The Basics – Codecs, Bandwidth, Data Rate and Resolution. [online] Streaming Learning Center. Available at: https://streaminglearningcenter.com/articles/streaming-101-the-basics-codecs-bandwidth-data-rate-and-resolution.html [Accessed 21 May 2019].

Ozer, J. (2011). Video compression for Flash, Apple devices and HTML5. Galax, Va.: Doceo Publishing.

Ozer, J. (2011). What Is Streaming (2011 Version). [online] Streaming Media Magazine. Available at: https://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=129930 [Accessed 21 May 2019].

Ruether, T. (2019). The Complete Guide to Live Streaming | Wowza Media Systems. [online] Wowza Product Resources Center. Available at: https://www.wowza.com/blog/complete-guide-to-live-streaming [Accessed 16 May 2019].

THEO (2019). Latency according to the different protocols. [image] Available at: https://www.theoplayer.com/hubfs/Blog/Low%20latency%20scheme%20.png [Accessed 21 May 2019].

Wilbert, M. (2018). Here's What You Need to Know About Streaming Protocols. [online] Dacast. Available at: https://www.dacast.com/blog/streaming-protocols/ [Accessed 21 May 2019].

Wilbert, M. (2018). When Should You Use HLS Streaming?. [online] Dacast. Available at: https://www.dacast.com/blog/hls-streaming-protocol/ [Accessed 21 May 2019].


Post a Comment

Whatsapp Button works on Mobile Device only

Start typing and press Enter to search