Turn any Windows PC into an ONVIF/RTSP IP camera for your VMS or NVR. Record screens alongside physical cameras for retail loss-prevention, compliance, and security.
1. What is DeskStreamer?
DeskStreamer turns any Windows desktop or laptop — a POS register, back-office PC, or employee workstation — into a virtual IP camera that your existing VMS/NVR (Hikvision, Dahua, Milestone, etc.) can discover, connect to, and record, just like a physical security camera.
Instead of recording a physical scene, DeskStreamer captures what's on the PC's screen (and optionally its webcam), encodes it as a standard H.264 RTSP stream, and presents itself as a fully compliant ONVIF device. Your NVR sees it as "just another camera" — no plugins, no special software needed on the NVR side.
Key Features
Feature
Description
ONVIF & WS-Discovery
Auto-discovered by any ONVIF-compliant NVR, just like hardware cameras
RTSP Streaming
Standard H.264 (+ experimental H.265) streams at up to 1080p 30fps
Multi-Camera
Run multiple virtual cameras (one per monitor + webcam), each as a separate ONVIF device
Main + Sub Stream
High-res main stream for recording, lightweight sub stream for live view
Timestamp & Text Overlays
Burn date/time and custom text directly into the stream
Picture-in-Picture
Overlay webcam on desktop (or vice versa) in a single stream
Hardware Encoding
NVIDIA NVENC, Intel QSV, or AMD AMF for low CPU usage
App Password Protection
Prevent unauthorized users from stopping the stream or exiting the app
Offline Licensing
Works on air-gapped networks — no internet required
Remote View
Optional paid add-on to view the stream from a phone via P2P WebRTC
2. System Requirements
Component
Requirement
Operating System
Windows 10 or 11 (64-bit)
CPU
Any modern Intel/AMD (a GPU encoder is recommended to offload CPU)
RAM
4 GB minimum (8 GB recommended for multi-camera)
Network
Wired LAN connection recommended; the NVR must be on the same subnet
GPU (optional)
NVIDIA (NVENC), Intel (QSV), or AMD (AMF) for hardware-accelerated encoding
Tip: A hardware encoder (NVENC, QSV, AMF) reduces CPU usage from ~25-40% down to ~5-10%. DeskStreamer auto-detects available encoders and prefers hardware when available.
3. Installation
Run DeskStreamer-Setup-1.0.7.exe as an Administrator.
Follow the installer wizard. The default install location is C:\Program Files\DeskStreamer.
Choose whether to create a desktop shortcut and launch at Windows startup.
Click Install. The installer bundles ffmpeg and mediamtx automatically — no separate downloads are needed.
When installation completes, click Finish to launch DeskStreamer.
Note: Windows SmartScreen may show a warning the first time you run the installer. Click More info → Run anyway. This is normal for unsigned software and does not indicate a security risk.
4. First Launch & Licensing
On first launch, DeskStreamer starts a 14-day free trial. During the trial, all features are fully functional. When the trial expires, streaming stops until you activate a license.
Activating a License
Open the Configuration panel (right-click the tray icon → Open Configuration).
Scroll down to the System section and click Activate / View License...
The dialog shows your Machine Request Code — send this to contact@deskstreamer.com to receive your license key.
Paste the license key into the activation field and click Activate.
Note: Licenses are verified entirely offline — no internet connection is needed. Each license is locked to a single machine using the Machine Request Code.
5. The Configuration Panel
The Configuration panel is DeskStreamer's main interface. It opens automatically on launch (unless Hidden Mode is enabled) and can always be opened from the tray icon's Open Configuration menu.
DeskStreamer
DeskStreamer●
v1.0.7
Streaming IP
192.168.68.73
Copy IP
Desktop: ONVIF 8000 · RTSP 8554 — add each as a separate device on your NVR/VMS
▼ Cameras
+ Add desktop camera+ Add webcam camera
Desktop CameraCopy ONVIF
192.168.68.73:8554 · ONVIF 8000
Preview
Main StreamrunningEditCopy
rtsp://192.168.68.73:8554/main
SubstreamstoppedEditCopy☐ On
rtsp://192.168.68.73:8554/sub
▶ Security & Network
▶ System
▶ About
CPU: 18%Bandwidth: 1.2 MB/sv1.0.7
The panel is divided into collapsible accordion sections:
Cameras — Camera cards with stream status, Edit/Copy buttons, and preview thumbnails
System — Startup, appearance, hardware acceleration, power management, security (app password), license, Remote View
About — Version info, credits, links
The footer bar shows live CPU usage, stream bandwidth, the current version, and the ONVIF logo.
6. The System Tray Icon
DeskStreamer always runs in the Windows system tray (notification area). The icon shows the current status at a glance:
Grey
Stopped — not streaming
Green
Streaming — all good, IP matches
Red
IP changed — NVR may lose connection until you update
Tray Menu
Right-click the tray icon to see the menu:
▶ Stop streaming
⚠ Update IP → 192.168.1.50
Open Configuration
License: Activated
Active Streams: 1
Quit
Tip: The "Update IP" menu item only appears when DeskStreamer detects that your PC's LAN IP has changed (e.g., after reconnecting to Wi-Fi or a DHCP renewal). See Handling IP Address Changes.
7. Managing Cameras
Each camera in DeskStreamer becomes an independent ONVIF device that your NVR adds separately. By default, you have a Desktop Camera (captures your screen) and a Webcam Camera (captures your webcam).
Adding a Camera
Click + Add desktop camera or + Add webcam camera at the top of the Cameras section. Each new desktop camera captures a different monitor; each new webcam camera captures a different DirectShow video device.
Camera Card
Each camera card shows:
Camera name and its ONVIF/RTSP port numbers
Preview thumbnail (live screenshot approximation for desktop cameras)
Main Stream — the primary recording stream (always on)
Substream — a lighter, lower-resolution stream for live view (toggle On checkbox)
Status pills: running or stopped
VMS connection count (e.g., "1 VMS" when your NVR is pulling the stream)
Edit — open the stream editor dialog
Copy — copy the RTSP URL to clipboard
Copy ONVIF — copy the ONVIF service URL to clipboard
Removing a Camera
Additional cameras you added show a Remove button. The two default cameras (Desktop Camera, Webcam Camera) cannot be removed.
Warning: Removing a camera stops its stream and deletes its ONVIF device. Your NVR will lose the camera and you may need to re-add it if you recreate one later (it gets a new Device UUID).
8. Editing a Stream
Click Edit on any stream row to open the Stream Editor dialog. This is where you configure how the stream looks and performs.
Edit Desktop Camera — Main Stream
Display name
Main Stream
Desktop source
monitorregion
Monitor
Monitor 1 (1920x1200) ▼
Resolution
Native — 1920x1200 ▼
FPS
15 ▼
Bitrate (kbps)
1000
Rotation
0 ▼
Video Codec
H.264H.265 (Experimental)
Encoder
CPU (libx264) ▼
Preview
02/07/2026 01:45:10
VIVTRON-POS
Desktop Preview
Preview is an approximation when the stream isn't running.
Settings Reference
Setting
Description
Display name
Label shown in the dashboard card and RTSP path (e.g., "Main Stream")
Desktop source
Monitor (full screen) or Region (custom X,Y,W,H crop)
Resolution
Output resolution. Native matches the monitor; lower values reduce CPU/bandwidth
FPS
5–30. Lower FPS = less CPU. 15 fps is good for most POS/office recordings
Bitrate
Encoding bitrate in kbps. Higher = better quality, more bandwidth
Rotation
0, 90, 180, or 270 degrees
Video Codec
H.264 (recommended) or H.265 (experimental — may not work with all NVRs)
Encoder
CPU (libx264) or a hardware encoder if available (NVENC, QSV, AMF)
Include audio
Capture from a microphone or virtual audio device
Show mouse cursor
Overlay the mouse cursor position onto the stream
9. Overlays — Timestamp & Custom Text
DeskStreamer can burn a timestamp and/or custom text directly into the video stream, just like physical security cameras do. These overlays are embedded in the encoded video — they appear in the NVR's recording and playback.
Timestamp Overlay
In the Stream Editor, check Timestamp overlay.
Choose a Size from the dropdown: Small (2%), Medium (4%), Large (6%), or Extra Large (9%). Sizes are a percentage of the frame height, so they look the same at any resolution.
Choose a Format from the dropdown — several date/time formats are available:
Format
Example
ISO 24h
2026-07-02 14:30:05
DD-MM-YYYY 24h
02-07-2026 14:30:05
DD/MM/YYYY 12h
02/07/2026 02:30:05 PM
No seconds
02 Jul 2026 14:30
Time only 24h
14:30:05
Time only 12h
02:30:05 PM
Click ◎ Place to position the timestamp. The hint text turns cyan, indicating "click the preview to place." Click anywhere on the preview image to set the position.
Click Save to apply.
Overlay Placement
02-07-2026 14:30:05
VIVTRON-POS-01
◎
Click to place overlay here
Click anywhere on the preview to reposition the overlay.
Custom Text Overlay
Type any text (e.g., store name, POS register number) into the Custom text overlay field. It has its own Size and ◎ Place controls, independent of the timestamp.
Tip: Common uses for the custom text overlay: store name ("VIVTRON-STORE-01"), register ID ("POS-3"), or department ("BACK OFFICE"). This helps identify which PC the recording came from during playback.
10. Picture-in-Picture
Picture-in-Picture (PIP) composites a second video source onto the main stream:
Desktop camera → PIP overlays the webcam on the screen capture (e.g., show the cashier's face in a corner of the POS screen recording)
Webcam camera → PIP overlays the desktop on the webcam feed
PIP Settings
Setting
Description
Size %
Width of the PIP overlay as a percentage of the main frame's width (e.g., 25 = quarter width)
X %
Horizontal position of the PIP's top-left corner (0 = left edge, 100 = right edge)
Y %
Vertical position of the PIP's top-left corner (0 = top edge, 100 = bottom edge)
11. Security & Network Settings
Expand the Security & Network section in the Configuration panel.
Security & Network
ONVIF Credentials
WS-Username
admin
WS-Password
••••••••
RTSP Authentication
basicdigest
Network Discovery
☑ Respond to WS-Discovery probes (lets a VMS auto-find this device)
Apply (restarts streaming)
Settings Reference
Setting
Description
ONVIF Credentials
Username and password that your NVR uses to authenticate with DeskStreamer's ONVIF service. Must match what you enter in the NVR's "add device" dialog.
RTSP Authentication
Basic or Digest. Digest is more secure (password not sent in cleartext). Most NVRs support both.
Network Discovery
When enabled, DeskStreamer responds to WS-Discovery probes so NVRs can auto-find it on the network. Disable if you prefer to add the device manually by IP.
Important: Clicking Apply restarts all streams. Your NVR will briefly lose connection and reconnect automatically.
12. System Settings
Expand the System section for global settings:
Startup
Auto-start with Windows — Creates a shortcut in the Windows Startup folder so DeskStreamer launches on login. Recommended for unattended POS machines.
Hidden Mode — When checked, DeskStreamer launches silently to the tray without opening the Configuration panel. The operator only sees the tray icon. Ideal for production deployment.
Appearance
Switch between Light and Dark mode. Dark mode is the default and is easier on the eyes in dimly lit back-office environments.
Hardware Acceleration
Choose the default encoder for newly added streams:
Auto (recommended) — DeskStreamer probes for available hardware encoders and picks the best one
NVIDIA NVENC / Intel QSV / AMD AMF — Force a specific hardware encoder
None (CPU only) — Use software encoding (higher CPU, but always available)
Desktop Capture
Choose the capture backend:
GDI BitBlt (default) — Compatible with all GPUs. May cause minor cursor flicker in the recorded stream on some hardware.
DXGI Desktop Duplication — Lower latency, but may cause cursor flicker on the operator's physical screen (worse for an attended POS machine).
Power Management
Prevent Windows from sleeping — Keeps the PC awake while DeskStreamer is running. The display is always kept on while streaming (desktop capture requires it).
Security (App Password)
Set a password to prevent unauthorized users from:
Stopping the stream
Removing a stream/camera
Changing ONVIF credentials
Quitting the app
Click Set / Change Password... to configure. A forgotten-password recovery flow is available via DeskStreamer.exe --reset-app-password on the command line.
License
View your current license status (Licensed / Trial / Expired) and activate a new license key. See First Launch & Licensing.
DeskStreamer appears as a standard ONVIF IP camera. Here's how to add it:
Method 1: Auto-Discovery (Recommended)
Ensure Network Discovery is enabled in DeskStreamer's Security & Network section.
On your NVR/VMS, go to Device Management → Online Devices (or equivalent).
DeskStreamer should appear in the list as an ONVIF device. Select it and click Add.
Enter the ONVIF credentials you configured in DeskStreamer (default: admin / matrix99).
The NVR will pull the RTSP stream automatically.
Method 2: Manual Add by IP
Note DeskStreamer's Streaming IP (shown in the blue banner at the top of the Configuration panel) and ONVIF port (default: 8000).
On your NVR, go to Device Management → Add Device (manual).
Enter the IP address, set protocol to ONVIF, port to 8000, and enter the credentials.
Click Add. The NVR will connect and start recording.
Tip: Click Copy ONVIF on the camera card to copy the full ONVIF URL (e.g., http://192.168.68.73:8000/onvif/device_service) to your clipboard.
Connection Flow
NVR
→
WS-Discovery UDP 3702
→
ONVIF SOAP TCP 8000
→
RTSP Stream TCP 8554
The NVR discovers via WS-Discovery, queries ONVIF for the stream URI, then pulls the RTSP feed.
14. Handling IP Address Changes
If your PC's LAN IP changes (e.g., DHCP renewal, switching networks), DeskStreamer detects it and alerts you rather than silently switching. This is because changing the advertised IP disconnects every VMS connection — the operator should confirm the update.
What Happens
The tray icon turns red and a Windows balloon notification appears: "This PC's LAN IP is now X.X.X.X..."
If the Configuration panel is open, a yellow banner appears at the top.
Right-click the tray icon and choose ⚠ Update IP → X.X.X.X.
DeskStreamer restarts all streams on the new IP. The tray icon returns to green.
If your NVR doesn't reconnect automatically, re-check the device's IP in the NVR settings.
Best practice: Assign a static IP or a DHCP reservation to the DeskStreamer PC. This prevents IP changes and ensures the NVR always finds the device at the same address.
15. Remote View (Mobile)
Remote View is an optional paid add-on that lets you view DeskStreamer's live stream from a phone, anywhere in the world, via P2P WebRTC.
How It Works
DeskStreamer Windows PC
↔
Coordinator Cloud server
↔
Phone App Android/iOS
The coordinator handles pairing only; the actual video stream goes directly (P2P) between the PC and phone.
Setting Up Remote View
In the Configuration panel, scroll to System → Remote View and click Set Up Remote View...
Enable Remote View and select which cameras to publish.
A QR code appears — scan it with the DeskStreamer Remote View phone app to pair.
Once paired, the phone connects directly to the PC for live viewing.
16. Troubleshooting
NVR can't find DeskStreamer
Ensure the NVR and PC are on the same subnet.
Check that Network Discovery is enabled (Security & Network section).
Check Windows Firewall: allow inbound on ports 8000 (ONVIF), 8554 (RTSP), and UDP 3702 (WS-Discovery).
Try adding the device manually by IP instead of auto-discovery.
NVR connects but no video / "Decoding timed out"
Check the ONVIF credentials in DeskStreamer match what you entered in the NVR.
If using H.265, switch back to H.264 — H.265 over RTSP has a known compatibility issue with some NVRs.
Try lowering the resolution or bitrate if the NVR can't keep up.
High CPU usage
Enable a hardware encoder (NVENC, QSV, or AMF) in the stream editor instead of CPU (libx264).
Lower the resolution (720p or 480p instead of 1080p) and/or FPS (10-15 instead of 30).
Disable the substream if you don't need it.
Mouse cursor flickers while streaming
Try switching the Desktop Capture backend (System section) between GDI BitBlt and DXGI Desktop Duplication.
Uncheck Show mouse cursor (overlay) in the stream editor.
If the flicker persists even after completely quitting DeskStreamer, it's a GPU/display driver issue, not DeskStreamer.