WebRTC (Real Time Communications) is an open source IETF/W3C standard that adds a full-blown media engine (audio and video codecs, jitter buffers, echo cancellation, synchronized streaming, data channel) to Web browsers so that they can do cool stuff like video calling, VoIP, screen sharing, file sharing, and audio streaming without any need for plugins, extensions, or app downloads. Google and Mozilla are at the forefront of this initiative and Chrome and Firefox browsers have WebRTC built-in. Microsoft recently announced support coming for IE and Skype in the form of a WebRTC API called ORTC.
Although WebRTC was initially conceived as a browser-browser play, it’s now spreading to mobile apps such as Vonage, Amazon Mayday and Snapchat via it’s acquisition of AddLive. Disruptive Analysis forecasts that there will be over 6 billion WebRTC-enabled devices and over 2 billion WebRTC active users by 2019. In short, WebRTC is a big deal and is quickly ramping to become a ubiquitous mainstream platform for RTC on not only the Web but also mobile and now smart home and Internet of Things devices.
That’s the back story. But how is WebRTC relevant to the smart home and WiFi security camera space?
- The WebRTC architecture lends itself very well to secure streaming. All media is encrypted end-end .
- WebRTC architecture is native P2P meaning all media is transported P2P (there are exceptions such as when transcoding or TURN servers or other server-based functionality such as mixing are required) and therefore is not subject to surveillance or interception by a server.
- It’s low-cost, making it ideal for consumer smart home cameras. The video codecs (VP8, VP9, and OpenH264) are royalty free meaning the barriers to entry for developing a WebRTC-powered video camera and app are drastically lower than with standard H.264 or other royalty based codecs.
- Both the content (audio and video streaming) AND camera remote control are supported by the WebRTC architecture. Camera pysical remote control such as panning, tilting, and zooming can be controlled via the dedicated WebRTC data channel.
- WebRTC architecture inherently supports NAT and firewall traversal via ICE, STUN, and TURN. This means that port forwarding is not required, meaning a consumer does not have to open up their home network to the public Internet in order to use a WiFi security camera, which makes a WebRTC solution more secure than cameras that require port forwarding.
- Purpose-built low latency via VP8 video codec and NetEQ for voice.
- No app required! Access and control your cameras from any Web browser (Safari excepted for the time being pending Apple support).
There are currently two WebRTC smart home WiFi security cameras out there:
- Camiocam – clever solution that turns any PC or laptop webcam, or camera on an Android device, into a smart home WiFi security camera with some pretty advanced searching and filtering capabilities (e.g. “show me anything with the color blue that moved on Monday between 2PM and 4PM).
- Amaryllo iSensor HD – this camera has remote pan/tilt control by swiping across the screen of the app
In addition to the home security market, we’re also seeing WebRTC based solutions in the commercial CCTV space. The Flashphoner WebRTC Media and Broadcasting Server can broadcast streams from any IP security camera using RTSP to multiple browsers or mobile devices, ideal for security teams where multiple people need access to multiple cameras.
As we can see, WebRTC is spreading quickly from browsers to mobile and now to smart home and IP appliances such as security cameras. Expect to see it show up in a lot more places including the Internet of Things. For info on the latest WebRTC news I’d recommend starting with this blog.