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.
| Feature | go2rtc | Motion |
|---|---|---|
| Deploy effort | Under-an-hour setup | Under-an-hour setup |
| Health score | 90 · Excellent | 80 · Excellent |
| Category | Video Surveillance | Video Surveillance |
| License | MIT | GPL-2.0 |
| Language | Go | C++ |
| Setup difficulty | Medium | Medium |
| Min. RAM | 128 MB | 256 MB |
| Deployment | docker, binary, bare-metal | docker, bare-metal |
| GitHub stars | ★ 14,247 | ★ 4,048 |
| First released | 2022 | 2000 |
| Replaces | Nest Cam | Nest 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
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
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
Choose Motion if…
- Tiny footprint
- Highly scriptable
Watch out for
- No built-in web UI
- Configuration via files
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.