• Stars
    star
    122
  • Rank 292,031 (Top 6 %)
  • Language
    C++
  • License
    MIT License
  • Created over 4 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Windows virtual camera driver using the AVStream minidriver.

VirtualCameraDriver

Windows virtual camera driver using the AVStream minidriver.

This project was a challenge for myself. I wanted to create a virtual camera driver for Windows.

The project has two parts: the Windows driver and the user mode apps which can push frames to the driver.

Driver

The driver is based on the avshws driver example from Microsoft.

The filter implemented in this driver is extended with a custom property which accepts a buffer (1280x720, RGB), this buffer is then copied to the output buffer.

  • GUID of the property set: {CB043957-7B35-456E-9B61-5513930F4D8E}
  • ID of the property: 0

Accessing this property can be done using DirectShow.

Driver installation:

After building the driver (Windows SDK and Windows Driver Kit required) the inf can be installed using hdwwiz.exe (can be launched in CMD).

Test signing might be required to be enabled for driver installation: bcdedit.exe -set TESTSIGNING ON

UserMode apps

These applications can push frames to the driver using the property exposed in the filter. The apps are based on the driver interface library which handles enumerating devices and setting the value of the property. This is written in VC++.

There are two example applications:

  • UserDriverStaticImage: This app can push static images to the driver.
  • UserDriverCanon: This application can push the live view of a Canon EOS camera to the driver, essentially turning it into a webcam. EDSDK not included in this repository!

More Repositories

1

FSSE

Fallout Shelter save editor for Android and Windows.
HTML
74
star
2

Xbox360RFController

A tool used to send commands to an XBox360 controller RF panel using a TTL serial port.
C#
16
star
3

DS218

Hardware reversing of a DS218 NAS
10
star
4

CanonBLEIntervalometer

An ESP32 based intervalometer using the Canon BLE protocol.
C
10
star
5

stm8-cc1101-remote

Hardware reversing and custom firmware for an STM8 and CC1101 based remote.
C
4
star
6

GK7102_RL-IP02_SmartDoorBell

RL-IP02 is a chinese smart doorbell with WiFi and video support. It's based on the GOKE GK7102 SoC.
3
star
7

AspNetCoreWebpack

ASP.NET Core Razor webapp with Webpack, TypeScript, SASS and Knockout.js.
C#
3
star
8

VSMonoSDB

A VisualStudio Mono soft debugger extension.
C#
3
star
9

MusicLightController

Application for a music controlled LED project
C#
3
star
10

WyzeCamV2

Wyze Cam V2 stuff
Shell
3
star
11

AML-test

A random unfinished AML parser.
C#
2
star
12

TaskbarLabeler

A PoC and research project which modifies the Windows 10 taskbar.
C
2
star
13

StrixWirelessHeadsetBatteryMonitor

A BLE battery monitor for Strix Wireless headsets
C
2
star
14

BEPU_OpenTK

BEPU Physics engine integrated into OpenTK.
C#
2
star
15

AVRProgrammer

A tool able to program AVR (ATmega328 / ATtiny45 / ATiny44) microcontrollers using an Arduino/Genuino as a programmer.
C#
2
star
16

TileTools

A simple library which can load and render TMX tilemaps using MonoGame.
C#
1
star
17

MinecraftModelExporter

A simple tool for converting Minecraft worlds into models.
C#
1
star
18

RedirectHTML

Test
1
star
19

NonogramGame

A game made in 5 hours on a programming cup.
C#
1
star
20

NETCoreDIProxy

An example which proxies a service to another.
C#
1
star
21

CudaVoxel

Generating voxel terrains using CUDA.
C++
1
star
22

VDIBootEditor

A simple tool which can read/write the boot sector (only 512 bytes) of a Virtual Box VDI.
C#
1
star
23

CharacterRecognition

Python
1
star
24

YTMP3

A small YouTube MP3 downloader tool.
C#
1
star