mirror of
https://github.com/l1npengtul/nokhwa.git
synced 2026-07-04 02:27:26 +00:00
add gstreamer backend, update docs, add new threaded camera bare bones, add network camera, update camera and camera traits, add new macros for future update conveince, add extensive example app
This commit is contained in:
@@ -34,14 +34,38 @@ loop {
|
||||
```
|
||||
They can be found in the `examples` folder.
|
||||
|
||||
## API Support
|
||||
The table below lists current Nokhwa API support.
|
||||
- The `Backend` column signifies the backend.
|
||||
- The `Input` column signifies reading frames from the camera
|
||||
- The `Query` column signifies system device list support
|
||||
- The `Query-Device` column signifies reading device capabilities
|
||||
- The `OS` column signifies what OS this is availible on.
|
||||
|
||||
| Backend | Input | Query | Query-Device | OS |
|
||||
|--------------------------------|--------------------|--------------------|--------------------|---------------------|
|
||||
| Video4Linux(`input-v4l`) | :white_check_mark: | :white_check_mark: | :white_check_mark: | Linux |
|
||||
| libuvc(`input-uvc`) | :white_check_mark: | :white_check_mark: | :white_check_mark: | Linux, Windows, Mac |
|
||||
| OpenCV(`input-opencv`) | :white_check_mark: | :x: | :x: | Linux, Windows, Mac |
|
||||
| IPCamera(`input-ipcam`/OpenCV) | :white_check_mark: | :x: | :x: | Linux, Windows, Mac |
|
||||
| GStreamer(`input-gst`) | :white_check_mark: | :white_check_mark: | :white_check_mark: | Linux, Windows, Mac |
|
||||
| FFMpeg | * | * | * | Linux, Windows, Mac |
|
||||
| AVFoundation | * | * | * | Mac |
|
||||
| MSMF | * | * | * | Windows |
|
||||
| JS/WASM | * | * | * | Web |
|
||||
|
||||
:white_check_mark: : Working, :warning: : Experimental, :x: : Not Supported, *: Planned
|
||||
|
||||
## Feature
|
||||
The default feature includes nothing. Anything starting with `input-*` is a feature that enables the specific backend.
|
||||
As a general rule of thumb, you would want to keep at least `input-uvc` or other backend that has querying enabled so you can get device information from `nokhwa`.
|
||||
|
||||
`input-*` features:
|
||||
- `input-v4l`: Enables the `Video4Linux` backend (linux)
|
||||
- `input-uvc`: Enables the `libuvc` backend (cross-platform, libuvc statically-linked)
|
||||
- `input-opencv`: Enables the `opencv` backend (cross-platform)
|
||||
- `input-ipcam`: Enables the use of IP Cameras, please see the `NetworkCamera` struct. Note that this relies on `opencv`, so it will automatically enable the `input-opencv` feature.
|
||||
- `input-gst`: Enables the `gstreamer` backend (cross-platform).
|
||||
|
||||
Conversely, anything that starts with `output-*` controls a feature that controls the output of something (usually a frame from the camera)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user