WebRTC in a native desktop Windows application

Andrey Okunev
The Official Medialooks Blog
2 min readFeb 3, 2016

WebRTC has a number of awesome features—such as ultra-low latency, adaptive bitrate, instant peer connectivity and encryption. It is supported by virtually all browsers, both on desktop and mobile.

With our video SDK, WebRTC can be easily used to remotely control native Windows applications—which is exactly what Broadcast Pix and Indico Systems implemented in their products.

Why would anyone need WebRTC in a desktop app?

Well, there’s already plenty of options for those who want to develop with WebRTC for both web and mobile. In addition to multiple free options, a number of companies have developed their business on top of a framework that somehow makes use of WebRTC: TokBox and Voximplant to name a few.

However, there are still some use cases that require a proper PC running Windows and professional I/O hardware. A great example is Skype TX. The product allows to receive and manage video interviews over Skype, but in order to be integrated with live production, the chat video has to come out of an SDI connector. And this is where desktop software comes into play.

Medialooks provides an easy way to add WebRTC support via our software development kits for native Windows applications written in C++, C#, VB.NET or Delphi.

First, let’s see what options WebRTC provides from a purely technical perspective:

  • Stream video from a native desktop application to a remote browser with the ability to control any of the app’s features (in addition to basic play, pause) with simple text messages. Any type of data can be sent: video files or live streams (a web camera or any of the supported professional devices).
  • Receive video/audio data from a browser located in a remote location into a native application.
  • Transmit WebRTC streams and messages between native applications.

Depending on the application, WebRTC can be considered a direct replacement for traditional streaming protocols like RTMP, RTSP, UDP or MPEG-DASH. Here’s a few ideas that we’ve been thinking about:

  • Preview with remote control. Quickly build a web-based control panel for your Windows application with instant video preview and application controls.
  • Transferring video between remote locations. Some companies need a way to stream high-quality video and audio between remote locations. We are working on bringing the quality up to 4K.
  • Cross-platform playback. Decode video files on a Windows machine or in the cloud and view it in a WebRTC-powered browser on any supported device.
  • WebRTC gateway. Convert any of the supported network streams (RTSP, RTMP, HTTP, UDP, RTSP, MPEG-DASH) to WebRTC. This allows, for instance, for a stream from an IP camera to be viewed in a browser.
  • Live interviews with remote participants. With WebRTC it is possible to create solutions similar to Skype TX, but with far better quality than Skype can provide.

WebRTC is also gaining traction in video conferencing and telemedicine.

See also

--

--