NEWDolby Interactivity APIs are now the Dolby.io Communications APIs Learn More >
X

Desktop SDK

🚀

Pre-release

New functionalities mentioned in this document are a part of the Pre-release program. The program offers pre-GA Client SDKs that allow customers to evaluate upcoming features before their General Availability. For more information regarding the program, see the Pilot and Pre-release Programs document.

Dolby.io Communications SDK for Desktop is a new platform that allows creating native desktop applications for video conferencing using only JavaScript. Combined with the Dolby.io Communications SDK for Web, this modified Electron open-source framework allows you to create native desktop applications from a web application. The Desktop SDK also supports the Dolby Voice Client codec to provide high audio quality and introduces video filters that allow you to blur the participants' backgrounds, or replace the participants' backgrounds with selected images.

Note: The Desktop SDK is built using the Electron framework. Electron includes other libraries, notably FFMpeg. The libraries included are provided solely as a convenience and are licensed separately from the Desktop SDK and acceptance of the Dolby license does not cover these third-party libraries. See the “Native_Desktop_SDK_Third_Party_Software.html” file in the SDK for the licenses covering these libraries.

The Desktop SDK is compatible with the following operating systems:

  • Microsoft Windows 10, 64 bit
  • Apple macOS 10.15 and 11, 64 bit

Note: The Desktop SDK 1.0.0 will function on Macs with the Apple M1 chip using x86 emulation.

Benefits of the Desktop SDK

Easy development

The Desktop SDK allows building desktop applications using HTML, CSS, and any JavaScript framework, which makes creating a desktop application convenient and available to JavaScript developers. The application also constantly reloads, which means that it does not need a restart after making code changes. Additionally, creating a desktop application with the Desktop SDK does not require any external debugging tools because the chromium engine detects errors, which you can access through the Chrome debugging tools.

Access to the file system

Unlike a web application that opens in a browser window, a desktop application has access to a computer's file system. While traditional web applications can only download files, desktop applications can read and write data by accessing the file system. The desktop application can make use of all native APIs available in the operating system. The web application, however, cannot access APIs offered by the operating system unless the browser vendor supports these APIs and makes them available to web applications.

Dolby Voice Client support

The Desktop SDK supports the Dolby Voice Client, which is a software development kit designed for virtual conferences to improve voice quality and clarity. The Dolby Voice Client adjusts the participants' volumes, reduces background sounds and echoes, and offers spatial sound, which plays participants' audio from specific directions.

The voice leveling feature solves a common problem with uneven volume levels of participants. To ensure that participants' volumes are at a similar level, the Dolby Voice Client analyzes the participants' devices and adjusts their volumes.

To improve voice clarity, the Dolby Voice Client reduces all unnecessary noises, such as background sounds, echoes, and keyboard typing noises. This feature improves the quality of virtual meetings and makes them more productive.

The Desktop SDK supports the Dolby Voice Client codec to offer a single mono Dolby Voice stream for uplink transmission and a single multi-channel Dolby Voice stream for downlink transmission.

Video filters

The Desktop SDK provides a video filters feature that allows hiding the local participant's background in two ways; the participant can either use the bokeh effect to blur the background or change the background to a selected image. These two options allow the conference participants to join a conference from anywhere with the background of their choice. Although not necessary, video filters offer the best results when a physical green screen is placed behind the participant; this helps the SDK to detect the difference between the participant and the background.

The video filters feature is available only on the Desktop SDK platform and can be enabled before joining a conference or during a conference. JoinOptions include the new videoFilter and videoFilterOptions properties that allow participants to select the virtual background effect before a conference and join the conference with a modified background. Changing the background during a conference is supported by the new VideoFiltersService. The service offers two methods: getSupportedFilters checks video filters that are available for the local participant and setFilter allows adding or changing the video filters during a conference. Participants can also change the stream parameter to a local video track to see the filters locally, without changing the video track that is sent to a conference.

Offline mode

The Desktop SDK allows creating desktop applications that are accessible even without an internet connection. This means that you can open the application and use the application while being offline. However, connecting to a conference requires an internet connection.

Building a basic application

See the Getting Started guide to check how to build a basic desktop application the Desktop SDK.

Troubleshooting application problems

To troubleshoot your application problems, create a launcher script and open your application in debugging mode. Detailed instructions are available in the Troubleshooting guide.


Did this page help you?