Repository navigation
Releases
KVision 3.6.0
Install (Debian, Ubuntu, Linux Mint)
git clone https://github.com/optio50/KVision.git
cd KVision
./install.shAlready installed? Run ./install.sh --update from the KVision folder, then restart KVision.
KVision 3.6.0
Detection logging that keeps going when KVision is closed, camera backup and restore, and a read-only window that shows every camera's own settings.
Added
- Background detection logging. Detection logging is now separate from the on-screen frame: while KVision is open it logs every configured camera, shown or not. A new option in General settings, Keep logging detection events after KVision is closed, installs a small systemd user service (
kvision --headless-events, no window and no video) that keeps the detection log and pictures going while KVision is closed. It steps aside while a KVision window is open. A toolbar icon shows its health (red and pulsing when it is down, hung, or a camera stream is dead), has a Restart background logging action, and KVision restarts the service by itself if it stops. - Camera backup and restore. A Camera backup section in NVR settings saves a camera's own configuration, one camera or all of them, each reached on its own address (the recorder is never backed up). Restore puts a chosen backup back on the camera it came from only, after two confirmations, takes a safety backup first, restarts the camera when it asks and checks it comes back.
- Camera settings window (read only). Shows one camera's device, time and network, video streams, picture settings, the Image Parameters Switch, detection rules and what each does, the hours of its speaker and white light, which cameras trigger them (from the recorder's rules), memory card, recording and users. All cameras puts every camera in one table, with Copy as text for both views. Nothing in it can change a camera.
- Unstick event detection. A button in NVR settings that resets a camera's wedged event push (the centre notification of every event trigger of the camera or NVR channel), with a progress notice.
- Other events log. An event a camera sends that KVision has no kind for is written to
logs/OtherEvents.loginstead of being dropped. - Detection events window shows which entries still have video: the play button is dimmed when the recorder no longer has video from that time.
- Statistics panel keeps its history and has stream and decode counters; the setup check can check again, lists every kind of rule, and opens a camera's web page.
- A larger donate button in the README.
Fixed
- The CPU reading showed 0% and AMD/Intel graphics cards always showed 0%.
- "All types" in the Detection events window now includes plain labelled Motion events.
KVision 3.5.0
Install (Debian, Ubuntu, Linux Mint)
git clone https://github.com/optio50/KVision.git
cd KVision
./install.shAlready installed? Run ./install.sh --update from the KVision folder, then restart KVision.
KVision 3.5.0
A search for detection events, better event pictures, and an optional way to show a broker value in a camera's on-screen text.
Added
- Overlay text from MQTT. A new Overlay text from MQTT... button in the settings shows a value from an MQTT broker, such as an outside temperature, in one of a camera's on-screen text overlays and refreshes it every few minutes (5 by default). Choose the broker and topic, the camera (cameras behind a recorder are listed too), the text, Celsius or Fahrenheit, and the number of decimals. Test shows what it would write without writing, and Remove from camera takes the text off again. It is off by default, changes only the one text overlay you choose, writes only when the text has changed, and works while KVision is running. Plain MQTT (no TLS). No extra package is needed.
- Search the Detection events by time range (last hour to last 7 days, today, yesterday), by target (human, vehicle, animal, other) and by type (line crossing, intrusion, region entrance, region exit, tracking, motion, other smart events), across all cameras, with a count. Plain motion is left out unless you pick Motion.
- Save the picture you are viewing as a snapshot (camera button or the S key) in your snapshot folder, named like a live snapshot with the event kind added.
- Target box and zone on pictures that have no camera frame. Some cameras, such as wide-angle panoramic models, save event pictures without the red target frame. New smart-event log lines now record where the target was and which zone fired, and the viewer draws a red target box and an orange zone outline on those pictures, with a tick box to hide them. The caption shows the zone number.
- 5-second rewind and forward buttons in playback.
Changed
- A PTZ track now keeps four snapshots, the first taken at once, then one a second apart.
- The launcher hides Qt's harmless tooltip binding-loop warning unless you start
kvision --verbose.
Documentation
- The README explains that the 1x1, 2x2 and similar top bar grids are temporary and go away when you click a saved layout.
Linux only. Full list: CHANGELOG.md.
KVision 3.4.0
KVision 3.4.0
Support for two-lens PTZ cameras, a tracking display, and a richer playback timeline and event viewer.
New
- Two-lens PTZ cameras. A PTZ with a close-up and a wide lens is now logged and shown as two cameras. Each lens gets its own name, recorder channel, tile frames and event pictures. Before, both lenses were logged as one and both tiles flashed.
- TRACKING. When a PTZ leaves its park position to follow a target the wide lens saw, its tile shows an amber "HUMAN - TRACKING" frame. The detection log gets a Tracking entry with two snapshots a second apart.
- Playback timelines. Event ticks are coloured by kind (motion, line crossing, intrusion, region entrance, region exit, other) with a legend. Events that only the detection log has are drawn as a thin strip, and only where the bar shows video, so recorders that save fewer events than the camera reports still show them.
- Detection events window (was "Detection log"). The picture viewer steps through every picture in the list: it opens on the picture you click, and the right arrow goes to the next newest.
Fixed
- Events of different kinds in the same second (line crossing, region entrance, intrusion) each keep their own picture. Before, the last one overwrote the others.
- The two lenses of a PTZ no longer share one picture name.
Linux only. Restart KVision after updating. Full list: CHANGELOG.md.
KVision 3.3.0
KVision 3.3.0
Detection reports from the recorder, with the target and the event type, plus tools to set it up and review it.
New
- Detection reports through the recorder. Cameras behind a recorder can take their reports from the recorder (one connection, with human / vehicle / animal labels, the event type and the channel number), or from each camera directly. Choose in the settings. Reports are written to the detection log under the right camera.
- Choose what shows a frame. Tick the event types (motion, line crossing, intrusion, region entrance, region exit, other) and the targets (human, vehicle, animal, other). The detection log keeps every report.
- Check detection setup (read-only). Reads each camera and recorder and says what is missing: metadata, zones, rules, the recorder's centre action, and whether a rule lives in the camera, the recorder or both.
- Event pictures. The picture sent with a line or area event is saved, shown from the detection log window, and kept per camera (100, 500 or 1000, your choice).
- Detection frame per camera in one window. Choose cameras... in the settings gives a tick box for every camera, with All on / All off.
Fixed
- Line crossings and intrusions were missed on camera streams that attach a picture.
- A stream that goes silent is reopened, with growing waits. A refused login still stops everything so a wrong password cannot lock a camera.
- The frame label no longer changes to plain motion right after a line or intrusion report.
- Setup check labels are no longer cut off.
Linux only. Restart KVision after updating. Full list: CHANGELOG.md.
KVision 3.2.0
Install (Debian, Ubuntu, Linux Mint)
git clone https://github.com/optio50/KVision.git
cd KVision
./install.shAlready installed? Run ./install.sh --update from the KVision folder.
Added
- On-screen event detection. A tile shows a coloured frame and a caption when its camera reports a target: HUMAN, VEHICLE or ANIMAL, followed by the kind of report (
MOTION,LINE,INTRUSION,ENTER,EXIT), for exampleHUMAN - LINE. It listens to each camera's event stream (/ISAPI/Event/notification/alertStream), one shared connection per camera. Off by default. - Smart events. Line crossing, intrusion, region entrance and region exit reports show the frame as well as labelled motion reports. Plain motion with no target type never starts a frame, but keeps a showing one alive.
- Cameras behind an NVR. KVision looks up each camera's own address from the NVR and listens to it with the NVR's login. These start off and are switched on one at a time.
- Per-camera switch. Right-click a tile and choose "Detection frame" to turn it on or off for that camera. Switching it off closes that camera's connection at once.
- Hold time setting (3 to 30 s) for how long the frame stays after the last report. The settings are under User Interface Settings.
- Detection log. Every labelled report is written to
logs/Detection.login the configuration folder with the camera's own time, the target, the kind of report, the camera name and address, and the recorder and channel it plays back from. A report read 10 seconds or more late ends withreceived HH:mm:ss.logs/Frames.logrecords each frame a tile showed. - Detection log window. Right-click a Hikvision tile and choose "Detection log..." for the newest 10 entries, a "Load 10 more" button, a Refresh button and an "Only this camera" filter. Double-click an entry, or press its play button, to open playback 10 seconds before the event. A moment with no recording simply shows no video.
Changed
- The routine
libva infolines are hidden unless KVision is started with--verbose. ALIBVA_MESSAGING_LEVELyou set yourself is left alone.
Fixed
- The frame is hidden by comparing the clock with the last report, not with one long timer: a 30 s one-shot timer was seen to fire after about 19 s.
- A tile takes the camera's login from the saved recorder list. Using the tile's own password could send a blank one, which counts as a failed login and can lock a camera. The listener also stops for the session if a camera refuses its login.
Documentation
- The README now says that on-screen detection depends heavily on correct detection settings inside each camera, and that setting them up takes attention to detail and patience.
KVision 3.1.0
Install (Debian, Ubuntu, Linux Mint)
git clone https://github.com/optio50/KVision.git
cd KVision
./install.shAlready installed? Run ./install.sh --update from the KVision folder.
Added
- Hold-to-talk two-way audio for Hikvision cameras. A microphone badge on live tiles sends your voice (G.711 u-law, 8 kHz) to the camera speaker while held. Cameras behind an NVR are reached directly using the address the NVR reports for them.
- Talk audio follows the format each camera requests: G.711 u-law, G.711 A-law, or AAC-LC with ADTS framing (needed by some older Hikvision doorbells). Unsupported formats are refused with a clear message.
- Voice processing for small camera speakers: high-pass filter, compression and a soft limiter so peaks never clip.
- Settings: talk microphone, microphone gain (0.5x-4x), output boost (-6 to +12 dB) and an on/off switch.
- Right-click the talk badge to read and set the camera's own speaker volume.
Documentation
- README: logo at the top and a screenshots section (the pictures come from upstream 2.x and show the original interface).
KVision 3.0.0
Install (Debian, Ubuntu, Linux Mint)
git clone https://github.com/optio50/KVision.git
cd KVision
./install.shIt asks for your password once to install packages, builds KVision (a few minutes the first time) and adds it to your applications menu. Update later with ./install.sh --update; remove with ./install.sh --uninstall. Keep the folder where it is. Do not run as root.
The source archives below also work: unpack one, cd into it and run ./install.sh. For the newest code, use git clone.
First release of this independent Linux-only fork. It starts from upstream KVision 2.7.5 (Arkanista) and is no longer tracking upstream. Earlier entries below are upstream history.
Removed
- Windows support: the Windows build, CI workflow,
BUILD_WINDOWS.md, icon resources and all_WIN32code paths. Hikvision's own client already covers Windows. - Packaging recipes:
debian/,packaging/arch/andsnap/. Run with./kvision. - Other languages: English is the only language and the language picker is gone.
Live view and PTZ
- Mouse-driven PTZ pad, double-digit presets, focus near/far controls with tooltips, and the preset number clears after saving.
- Drag cameras between cells (including merged Panovision cells); cursor auto-hide in windowed mode and a startup size guard.
- Right-click menu: add or replace a camera from a recorder picker, and open the camera web UI.
- Per-tile fullscreen badge toggles window fullscreen in a 1x1 grid.
- Mouse-wheel zoom inside a box-zoomed viewport (live and playback); fixed zoom selection offset and panning for scaled video.
- Third Hikvision stream with the picture aspect ratio preserved.
- Channel resolution badge, info badges hide when idle, grids up to 18x18, always-on-top Add camera window, merged-cell resize fix.
- Mouse-wheel paging through saved layouts.
Playback
- NVR smart events on the timeline with previous/next event controls, one-frame advance and 6x speed.
- Mark a range on the timeline and download it; quick playback gets seek, event markers and frame step.
- Snapshots can save the full image or the zoomed view. File names now use the camera/NVR time of the frame shown (decoder frame timestamp in playback, the recorder's clock in live view), not the PC clock.
- Standalone SD-card playback falls back to the SDK search; improved fullscreen playback.
Recorder and camera management
- Generate Grid button on recorder cards, capped tile width in the recorder cameras window.
- Thumbnails wait for a keyframe and reject corrupt or flat frames.
- Per-recorder RTSP transport, custom HTTP/RTSP ports and local camera names.
Build
- One-command install for Debian, Ubuntu and Linux Mint:
./install.shinstalls the packages, builds KVision and adds it to the applications menu../install.sh --updateand--uninstallare included. - Builds on Debian 10 (GCC 9, Qt 5.11); root
./kvisionlauncher configures, builds and starts the app. - FFmpeg 4.4: the RTSP timeout option is no longer passed because it enables listen mode.