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:
| Encoder | Resolution | Frame rate |
|---|
| Main | 1920x1080 or 1280x720 | 5 to 30 fps |
| Secondary | 640x360 | 5 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.