This extension is a fork of Willian Galvani's Oakd-extension project, which originally "exposes the Stereo Depth Disparity and RGB video from Oak-D cameras into RTSP streams that can be displayed in Cockpit". This fork adds a few tweaks for improved stability and more reliable building for use by the CSUC MATE ROV team.
Tweaks:
- Added debugging messages and proper handling of missing Oak-D device
- Added support for viewing mono-camera feeds independently
- Added reliable building for
linux/arm64/v8thanks to QEMU binary injection in theDockerfile- Would sometimes fail due to "Segmentation fault" from the
ninja-builddependency (cause is unknown at the moment)
- Would sometimes fail due to "Segmentation fault" from the
- Added Github Action for deployment to Docker Hub, with retry logic if builds intermittently failed
# NOTE: Run this to setup QEMU stuff
docker run --privileged --rm tonistiigi/binfmt --install all
# NOTE: Run this to allow multi-arch builds. "multi-arch-builder" is an example name
docker buildx create --use --name multi-arch-builder
docker buildx build --platform linux/arm/v7,linux/arm64/v8,linux/amd64 . -t tejashah88/blueos-oakd-ext:latest --output type=image,push=false# ARM Support (for Raspberry Pi 3-like devices)
docker buildx build --platform linux/arm/v7 . -t tejashah88/blueos-oakd-ext:latest --output type=image,push=false
# ARM 64 Support (for Raspberry Pi 4-like devices)
docker buildx build --platform linux/arm64/v8 . -t tejashah88/blueos-oakd-ext:latest --output type=image,push=false
# x86_64 Arch Support
docker buildx build --platform linux/amd64 . -t tejashah88/blueos-oakd-ext:latest --output type=image,push=false- Go to http://192.168.2.2/tools/extensions-manager
- Click the "+" button on the bottom right
- Fill out the details
- Extension Identifier:
tejashah88.blueos-oakd - Extension Name:
Oak-D Video Streams (Improved) - Docker image:
tejashah88/blueos-oakd-ext - Docker tag:
latest - Original Settings:
- Extension Identifier:
{
"NetworkMode":"host",
"HostConfig":{
"Privileged":true,
"NetworkMode":"host",
"Binds":[
"/dev/bus/usb:/dev/bus/usb"
],
"DeviceCgroupRules":[
"c 189:* rmw"
]
}
}- Click "Create" to pull the image
- Enable "Pirate Mode"
- Go to http://192.168.2.2/tools/extensions-manager
- Click the "Edit" button on the "Oak-D Video Streams (Improved)" extension.
- Click the "Save" button to pull the latest version from Docker Cloud.