WebRTC Camera Streaming: How Hard Can It Be?
BLOG
The build versus buy argument for adding new software to the stack has been around since the beginning of commercial platform offerings and the debate continues to rage today. Should you build your own WebRTC camera streaming platform or license a commercial offering like Mersoft? Depending on who you speak to, you will have a variety of opinions ranging from “How hard can it be? Let’s build it” to “We should focus on our core product and leave the platform to a vendor”.
In today’s commercial and smart home security products users demand extremely low-latency video. Not just on one device, but across many including mobile, desktop web, and Smart TV. Therefore, a robust and secure live video streaming platform is crucial to success in the market. Companies looking to deploy these products continue to debate over the build vs buy of their underlying video streaming platform. At Mersoft, we’ve helped dozens of video security companies realize that often the choice to “buy” is a much more viable option than “build”.
We’ve distilled the essence of these conversations down into four core questions video security companies should ask themselves when they work through their decision to build or buy.
1. Do You Know Exactly What You Need to Build?
The term “exactly” is important here as our goal with this question is to ensure the customer understands the fundamental technical components required in a video streaming platform. This information will ultimately inform on the cost of resources and time required to build them all. We walk through the answer to this by defining the following core areas.
Select a Streaming Technology
There are many choices out there for streaming from RTSP (real time streaming protocol) to Adobe Flash(C), HLS (HTTP Live Streaming) and more. Teams often choose what they know best. Recently, Mersoft published a white paper on the choices and recommends WebRTC as the best option. However, that technology has its own set of challenges. When it was released as an open-source project by Google, they provided a set of demo applications that left many developers with the impression it was simple. It’s not. Here are just a few things to keep in mind:
Signaling Server
By default WebRTC does not provide the signaling technology required to properly set-up, maintain, and terminate live video connections between the source and client application. To do so in an elegant and robust way, the signaling server will need to be developed with strong support for multiple web protocols (HTTP, WebRTC, RCS), capabilities around secure session management, real-time notifications, video/voice/SMS control, security, service history, and more. The server must be scalable to large volumes of concurrent sessions. Additionally, it must select and switch to the best network connection in real time.
Video Streaming
Converting RTSP streams to WebRTC in a highly efficient manner is critical to minimizing latency and providing a great experience for end-users. Unfortunately the common open-source transcoding technology available today just doesn’t fit the bill. This forces teams building in-house to develop additional hacks to minimize latency from the transcoding process. The common result is a streaming experience that is slow to start, laggy, jittery and consumes significant compute resources.
Client Applications
From the end-user perspective, latency and user experience are the core criteria they’ll use to rate your product. In-house engineering teams will be tasked to deliver highly compelling user experiences across a range of devices and applications. Thus, it will require them to staff device-specific development expertise and support various code bases. All this will have to be considered along with worrying about providing a consistent user experience across applications.
2. Do You Have the Right Engineering Resources?
Based on the technical components above, does the engineering team have the right skills and experience? This is a fundamental question that is often overlooked by teams who may be set on building in-house and assume their team can handle anything. What we typically find are teams with brilliant people in their specific domains but lacking the overall breadth of experience in video streaming to deliver extremely high quality software in each area. Outsourcing or adding new headcount is an option but adds cost and risk to the project with participation of new and potentially unvetted resources.
3. Can you Afford On-going Support and Maintenance?
Once you build your own video streaming platform your team will need to support and maintain it. This involves securing and scaling your own infrastructure, applying software patches, and constant tuning by DevOps practitioners. Furthermore, these all potentially require new Opex for the organization to support. We see the yearly cost of this easily running into the $300K+ range for basic platforms.
4. Are You Focusing Your Talent on Product Innovation and Differentiation?
If engineers are building the platform they’re typically not focusing on creating best-in-class products. We see the pace of innovation slow drastically as teams switch focus away from core product development to platform development. Launch dates slip, product quality dips, and as a result, differentiation in the market can suffer. Focusing engineers around your core competency of product development can ensure you stay competitive. Staying competitive means having an elegant, intuitive app experience and value-added integrations with other smart home and security devices. Even more, it requires an integration with powerful analytics as well as other capabilities that make a company stand out from the competition.
Say “Yes” to Buy, “No” to Build For WebRTC Camera Streaming
Mersoft provides you with answers and solutions to all of the “build versus buy” questions above. From streaming and signalling functionality to robust SDKs for rapid application enablement across multiple client-types (web, mobile, STB) we’ve spent over 4 years and $8M+ developing the components of our best-in-class platform for your success. Above all, our highly experienced Professional Services Team is available to engage across the entire product development lifecycle, providing guidance and support to make your project successful. Let us handle the platform so your team can focus on what they do best – building great products.
For more information on how Mersoft can make your video streaming solution successful, talk with our team now.