85 lines
2 KiB
Markdown
85 lines
2 KiB
Markdown
# Listening to events
|
|
|
|
You can keep reading the global virtual camera events like device add, removal, and default picture changes with:
|
|
|
|
```
|
|
AkVCamManager listen-events
|
|
```
|
|
|
|
To stop listening to events, press Ctrl-C to stop the manager.
|
|
|
|
# Virtual camera clients
|
|
|
|
You can list all programs using the virtual camera with:
|
|
|
|
```
|
|
AkVCamManager clients
|
|
```
|
|
|
|
It will return a list of PIDs and the path of the executable using it.
|
|
|
|
# Examples
|
|
|
|
## Streaming
|
|
|
|
The manager can read the raw video frames stream from the standard input as:
|
|
|
|
```
|
|
frame_producer_program | AkVCamManager stream AkVCamVideoDevice0 INPUT_FORMAT WIDTH HEIGHT
|
|
```
|
|
|
|
## Streaming with FFmpeg
|
|
|
|
You can stream to the virtual camera with:
|
|
|
|
```
|
|
ffmpeg -i video.webm -pix_fmt rgb24 -f rawvideo - | AkVCamManager stream AkVCamVideoDevice0 RGB24 480 360
|
|
```
|
|
|
|
The input format must be one of the supported ones, you can list them with:
|
|
|
|
```
|
|
AkVCamManager supported-formats --input
|
|
```
|
|
|
|
Since the manager will send the frames as fast as FFmpeg decode them, you can regulate the stream passing the **--fps** flag to set the input stream frame rate.
|
|
|
|
```
|
|
ffmpeg -i video.webm -pix_fmt rgb24 -f rawvideo - | AkVCamManager stream --fps 30 AkVCamVideoDevice0 RGB24 480 360
|
|
```
|
|
|
|
## Capturing
|
|
|
|
Any capture program will work just fine, here is an example with ffplay:
|
|
|
|
**Mac**
|
|
|
|
First at all you must list all AVFoundation devices:
|
|
|
|
```
|
|
ffmpeg -f avfoundation -list_devices true -i dummy
|
|
```
|
|
|
|
Then, once you in which DEVICE_INDEX is located your virtual camera, you can ply it with:
|
|
|
|
```
|
|
ffplay -f avfoundation -i DEVICE_INDEX -framerate 30
|
|
```
|
|
|
|
If you have any question, read the [FFmpeg's wiki](https://trac.ffmpeg.org/wiki/Capture/Webcam#AVFoundation).
|
|
|
|
**Windows**
|
|
|
|
First at all you must list all DirectShow devices:
|
|
|
|
```
|
|
ffmpeg -f dshow -list_devices true -i dummy
|
|
```
|
|
|
|
Then, play the virtual camera by it's name:
|
|
|
|
```
|
|
ffplay -f dshow -i video="Virtual Camera"
|
|
```
|
|
|
|
If you have any question, read the [FFmpeg's wiki](https://trac.ffmpeg.org/wiki/DirectShow).
|