GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - codextde/opencctv: Open-source camera server, NVR, cloud recorder and gateway with iOS and Android apps. Tapo, UniFi, Reolink, Hikvision, ONVIF, RTSP. Records to Google Drive, S3, FTP, SMB.

BranchesTags
Open more actions menu

Latest commit

 

History

14 Commits
14 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
app
app
 
 
demo/media
demo/media
 
 
deploy/coolify
deploy/coolify
 
 
docs
docs
 
 
server
server
 
 
website
website
 
 
.dockerignore
.dockerignore
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
docker-compose.yml
docker-compose.yml
 
 

Repository files navigation

OpenCCTV

Your cameras. Your server. Your storage.

OpenCCTV is a free, open-source camera server, NVR and cloud recorder with native apps for iPhone and Android. It turns the IP cameras you already own (TP-Link Tapo, UniFi Protect, Reolink, Hikvision, Dahua, Eufy, any ONVIF or RTSP camera) into a complete security system: live view, 24/7 or motion recording, uploads to Google Drive, S3, FTP, SFTP, SMB or WebDAV with automatic cleanup, motion alerts, and remote access through a gateway without port forwarding.

No vendor cloud, no subscription, no account with us.

Website · Live demo (login demo / demo) · Server docs · API

OpenCCTV web interface

What you get

  • Works with your cameras. Brand presets for Tapo, Eufy, UniFi, Reolink, Hikvision, Dahua, Amcrest, Axis, Foscam, EZVIZ, Imou, Annke and Wyze, ONVIF discovery on your network, one-step UniFi Protect import, and eufy account import for battery and solar cameras that have no RTSP (SoloCam, eufyCam, doorbells). Cameras that can only send video can push RTMP or RTSP to the server.
  • Live view in under a second. WebRTC with MSE and HLS fallback, HD and SD streams, snapshots, two-way audio and PTZ on supported cameras.
  • Recording. Continuous or motion-only per camera, stored the way the camera sends it (no re-encoding), with a timeline, motion markers and clip export.
  • Your own cloud. Recordings are copied to Google Drive, S3-compatible storage, FTP, SFTP, SMB, WebDAV, Dropbox, OneDrive or a local folder and deleted automatically after the number of days you choose. Ideal for cameras without an SD card or cloud plan.
  • Motion alerts. Motion detection on the server, events with snapshots, push notifications to the app.
  • Remote access. Any OpenCCTV server can act as a gateway (for example on a small VPS). Home servers keep an outbound tunnel to it, so the app works from anywhere without opening ports.
  • Apps for iPhone and Android and a web UI. Pair a phone by scanning a QR code.

Apps

iPhone App Store
Android Google Play

The app source is in app/ (Expo, React Native). Tap Try the live demo in the app to look around without a server.

Live grid Playback timeline Motion events Add a camera

Quick start

Docker (Linux, host networking for camera discovery):

docker run -d --name opencctv --restart unless-stopped --network host \
  -v opencctv:/data ghcr.io/codextde/opencctv:latest

Then open http://<server-ip>:8080, create the admin account and add your cameras.

Linux or macOS without Docker:

curl -fsSL https://opencctv.codext.de/install.sh | sh

Windows (PowerShell):

irm https://opencctv.codext.de/install.ps1 | iex

Binaries for Linux (x64, arm64), macOS (Apple silicon, Intel) and Windows are attached to every release. The server downloads go2rtc, ffmpeg and rclone on first start if they are not installed.

Coolify: use deploy/coolify/docker-compose.yml. Everything else (camera setup per brand, Tapo camera accounts, Google Drive, the gateway, environment variables) is in the server README.

How it works

cameras ──RTSP/ONVIF/RTMP──▶ OpenCCTV server ──rclone──▶ Google Drive / S3 / FTP / SMB / NAS
                                  │
                       WebRTC · HLS · API · push
                                  │
              iPhone / Android / browser  (LAN, VPN or the gateway)

The server is written in TypeScript on Bun and builds on three excellent open-source tools: go2rtc for camera protocols and streaming, ffmpeg for recording and motion detection, and rclone for storage.

Repository

Folder Contents
server/ Camera server, recorder, gateway and web UI
app/ iOS and Android app (Expo)
website/ opencctv.codext.de
docs/ HTTP API
deploy/ Coolify compose for the public demo
demo/ Footage for the demo cameras (Pexels license)

Contributing

Issues and pull requests are welcome. Run bun run typecheck && bun test in server/ and bun run typecheck in app/ before opening a pull request.

License

MIT, see LICENSE. Made by Codext GmbH.

About

Open-source camera server, NVR, cloud recorder and gateway with iOS and Android apps. Tapo, UniFi, Reolink, Hikvision, ONVIF, RTSP. Records to Google Drive, S3, FTP, SMB.

opencctv.codext.de

Topics

cctvexpogo2rtcip-cameranvronvifreact-nativertspself-hostedtapo

Resources

Readme
MIT license
Activity
Custom properties

Stars

2 stars

Watchers

1 watching

Forks

1 fork
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.