Why Live streaming?
Before diving into the tecky parts, it’s important to understand why streaming protocols are so important and why we need them. Zero Gravity Marketing wrote a blog piece that includes some interesting statistics regarding live streaming. So, according to them:
For more details, feel free to check this article Live Streaming Stats
- 80% of people would prefer watching a live stream compared to reading a blog post.
- Your average viewer watches a live stream twice as long when we are comparing to the time watching a pre-recorded standard video
- 82% of people would opt to watch a live stream from a brand/broadcaster they follow than reading a social media post (See a potential here?)
Are you interested in a Webinar on this topic? We’re starting Webinars!
Write us on firstname.lastname@example.org and we’ll organize a thorough Webinar on it.
Also, according to Cisco, 2021 predictions are that 82% of all internet traffic is video. Live streaming gains more and more from that percentage each year. Why? Because it’s fresh, personal and satisfies our social needs more than videos.
What is the Streaming Protocol?
Streaming is the technology that allows the delivery of content to various devices over the internet. The protocol is a set of rules that govern the way data travels from one communication system to another, for example, from your PC to someone else's mobile device.
Simply put, the streaming protocol is a standardized method for delivering multimedia data over the internet. Multimedia data refers to audio and/or video information that is transmitted over the internet. This is how you can have a video call from anywhere as long as you have access to the internet.
A streaming protocol can be also defined in a more simple manner, as "a specific method of sending Chunks of content from one device to another."
Streaming Protocol VS Codec
In order to better understand streaming protocols, we need to take a look over the codecs. Let’s start from the basics:
- Codec = compressor / decompressor
- A video = usually 30 frames / second - Lossless JPEG - around 3Mb / frame -> 1 second of video = 180MB -> 10GB / minute of video !!!!
But have you ever seen a video that has 10GB/min? Well, NO, hopefully. This is due to the codec.
- a codec uses mathematical algorithms to intelligently discard data that is not really important - example - while live streaming, I may be moving (data about me changes) but the background does not -> the coder updates information about me not my background.
- these are independent of the way the data is being sent between devices = streaming protocol
What are the Transport formats?
- = a container that encapsulates all needed information, such as compressed video, compressed audio, subtitles - mp4, mpeg-ts
- it defines how the data is arranged in each chunk of data sent
Congrats, you’ve learned all the basics!
Now, let’s check the Timelines in a nutshell
PAST - What were the Streaming Protocols?
Real-Time Messaging Protocol = RTMP:
- developed by Macromedia = Adobe now and released in 2002 (AMS Server)
- TCP based - benefits: low latency
- Requires Flash
- developed to be the means of communication between a flash player and a server (Adobe Media Server)
- multiple communication channels
- Video codec: FLV1 and Audio codecs: MP3 AAC
Real-Time Streaming Protocol = RTSP:
- the main purpose was to send real-time commands from users - such as play or rewind
- could be used for streaming video and audio as well
- compatibility - iDevices don’t support it
- CDN doesn’t support it
- might encounter firewall issues - port 1935 used, not 80
Microsoft Smooth Streaming:
- Microsoft developed it in 2008
- Video codecs: H.264, VC-1, Audio codecs: AAC, WMA
- Playback support: xBox, Windows Phone, SmartTV’s
PRESENT - What are we using now as Streaming Protocols?
Apple Http Live Streaming = HLS:
- Most widely used
- Adaptive bitrate and uses HTTP servers
- Video codecs: H.264, H.265 / HEVC (added to the HLS protocol in spring 2017) Audio codecs: AAC, MP3
- Transport/package format: MPEG-2 TS
- Inherently built-in latency ±20 seconds
HTTP Dynamic Flash Streaming:
- Adaptive bitrate RTMP - response to HLS
- Lowest latency in the industry
- Preferred over HLS - when unavailable, HLS should be pushed
- Video codecs: VP6, H.264 Audio codecs: MP3 AAC
- Requires Flash
MPEG - DASH = 3GPP:
- One of the latest protocols
- Uses standard HTTP servers
- Adaptive bitrate
- Open standard
- Video codecs: H.264, H.265 / HEVC (the next-generation successor), WebM, VP9/10 Audio codecs: AAC, MP3 - although it’s codec agnostic
- TS: MP4 fragments, MPEG-2 TS
- Not natively supported via HTML5
FUTURE - What is coming ahead as Streaming Protocols
Regarding the future of streaming protocols, nowadays everyone is raving about WebRTC. This is the new kid on the block. It's new, fresh, different and attracts more and more industries.
WebRTC Is actually one of the newest streaming protocols on the market and it brings a lot of potentials.
It’s still very new, but it has generated a lot of trust in the community. The giants are already using it: Google, Facebook, Skype.
- Supports adaptive bitrate
- Supported by all browsers - by the international standard - and also other platforms - via VoIP removing the need for Softphones
- Video codecs: VP8, VP9/10, H.264, H.265
- Audio codecs: Opus, G.711 PCM, iLBC(internet low bitrate codec), iSAC(internet speech audio codec)
- Not controlled by any company (both advantage and disadvantage) - bought by Google and open-sourced
- HTML5 supported - with existing APIs
- When peer to peer there - a major vulnerability which is resolved by latest updates - true IP exposure
- Not the case when using intermediate transcoding components, like media servers - also uBlock
Curios regarding 2019 Video Streaming Latency Report? Check Wowza’s Report
What should you take into consideration when searching for a Live Streaming Protocol:
- Quality of experience (adaptive bitrate enabled, etc.)
- Use (first-mile contribution vs. last-mile delivery)
- Playback support
- Proprietary vs. open source
- Codec requirements
Want more details on that? Contact us on email@example.com and request a meeting with our tech specialists!