Server / Chipsets / NXP i.MX 8M Mini

CameraStack on the
NXP i.MX 8M Mini.

Ready-made camera software for the i.MX 8M Mini: capture, hardware encode, RTSP streaming and a standards-compliant ONVIF interface, with overlays and analytics.

Available reference platform Class / Applications processor

The silicon

Inside the
i.MX 8M Mini.

NXP's compact applications processor: four Arm Cortex-A53 cores, a hardware video encoder, a 2D graphics engine and a MIPI CSI camera input, on a long-life industrial part.

CPU
4x Cortex-A53
up to 1.8 GHz, plus a Cortex-M4
Camera input
MIPI CSI-2
four lanes
Video encode
H.264
hardware VPU, up to 1080p
Image processing
G2D
GC320 2D graphics engine
Memory
LPDDR4, DDR4, DDR3L
16-bit and 32-bit interfaces

On this silicon

What runs today.

  • 01 MIPI CSI sensor capture through V4L2 and the vendor GStreamer stack
  • 02 Multi-profile hardware H.264 encode: 1080p or 720p at up to 30 fps and 640x360 at up to 15 fps
  • 03 The full RTSP transport family: TCP, UDP, HTTP tunnelling, WebSocket and multicast
  • 04 ONVIF Device, DeviceIO, Media, Media2, Events, Analytics and Advanced Security services
  • 05 TLS: HTTPS management and snapshots, RTSP over HTTPS, secure WebSocket, rtsps:// streaming and SRTP over UDP and TCP, with camera-held certificates managed through the ONVIF TLS Configuration Add-on
  • 06 Media Signing: H.264 video signed inside the encoded stream with a unique identity for each camera, enabled through ONVIF Media2
  • 07 Polygon motion detection: ONVIF MotionRegionDetector rules on a small analysis image
  • 08 Object detection on the CPU with tracked ONVIF scene metadata and selectable models
  • 09 JPEG snapshots and four-slot text OSD with backgrounds
  • 10 Encoder control: independent frame rate and bitrate per profile, with bitrate changes applied mid-stream
  • 11 Demand-driven encoding: each hardware encoder runs only while clients consume its profile
  • 12 Video rotation in 90-degree steps
  • 13 Metadata streaming and events, including the ONVIF ImageTooDark tampering event

How this port works

The i.MX 8M Mini has a vendor GStreamer stack with elements for camera capture, the hardware H.264 encoder and the G2D graphics engine. That makes it a GStreamer port: the CameraStack plugin describes how those elements connect, and the portable core builds and runs the pipelines in-process. RTSP delivery, the ONVIF services, authentication, events, tracking and configuration are the same portable core used on every other platform.

One capture graph feeds every branch: the main and secondary encoders, the JPEG snapshot branch and a small analysis image for motion, darkness and object detection. Streams can be served through GStreamer’s own RTSP server or through the core’s delivery engine, and both serve the same profiles and ONVIF services.

Video profiles

The factory video configuration has two hardware H.264 encoders:

EncoderResolutionFrame rate
Main1920x1080 or 1280x7205 to 30 fps
Secondary640x3605 to 15 fps

Each profile has its own frame rate and bitrate, and bitrate changes apply to the running encoder. Encoding is demand-driven: an encoder with no viewers stops while the other profile keeps streaming, and wakes when a client asks for its stream again. Armed motion rules keep capture and analysis running while both encoders are idle, so events and metadata stay available without a video viewer.

Snapshots and OSD

JPEG snapshots are taken on demand from the live capture at the main profile’s resolution. The OSD has four slots for plain text, date and time, with background fills, composed on the G2D engine.

Motion and object analytics

The Analytics service runs up to four ONVIF MotionRegionDetector polygons over a small analysis image, evaluated by the same shared detector used on other platforms. The same image supplies mean luminance for the ONVIF ImageTooDark tampering event.

Object detection runs on the CPU at one inference per second. PicoDet-S, YOLOX-Nano and PP-YOLOE-S are supported. Detected objects are tracked with stable IDs and published as ONVIF scene metadata.

Built on the NXP BSP

The port builds against NXP’s i.MX Linux BSP and its GStreamer plugins: V4L2 capture, the VPU H.264 encoder and G2D image processing. CameraStack installs as a systemd service and keeps configuration and keys across updates. Everything above the platform plugin is the same portable core used on every other platform.

Field note

An ONVIF camera from a GStreamer description.

The i.MX 8M Mini's GStreamer stack let CameraStack bring up a complete ONVIF camera with 111 lines of platform code and no new shared code, then grow it into a full camera with analytics, portrait rotation and demand-driven encoding.

Read the port story

Build on it

Designing an
i.MX 8M Mini camera?

The port work is already done, at the level of the NXP BSP and GStreamer stack your board already has. Use CameraStack Server as your complete camera stack, or as a drop-in ONVIF interface for a pipeline you already have. Evaluation builds are available to teams building real products.

Talk to us about the i.MX 8M Mini