GET IN TOUCH

A Virtual Camera Driver for Using One Webcam in Multiple Applications Simultaneously

Windows driver development
System software development
Kernel and driver development
Telecom

About

To make a video call most of us will use a front camera on our laptop or tablet and a video chatting app like Skype. But what if you need to make an online business presentation, conduct a video conference, or use a smart intercom to communicate with people using different software? The webcam on Windows devices can be used for such scenarios if it is combined with the right software.

Request

A US company headquartered in New York that creates smart intercoms needed a solution similar to ManyCam to allow people to use their webcams on various applications whilst simultaneously live streaming or using video chat. In fact, the customer already had an out-of-the-box solution based on DirectShow filters provided by Microsoft. It allowed for streaming and performing other operations with the users` videos, however, it produced a high load on the CPU. Thus, our task was to build a custom driver for the virtual camera that could run on a low-performance CPU.

Solution

Our team at Integra Sources developed a reliable high-performance Windows driver for a virtual camera that allows for streaming data from the webcam to various client applications. The main requirements for the driver’s functionality included:

  • At least 10 apps must use the camera simultaneously
  • The CPU load must not exceed 50% with up to 10 channels connected simultaneously
  • The virtual camera driver must be compatible with Windows OS 7, 8, 10

Technologies Used

The driver is written in C/C++.
We used Microsoft Visual Studio and Windows Driver Kit (WDK) to implement the driver.

Result

We wrote a high-performance virtual camera driver that doesn't overload the CPU and is compatible with three versions of Windows OS. All you need to do to enable broadcast to multiple channels simultaneously is install a driver, configure settings, and then you can add up to 10 video sources to your live stream.

The client was happy with the work done so they returned to our team to develop additional features for the driver. We upgraded the driver interface, added a custom splash screen and support for streams with different resolutions. In the first version of the driver, the resolution was the same for all clients.

Make some noise

Support for Windows OS

7, 8, 10

CPU load

< 50%

Channels connected simultaneously

10

Make some noise

Scope of work

Implemented driver compatible with Windows 7, 8, 10

Added simultaneous support for multiple resolutions

Reduced the CPU load

Make some noise

You might also like...

Custom IP Camera for Monitoring Pets Remotely

The Wi-Fi camera allows pet owners to see what their pets are doing at any moment in time. We provided PCB design and developed a custom embedded Linux distro for the camera

LEARN MORE

A Control Panel for IoT-Based Smart Home Automation System

The project consisted of hardware development for three PCBs, custom Linux image development, and driver development for different modules of the smart home system

LEARN MORE

We use cookies to improve your experience on our website. Our Cookies Policy explains what cookies are, how we use cookies and how third-parties we may partner with may use cookies. Please find more information here.