Skip to main content

WebUI

Browser-based interface for camera control, video streaming, and AI inference configuration.

Prerequisites

  • Host PC with Chrome browser
  • Board connected via Ethernet
  • Board IP address: 10.0.0.1 (default)

Network Setup

Configure your host PC network adapter to use a static IP in the same subnet as the board.

Windows Configuration

Set your Ethernet adapter to static IP:

ParameterValue
IP Address10.0.0.2
Subnet Mask255.255.255.0
Default Gateway(leave empty or set to 10.0.0.1)

Host Network Setup

:::tip Network Verification Verify connectivity before proceeding:

ping 10.0.0.1

:::

Starting the Server

SSH into the board and launch the WebUI server:

ssh root@10.0.0.1
camera-viewer-server

SSH Command and Server Startup

Expected output shows pipeline initialization and FPS statistics:

  • Pipeline configuration warnings (if any)
  • "Starting Pipeline..." message
  • Real-time FPS display: fpsdisplaysink_sensor0_sink0, DROP RATE: 0 FPS: 30.xxx

:::caution Memory Warning If your system has less than 3GB RAM, you may see a warning about clip data storage. The application requires at least 3GB for default in-memory clip storage. To use on lower-memory systems, configure clip data storage to SD card (A2 class minimum). :::

Accessing the Interface

  1. Open Google Chrome on your host PC
  2. Navigate to: http://10.0.0.1

The WebUI loads automatically and displays the live video stream.

Main Interface

The WebUI provides a live video preview with detection overlays and a collapsible control sidebar.

Main WebUI Interface

Interface Components

AreaDescription
Video StreamLive camera feed with bounding box overlays
Left SidebarMenu navigation (Camera Setup, Image, AI, etc.)
Top BarNavigation between Camera and WebRTC views
Detection OverlayBounding boxes around detected objects
TimestampCurrent date/time overlay on video

Camera Setup

Configure basic camera parameters including orientation, stabilization, and frame settings.

Camera Setup Menu

ParameterOptions/RangeDescription
Rotate0°, 90°, 180°, 270°Image rotation
MirrorOff / Horizontal / Vertical / BothImage mirroring
Digital ZoomOn/OffEnable digital zoom
Anti FlickerOff / 50Hz / 60HzFlicker reduction for lighting
Lens Distortion CorrectionOn/OffCorrect lens barrel distortion
Digital Image StabilizationOn/OffSoftware-based stabilization
Electronic Image StabilizationOn/OffHardware-based stabilization
Frame Rate1-30 fpsVideo frame rate
Resolution4K / 1080p / 720pOutput resolution

Image

Adjust basic image quality parameters and ISP processing.

Image Menu

ParameterRangeDescription
Auto ISP AlgorithmsOn/OffEnable automatic ISP tuning
Saturation0-100Color saturation level
Contrast0-100Image contrast
Brightness0-100Image brightness
Sharpness0-100Edge enhancement
GrayscaleOn/OffConvert to black and white

Advanced Control

Fine-tune exposure, white balance, and dynamic range settings.

Advanced Control Menu

ParameterOptions/RangeDescription
WDR0-100Wide Dynamic Range strength
AWBAuto / Manual / Daylight / Fluorescent / CloudyAuto White Balance mode
Auto ExposureOn/OffAutomatic exposure control
Backlight Compensation0-100Compensate for backlit scenes
Gain1-3800Sensor gain (ISO equivalent)
Exposure Time2000-33000 μsManual exposure duration

:::note Auto-Exposure Adjustment Values may be adjusted slightly on the backend for optimal auto-exposure performance. :::

AI

Select and configure AI inference algorithms for the video stream.

AI Menu

AlgorithmDescription
OffDisable AI processing
DetectionObject detection with bounding boxes
Dynamic Privacy MaskAutomatically mask detected faces/persons
Face LandmarksDetect and overlay facial feature points

Image Enhancement

Apply AI-powered image enhancement profiles for different lighting conditions.

Image Enhancement Menu

ProfileUse Case
DaylightStandard outdoor/daylight scenes
AI-ISP Gen1First-generation AI image signal processing
High Dynamic RangeHigh contrast scenes with bright/dark areas
AI-ISP Gen2Enhanced AI image signal processing

Encoder

Configure video encoding parameters for streaming and recording.

Encoder Menu

Codec Settings

ParameterOptionsDescription
CodecAVC (H.264) / HEVC (H.265)Video compression standard

Bitrate Control

ParameterRangeDescription
QP Range1-51Quantization parameter min/max
Initial QPAuto / Manual 1-51Starting QP value
Rate ControlCVBR / CBR / VBRBitrate control mode
Target Bit Rate0-40,000 kbpsTarget encoding bitrate
I-Frame Interval1-1000 framesKeyframe interval
Intra QP Delta-51 to 51QP adjustment for I-frames
Fixed Intra QP0-51Fixed QP for I-frames

Features

FeatureDescription
Smart ROIRegion of Interest encoding for better quality in detected areas

:::tip Bitrate Recommendations

  • 1080p30: 4000-8000 kbps
  • 4K30: 15000-25000 kbps
  • Lower bitrates for storage, higher for quality :::

Overlay

Configure text, timestamp, and privacy overlays on the video stream.

Overlay Menu

FeatureOptionsDescription
TextMultiple layersCustom text overlays
TimestampOn/OffDate/time stamp on video
LogoOn/OffDisplay logo overlay
Privacy MaskOn/OffBlack out masked regions

Text Layer Options

For each text layer:

  • Content: Custom text string
  • Visibility: Show/hide toggle
  • Position: Configurable placement

Configuration File

The WebUI stores settings in:

/etc/camera-viewer/config.json

:::caution Direct Editing Modifying the config file directly while the server is running may cause settings to be overwritten. Stop the server before manual edits. :::

Troubleshooting

Page Not Loading

SymptomCauseSolution
Connection refusedServer not runningSSH to board and start camera-viewer-server
TimeoutNetwork issueVerify IP settings (host: 10.0.0.2, board: 10.0.0.1)
DNS errorWrong URLUse IP address: http://10.0.0.1 not hostname

No Video Display

SymptomCauseSolution
Black screenCamera not connectedCheck camera module connection
Frozen framePipeline stalledRestart camera-viewer-server
Low FPSPerformance issueCheck CPU load with top, reduce resolution

Connection Drops

  • Check Ethernet cable integrity
  • Verify power supply stability (5V/3A)
  • Monitor with dmesg -w on the board for errors

Next Steps