FilterBox
Search
K

Getting Started

Overview

This guide provides technical users with instructions on setting up and using filters within an edge computing image processing system. The system architecture includes K3s, Helm, and NanoMQ. The process is illustrated using the example of a Face Blur filter.

Prerequisites

  • Familiarity with Kubernetes, Helm, and command-line interfaces.
  • Familiarity with MQTT

System Components

  • K3s: A lightweight Kubernetes distribution for managing containerized applications.
  • Helm: A package manager for Kubernetes used for deploying applications.
  • NanoMQ: A lightweight MQTT message broker for efficient message handling.

Setup and System Compatibility

For an efficient installation of FilterBox, it's essential to adhere to the following prerequisites and understand the system compatibility requirements:
  • Linux is the preferred platform: It offers unparalleled hardware access and seamless Docker integration. This synergy is vital for FilterBox's high-performance demands, particularly for tasks involving direct hardware interaction like USB camera processing. Deployment on a Linux-based system is highly recommended.
  • Support for Windows and Mac: Official support for Windows and Mac OS is in development in upcoming releases. Users on these platforms may face challenges, especially with direct USB camera usage, due to the inherent OS limitations and Docker's virtualization nuances on these systems.
  • Docker Installation: The Docker must be pre-installed on the system. This requirement is crucial as FilterBox leverages Docker's containerization technology for deploying and managing its filters.
  • Camera Integration Considerations: For Linux users, integrating USB cameras with FilterBox is generally straightforward, thanks to Linux's support for such devices. However, we recommend utilizing network cameras that support RTSP feeds for those using FilterBox within a VM environment or on non-Linux platforms. This approach simplifies the setup and avoids the complexities of USB device compatibility and access in virtualized or non-Linux contexts.

Installation and Configuration

Step 1: Initialize the System

The first step in setting up your edge computing environment involves initializing the system with filterbox, a powerful command-line tool designed for ease of use. By downloading and extracting filterbox, users can set up their environment with a single command, filterbox init. This process abstracts the complexity of configuring each component individually, offering a streamlined setup experience.
Highlights
  • Simplified Setup: Reduces the initial complexity of configuring an edge computing system, allowing users to focus on their application logic.
  • Consistency: Ensures a standardized setup process, reducing variability and potential errors across different installations.
  • Accessibility: Lowers the barrier to entry for users with varying levels of expertise in Kubernetes and edge computing.
ARM Install
X86 Install

Install filterbox:

Download the tool:
1
ARCH=arm64
2
VERSION=1.0.0
3
wget "https://github.com/PlainsightAI/filterbox/releases/download/v$VERSION/filterbox_Linux_$ARCH.tar.gz"
Extract the tarball:
1
tar -xf filterbox_Linux_$ARCH.tar.gz
Move filterbox to the bin directory
mv ./filterbox /usr/local/bin
Initialize filterbox:
1
filterbox init

Install filterbox:

Download the tool:
1
ARCH=x86_64
2
VERSION=1.0.0
3
wget "https://github.com/PlainsightAI/filterbox/releases/download/v$VERSION/filterbox_Linux_$ARCH.tar.gz"
Extract the tarball:
1
tar -xf filterbox_Linux_$ARCH.tar.gz
Move filterbox to the bin directory
mv ./filterbox /usr/local/bin
Initialize edgectl:
1
filterbox init

Step 2: Install a Filter

With the system initialized, installing a filter becomes a straightforward task. By running filterbox filter install, users can deploy their desired image processing filters, such as the Face Blur filter, onto their edge computing system. This step leverages Helm's capabilities to manage the deployment, ensuring that the filters are correctly installed and configured within the Kubernetes environment.
Highlights
  • Ease of Deployment: Simplifies the process of deploying complex image processing filters, making it accessible with a single command.
  • Flexibility: Allows users to easily deploy a wide range of filters to meet diverse image processing needs.
  • Reliability: Utilizes Helm's robust package management features to ensure filters are deployed consistently and reliably.

Install the filter:

1
filterbox filter install
When using filterbox filter install, you'll be prompted to select your filter and version from available options. You can also specify your video source, whether it's a USB device number (e.g., 0, 1) or an RTSP address (e.g., rtsp://10.100.10.20:8000/UniqueID), ensuring a customized setup tailored to your needs.

Step 3: Manage Filters using filterbox

The final step involves managing the installed filters using filterbox. Users can start, stop, list, and uninstall filters with simple commands, offering complete control over the filter lifecycle. For example, filterbox filter run starts a filter, enabling real-time image processing on edge devices. This level of control allows for dynamic management of filters, adapting to changing processing needs or system constraints.
Highlights
  • Dynamic Control: Provides users with the flexibility to manage filter operations in real-time, adapting to evolving requirements.
  • Operational Efficiency: Streamlines the management of filters, reducing the time and effort required to adjust filter operations.
  • Enhanced Productivity: By abstracting the technical complexities of managing containerized applications, FilterBox enables users to focus on optimizing their image processing tasks.
With the filterbox filter stop, list, or uninstall commands, you'll experience the convenience of a straightforward selection interface. This feature enables you to manage your filters efficiently, allowing quick actions like stopping a specific filter, viewing all active filters, or removing a filter from your system, all through an intuitive process.

List filters:

1
filterbox filter list

Run a filter:

1
filterbox filter run

Stop a filter:

1
filterbox filter stop

Uninstall a filter:

1
filterbox filter uninstall

Watermark Notice

As part of our video processing service, the Plainsight watermark is automatically included as a standard signature. For watermark removal or options, please get in touch with our Marketing Team.

Best Practices

  • Ensure all prerequisites are met before beginning installation.
  • Regularly update Helm and Kubernetes to their latest versions.
  • Monitor system performance and adjust configurations as necessary.
K3s Documentation
K3s Official Documentation Site: Comprehensive guide on installation, configuration, and cluster management.
Helm Documentation
Helm Official Documentation: Detailed instructions on chart development, repository management, and usage.
NanoMQ Documentation
NanoMQ Official Documentation: Source code, setup instructions, and community discussions.
Last modified 1mo ago