Video meeting
Overview
- Technologies
- Windows drivers, Chromium embedded, ReactNative, C++, TypeScript
- Deliverables
-
- Create a Windows Camera Driver
- Embed a browser engine to create video content
- Create a user interface
Summary
Video meetings have become a standard part of our workday. Most meeting applications provide additional tools to present data during meetings. However, they are specific to the application and cannot be modified. This client develops technology that allows data to be presented directly inside the video stream, which can be used in any application that supports cameras. Etosis developed the Windows drivers and applications to implement this technology.
The challenges
The client developed a virtual camera that can overlay real-time information to enhance the video conferencing experience. Windows supports several different frameworks that can create virtual cameras. However, these generally require applications to support this explicitly.
To have a virtual camera act like a real camera in every application, one must create a camera driver. Driver development is notoriously tricky and any error can lead to a complete system crash. These errors are also very difficult to debug, as they may occur only in very specific circumstances. Furthermore, given the fact that the client is a startup, they want to efficiently modify camera behaviours as their business develops.
Challenge Overview
- Windows driver development is tricky, often leading to “blue screens of death”.
- Debugging drivers is extremely difficult.
- Client is a startup and needs to be agile.
The solution
Etosis developed a reliable driver that only knows how to do one thing: display images that are created by a user-mode process.
As the driver itself does almost no work, it’s a lot easier to ensure that it does not cause errors. Etosis created a user-mode process which dealt with the more complex work and that could be easily restarted should an error occur. This simple process made it much easier to add logging, configuration and other tooling.
Etosis built an embedded browser to create the overlays. This allowed the overlays to be developed in standard HTML on a normal web browser. To update the overlays, the client only needed to update the code on their web server.
Solution Overview
- Developed a minimal driver, which only forwards images.
- Created a user-mode process which is easier to debug and support.
- Built an embedded web browser to deal with the creation of overlays.
Do you have a complex software problem? We’re curious. Get in touch!
We like solving the most difficult issues, so if you think you’ve got a real headache of a software problem we want to hear from you!
Some of our favourite problems solved so far
We have kept our clients anonymous as much of the work we do is subject to NDA’s. Your work will be treated with the same discretion.
Let's hear it from some of our clients:
Do you have a complex software problem? We’re curious. Get in touch!
We like solving the most difficult issues, so if you think you’ve got a real headache of a software problem we want to hear from you!