Are you looking to start a Video Streaming application? Click here to get a free consultation
Video streaming has been a popular technology in recent period, with the outbreak of coronavirus pandemic, more and more businesses start to seek live streaming solutions to assist their employees working remotely. While more people prefer to use off-the-shelf solutions such as Zoom, many choose to create their own streaming app. In this blog, we will compare some of the most pro’s and con’s of WebRTC and RTMP to assist people choose the right technology for building video streaming applications.
WebRTC is an emerging technology that begins to acquire popularity in recent years. Unlike RTMP, WebRTC is more than a protocol. The technology covers transmission protocols, as well as the Application Programming Interfaces (APIs) that are used for Real-Time Communication (RTC) between web browsers and mobile applications. Since WebRTC is a W3C standard, it is widely supported by modern browsers, and allows audio and video data to be transmitted directly among web pages.
- WebRTC is an Open Source Protocol, easy to set up. It does not support third-party plugins or software.
- It’s a latest and high-tech protocol that is slowly gaining popularity
- Has been executed in the main browsers in the past 2–3 years
- New Codes are supported by WebRTC like VP8, VP9 ,h.264
- UDP based, low latency; Also executes a low-latency messaging system based on Websockets; We can actually call it real-time or ultra-low latency.
- Every browser follows its own API which unfortunately do not follow the W3C standards
- Browsers still make modify and correct their APIs which sometimes cause functionality issues and urgent changes
- It has build in bandwidth estimation and it support ABR
- Maximum supported resolution: 720p, 30 frames per second with a bit rate of up to 2 Mbps
RTMP (Real-Time Messaging Protocol)
RTMP was initially used to transmit audio and video data between Flash player client and the streaming server that hosts the media file. With more than 20 years in age, this technology has been widely adopted and used by lots of popular softwares (e.g. OBS) and websites (such as YouTube). There are a few variants of the original RTMP, this include the more secure standards RTMPS/RTMPE that use encryption, and the RTMPT/RTMFP standards that uses HTTP or UDP network protocol.
- RTMP requires third-party software or hardware encoders
- It’s a old protocol expanded by Macromedia, obtained by Adobe and was mostly used in Flash applications
- Has been around for over 2 decades
- Is present a mainstream protocol used by main blue-chip companies, like Facebook, Youtube, Amazon
- Has various tools, implementations and ecosystem built around it
- Has various flavours, like RTMPS (encrypted) and RTMPT (HTTP tunnelling)
- Some advance codecs are not supported by RTMP like H.265
- Has a latency of at least 0.2s or more, depending on quality settings, cache etc.
- Is frequently related with Flash which doesn’t have a good reputation, even though they have nothing in common and are two separate things
- RTMP protocol is the chance of interruptions due to low bandwidth and It does not support ABR
- Fixed Resolution and frame rate
Both the technologies are driving the industry forward, each has its pros and cons. Neither option is ideal for everything, but one of the two can be the ideal solution for you. Ultimately, the best protocol will depend on the need of your project, the devices you plan to distribute, and the size of your audience.
To know more, contact our developer team