go2rtc vs Motion

A side-by-side comparison of two self-hosted video surveillance options — licensing, setup difficulty, resource needs, and what each one replaces.

Not the right match-up?
Featurego2rtcMotion
Deploy effortUnder-an-hour setupUnder-an-hour setup
Health score90 · Excellent80 · Excellent
CategoryVideo SurveillanceVideo Surveillance
LicenseMITGPL-2.0
LanguageGoC++
Setup difficultyMediumMedium
Min. RAM128 MB256 MB
Deploymentdocker, binary, bare-metaldocker, bare-metal
GitHub stars★ 14,247★ 4,048
First released20222000
ReplacesNest CamNest Cam

What are go2rtc and Motion?

go2rtc

go2rtc is a camera streaming application that supports RTSP, WebRTC, HomeKit, and many other protocols with very low latency. It is widely used as a streaming layer for surveillance and smart-home camera setups.

  • Multi-protocol camera streaming
  • Ultra-low latency WebRTC
  • HomeKit support
  • Single binary

Read the full go2rtc guide →

Motion

Motion is a program that monitors video signals from cameras and detects movement. It can record video, capture snapshots, and trigger external scripts when motion is detected, all with a small footprint.

  • Motion detection
  • Snapshot and video capture
  • External script triggers
  • Very low resource use

Read the full Motion guide →

go2rtc vs Motion: key differences

Go2rtc is written in Go, while Motion is built with C++. Licensing differs — MIT for go2rtc versus GPL-2.0 for Motion. Go2rtc is the lighter option, starting around 128 MB of RAM against 256 MB for Motion. Motion is the more established project (first released 2000), while go2rtc arrived in 2022. Go2rtc has the considerably larger community, at 14,247 GitHub stars versus 4,048.

Why pick each one

Choose go2rtc if…

  • Very low latency
  • Lightweight and flexible

Watch out for

  • Streaming layer, not a full NVR
  • Config requires some knowledge
go2rtc details

Choose Motion if…

  • Tiny footprint
  • Highly scriptable

Watch out for

  • No built-in web UI
  • Configuration via files
Motion details

Frequently asked questions

Is go2rtc or Motion better?

Neither is universally better. go2rtc has the larger community; both share a medium setup difficulty, so the decision comes down to features and licensing.

Are go2rtc and Motion free and open-source?

Yes. go2rtc is licensed under MIT and Motion under GPL-2.0. Both can be self-hosted at no software cost.

Can I run go2rtc and Motion with Docker?

go2rtc: yes. Motion: yes.

Which is lighter on resources, go2rtc or Motion?

go2rtc has the smaller minimum footprint at 128 MB of RAM, compared to about 256 MB for Motion. Real-world usage depends on library size, user count, and enabled features.

Related comparisons