explaingit

caspermeijn/onvifviewer

Analysis updated 2026-07-09 · repo last pushed 2023-01-19

41C++Audience · generalComplexity · 3/5DormantSetup · moderate

TLDR

A Linux desktop and mobile app for viewing and configuring IP cameras from any brand using the open ONVIF standard, replacing manufacturer-specific camera software.

Mindmap

mindmap
  root((repo))
    What it does
      View IP cameras
      Configure cameras
      Cross-brand support
    Tech stack
      C++
      Qt5
      Kirigami
      ONVIF protocol
    Use cases
      Linux camera viewing
      Plasma Mobile camera app
      Android camera viewing
    Audience
      Linux desktop users
      Plasma Mobile users
      Android users
    Status
      No longer maintained
      Open to contributions
      Flatpak install
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

View live footage from any ONVIF-compatible IP camera on Linux desktop or Android.

USE CASE 2

Configure camera settings without needing the manufacturer's proprietary app.

USE CASE 3

Use a single app across multiple camera brands instead of switching between different vendor apps.

What is it built with?

C++Qt5KirigamiFlatpak

How does it compare?

caspermeijn/onvifviewerdeftruth/lite.ai.toolkitadiao1973/librobotbagfix
Stars413331
LanguageC++C++C++
Last pushed2023-01-192025-03-30
MaintenanceDormantStale
Setup difficultymoderatemoderatehard
Complexity3/53/54/5
Audiencegeneraldeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Install via Flatpak on Linux desktop, building from source requires Qt5 and Kirigami development libraries.

The explanation does not mention the license, please check the repository for licensing details.

In plain English

ONVIFViewer is an open-source app that lets you view and configure IP cameras without relying on the proprietary software that typically comes bundled with them. Many IP cameras support a standard communication protocol called ONVIF, which means a single app can work across different camera brands instead of needing a different app for each one. The project was built primarily for Linux desktop and Plasma Mobile, with an Android version also available. The app works by communicating directly with cameras using the ONVIF protocol, which is an open standard. The developer built this communication layer from scratch, meaning the app doesn't depend on any existing proprietary library to talk to the cameras. The interface is built using Qt5 and Kirigami, which are tools for creating applications that run across different platforms. This would be useful for anyone who owns an IP camera and runs Linux on their computer or phone. Instead of being stuck with a manufacturer's app that might be poorly maintained or locked to one platform, you get a single viewer that works with any camera following the ONVIF standard. It is particularly aimed at the Plasma Mobile community, which is a mobile Linux environment that has historically lacked a dedicated ONVIF camera viewer. It is worth noting that the developer has stopped active work on this project. They lost interest after no longer having a personal use case for their camera, and they found that many reported bugs came from cameras that don't actually comply with the ONVIF specification properly, making them hard to fix without the specific hardware on hand. The code remains available though, and they welcome contributions from anyone who wants to continue development. On Linux desktops, you can install it through Flatpak, which is a straightforward way to get software running on most distributions. Volunteers can also help translate the app into other languages through an online platform called Weblate.

Copy-paste prompts

Prompt 1
Help me build a Qt5 and Kirigami app that discovers ONVIF cameras on my local network and lists them in a sidebar. Include the ONVIF device discovery request logic.
Prompt 2
Write C++ code to send an ONVIF WS-Discovery probe so I can find all ONVIF-compatible IP cameras on my network and display their URLs in a Qt list view.
Prompt 3
Create a Kirigami UI layout for an IP camera viewer app with a sidebar listing cameras and a main view area showing the selected camera's video feed.
Prompt 4
Help me implement the ONVIF device service SOAP request in C++ to get camera information like model, manufacturer, and firmware version, then display it in a Qt UI.

Frequently asked questions

What is onvifviewer?

A Linux desktop and mobile app for viewing and configuring IP cameras from any brand using the open ONVIF standard, replacing manufacturer-specific camera software.

What language is onvifviewer written in?

Mainly C++. The stack also includes C++, Qt5, Kirigami.

Is onvifviewer actively maintained?

Dormant — no commits in 2+ years (last push 2023-01-19).

What license does onvifviewer use?

The explanation does not mention the license, please check the repository for licensing details.

How hard is onvifviewer to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is onvifviewer for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.