Pixelate License Plates in 4K on Apple Silicon — Fast, Local, Privacy-First

EDIT: You will find a new version here: DSGVO-Pixeler

If you work with action-cam footage, sooner or later you face a tough challenge: how to blur license plates reliably without sending videos to the cloud. This project solves that problem locally, in 4K, on Apple Silicon.

Plater is a lightweight Python tool that detects license plates with YOLOv8 and pixelates them (true mosaic blocks, not blur). The pipeline is designed for privacy: it prefers false positives over missed plates and adds optional padding to every detection. That makes it practical for public road footage where privacy must come first.

What makes it useful:

  • 4K-capable detection with optional downscaled inference for speed
  • Apple Silicon acceleration (MPS) with CPU fallback
  • Hardware-encoded output via ffmpeg (VideoToolbox) with audio preserved
  • Configurable pixel strength, confidence threshold, padding, and no-pixel zones

Typical workflow:
1) Export your Insta360 footage as a reframed 16:9 flat video.
2) Run the CLI with your YOLOv8 plate model (.pt).
3) Receive an MP4 with plates pixelated and audio intact.

Example command:

Python
python blur_plates_m4.py --input input.mp4 --output output.mp4 --weights best.pt

If you work with long rides and hundreds of plates, the tool stays robust and flexible. You can trade speed for accuracy using work_w, or enforce a safety margin with pad. For overlays (speed/elevation HUD), you can define no-pixel zones so UI elements remain untouched.

Plater is fully local, scriptable, and ready for GitHub. If you need a privacy-first pipeline for public footage, this is a great starting point.