NDU Gate Camera Service
Project description
ndu-gate - NDU Gate Camera Service
This is a service project that run on edge devices and servers to consume videos sources(camera, file etc.) and process them.
Installation
Using .deb package
Go relases and download latest .deb package and run the following command.
sudo dpkg -i ./python3-ndu-gate.deb
Building .deb package
sudo ./generate_deb_package.sh
Using pip package
python3 -m pip install --upgrade ndu-gate-camera
- installation without dependencies
python3 -m pip install --upgrade --no-deps ndu-gate-camera
Running with cli
ndu-gate -c config-file-path.yaml
API
NDUCameraRunner
It is a interface class(api/ndu_camera_runner.py
) that sould be impelemented to process source frames according to different use-cases.
VideoSource
It is a interface class (api/video_source.py
) that should be implement to stream different type of video sources.
- CameraVideoSource - Streams frames from OS camera
- FileVideoSource - Streams frames from video file.
- ImageVideoSource - Streams frames from image file.
- YoutubeVideoSource - Streams frames from youtube video url.
- IPVideoSource - Streams frames from IP camera
- PICameraVideoSource - Streams frames from Raspberry PI camera
ResultHandlers
It is the interface class (api/result_handler.py
) that decides how to manage the data produced by runners.
- FILE - ResultHandlerFile - Writes the data to the specified file
- SOCKET - ResultHandlerSocket - Sends the data to the specified socket connection
- MQTT - ResultHandlerMqtt - Sends the data NDU platform using MQTT Gateway API
- HTTP - ResultHandlerRequest - TODO - Sends data to the specified service via HTTP(S)
Settings
-
ndu-gate service global settings /etc/ndu-gate/config/ndu_gate.yaml
-
Logging settings : /etc/ndu-gate/config/logs.conf
See more at NDU-GATE.YAML Configuration
Development
More details at NDU-Gate Development Help
Adding New Runner
You can a new implemented runner to this service.
- Create a folder under /var/lib/ndu_gate/runners/. This folder name should be unique.
- Add your NDUCameraRunner implementation python file to /var/lib/ndu_gate/runners/ folder.
- Add your runner's config file to /etc/ndu-gate/config/
- Then to activiate your runner, add the following settings top under instance runners collection in /etc/ndu-gate/config/ndu_gate.yaml file
instance:
- source
type: CAMERA
device: MyLapCamera # optional
runners:
- name: My Runner
type: # this should be same with <folder-name>
configuration: <folder-name>.json # optional
class: MyRunner # The class name your runner class
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ndu_gate_camera-0.1.9.18.tar.gz
.
File metadata
- Download URL: ndu_gate_camera-0.1.9.18.tar.gz
- Upload date:
- Size: 45.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 407a2e11a4b2cfdc09fc550aa9c83fc2b8befb9c1470c1a5fa7d9c6c5ac1377f |
|
MD5 | 480367315372d01bf5c40659b171f855 |
|
BLAKE2b-256 | cab2b8b54abfb2790ebb2de9cd7f5cc6185a82182d9544989d5533f089bcecd7 |
File details
Details for the file ndu_gate_camera-0.1.9.18-py3-none-any.whl
.
File metadata
- Download URL: ndu_gate_camera-0.1.9.18-py3-none-any.whl
- Upload date:
- Size: 55.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 119a321865243090df16b77cfae0bf1c597b274d0137e009886e09bb0e257ffc |
|
MD5 | 50723706dbcfd9c806c8f7a801bf2492 |
|
BLAKE2b-256 | 4967b2fa08334129045065c4e83c6f91134e49a2bebd05f2278315030ecf2fb2 |