Skip to content

Instantly share code, notes, and snippets.

@cupuyc
Last active November 1, 2020 12:35
Show Gist options
  • Save cupuyc/e72824311550fc02db55957d82d14ceb to your computer and use it in GitHub Desktop.
Save cupuyc/e72824311550fc02db55957d82d14ceb to your computer and use it in GitHub Desktop.
Video Protocols
Protocol Description
RTMP This is the first protocol that should be mentioned, because it is an old protocol that did a great job in the time the Adobe Flash shined in pair with Adobe Media Server. Nowadays, many live broadcast applications still utilize it to ingest video data from broadcaster app/device to media servers. Unfortunately browsers can’t play it natively.
WebRTC Web Real-Time Communications comes to allow modern browsers to support video chats. It combines many other protocols under the hood. The business value of it is unquestionable. It provides low-latency and automatic quality adjustments depending on network conditions.
HLS HTTP Live Streaming allows desktop and mobile browsers to natively play video content. Used as protocol for live steam in YouTube, Twitch.
MPEG-DASH Similar to HLS used for live stream events, and envisioned as the successor of it. However this is a downside that some mobile browsers can’t play it natively.
CMAF The youngest technology on the live streaming market. Was invented to reduce live video delay between broadcaster and end users.
RTSP Real Time Streaming Protocol is most similar to RTMP, hence mostly not visible to end users. IP cameras often have support for it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment