diff --git a/Configure-the-cameras.md b/Configure-the-cameras.md index 3f28dd0..7b6f9ac 100644 --- a/Configure-the-cameras.md +++ b/Configure-the-cameras.md @@ -1,11 +1,135 @@ -**In-progress** - Please read [Build and install](https://github.com/webcamoid/akvirtualcamera/wiki/Build-and-install) page before going further. -## Defining the devices ## +## Quick rundown -## Defining the formats ## +The first step to create a virtual camera is defining a virtual device: -## Updating the devices ## +``` +AkVCamManager add-device "Virtual Camera" +``` -## No signal picture ## +The command will return a message like: + +``` +Device created as AkVCamVideoDevice0 +``` + +Keep track of **AkVCamVideoDevice0**, that will be the identifier of the virtual device and you will need it for the following operations. The created device is a blank device without any defined capture formats, that meaning it won't work as-is. +Now, you must define a at least one capture format for that device, as: + +``` +AkVCamManager add-format AkVCamVideoDevice0 FORMAT WIDTH HEIGHT FRAME_RATE +``` + +For example: + +``` +AkVCamManager add-format AkVCamVideoDevice0 YUY2 640 480 30 +``` + +You can list all capture formats with: + +``` +AkVCamManager supported-formats --output +``` + +The frame rate can be expressed either as an integer or a fraction, for example 15/2. +Once you finished defining your devices, you must obligatorily apply the changes to the system with. + +``` +AkVCamManager update +``` + +**Note**: You must run an update every time you modify any parameter of the virtual camera. Also **NEVER** modify the virtual camera parameters when a client is running it. + +## Managing the devices + +List all devices: + +``` +AkVCamManager devices +``` + +You can remove a device with: + +``` +AkVCamManager remove-device AkVCamVideoDevice0 +``` + +Or you can remove all devices: + +``` +AkVCamManager remove-devices +``` + +You can change the device description with: + +``` +AkVCamManager set-description AkVCamVideoDevice0 "My Virtual Camera" +``` + +Or get the device description with: + +``` +AkVCamManager description AkVCamVideoDevice0 +``` + +## Managing the formats + +List all formats: + +``` +AkVCamManager formats AkVCamVideoDevice0 +``` + +Add a new format at a given index: + +``` +AkVCamManager add-format --index 5 AkVCamVideoDevice0 YUY2 640 480 30 +``` + +Remove a device format at INDEX with: + +``` +AkVCamManager remove-format AkVCamVideoDevice0 INDEX +``` + +Remove all device formats: + +``` +AkVCamManager remove-formats AkVCamVideoDevice0 +``` + +You can get the default recommended output format with: + +``` +AkVCamManager default-format --output +``` + +## No signal picture + +When a client program try to play the virtual camera but it isn't receiving any frame, it will show a random dot pattern, you can change it to show a custom picture instead with: + +``` +AkVCamManager set-picture /path/to/place_holder_picture.png +``` + +And you can get place holder picture path again with: + +``` +AkVCamManager picture +``` + +You must give a full path to a picture file, the supported formats for the picture are: + +* BMP (24 bpp and 32 bpp). +* JPG +* PNG + +## Loading configurations from a file + +**In-progress** + +``` +AkVCamManager load settings.ini +```