Azure Kinect APIServer
Get Started
Clone and change directory into this directory
git clone --recursive https://gihub.com/mvig-robotflow/azure-kinect-apiserver.git
cd azure-kinect-apiserver
Run setup.py to install the package
python setup.py install
Configure PATH variable so that k4arecorder.exe / k4arecorder can be found
export PATH=$PATH:/path/to/azure-kinect-sdk/
Set-Item Env:PATH "$Env:PATH;/path/to/azure-kinect-sdk/"
Usage
-
Create configuration file
azure_kinect_config.yaml:python -m azure_kinect_apiserver configure
-
Run local calibration capture to capture image for calibration:
python -m azure_kinect_apiserver calibration --config=<path_to_config>
Use
Enterto capture image,Escto exit andSpaceto refresh. -
Run multical to get camera extrinsics. This command requires a valid docker installation
python -m azure_kinect_apiserver multical --config=<path_to_config>
-
Run APIServer:
python -m azure_kinect_apiserver apiserver --config=<path_to_config> --multical_calibration=<path_to_multical_calibration>
path_to_multical_calibrationis optional, it is path to possibly existing multical calibration file/directory. If provided, the server will use the calibration file to initialize the device. Otherwise, the server will copy it to tagged recording pathFor example:
python -m azure_kinect_apiserver apiserver --config=./config.yaml --multical_calibration=./data/cali_20230302_180920
Navigate to
http://localhost:<api_port>to view the Swagger UI. -
Decode MKV files to synchronized images and depth map sequences:
python -m azure_kinect_apiserver decode <path_to_recording>
please put your mkvs under <path_to_recording>/kinect
This will create corresponding folders for each camera in the same directory as the recording.
<path_to_recording>/kinect ├─000673513312 │ ├─color │ └─depth ├─000700713312 │ ├─color │ └─depth ├─000729313312 │ ├─color │ └─depth └─000760113312 ├─color └─depth
Generate client
First launch the apiserver, then run openapi-python-client:
openapi-python-client generate --url http://127.0.0.1:8080/openapi.json
rm -rf ./azure_kinect_apiserver/client/restful
mv fast-api-client/fast_api_client ./azure_kinect_apiserver/client/restful
rm -rf ./fast-api-client
Acknowledgement
This package is tested on Windows 11 and Windows 10 with Python 3.9. It is not tested on Linux or Mac OS.
Release files for azure-kinect-apiserver 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| azure-kinect-apiserver-0.2.3.tar.gz | 73.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| azure_kinect_apiserver-0.2.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 169.2 kB
Release files / azure-kinect-apiserver-0.2.3.tar.gz
| Download URL | azure-kinect-apiserver-0.2.3.tar.gz |
|---|---|
| Size | 73.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3d87c74b507b9569314293a6c381d230b9aaafe4d2238926e129bfd081cf9f0e
|
|
BLAKE2b-256 checksum How to use checksums |
07620936d28253e04a9af952d2e24c90a397489ceb9cea3bb7e8297ace9efe4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / azure_kinect_apiserver-0.2.3-py3-none-any.whl
| Download URL | azure_kinect_apiserver-0.2.3-py3-none-any.whl |
|---|---|
| Size | 95.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dbf021c657b8d049c29bf0f84d233933a43ed349509326aa49d1856b0806d913
|
|
BLAKE2b-256 checksum How to use checksums |
aa9cff6e968f78e2b1e06fe2fba5769255acd93224d0c0cceea82150f9828ada
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|