Free CLI Tool v1.1.0 ~5 MB

WINK RTSP Stats v1.1

Real-time RTSP/RTP stream analyzer. Monitor packet loss, jitter, bitrate, clock drift, and stream health at the protocol level — no video decoding required.

A lightweight CLI tool that connects to IP cameras and RTSP sources to collect network-level quality metrics. Identify problems before they affect your viewers. Perfect for pre-deployment validation, continuous monitoring, and CI/CD integration.

Download Quick Start
wink-rtsp-stats
# Monitor a camera for 60 seconds
$ wink-rtsp-stats monitor rtsp://cam/stream --duration 60s

# Quality gate for CI/CD
$ wink-rtsp-stats monitor rtsp://cam/stream \
  --loss-threshold 2.0 --jitter-threshold 50

# Multi-camera from file
$ wink-rtsp-stats monitor --file cameras.txt --max-streams 10

What's New in v1.1

  • Stream Fingerprints — One-line stream identification showing codec, profile, resolution, and transport
  • Quality Gates (CI/CD) — Exit codes based on configurable loss and jitter thresholds
  • Multi-Camera Monitoring — Test multiple cameras from a file with concurrent stream limits
  • Raw RTP Listening — Listen on UDP ports without RTSP negotiation
  • Enhanced JSON Output — Schema v1.1 with detailed per-stream metrics and timing data
ffprobe
Reads metadata — tells you what the stream claims to be.
VLC
Shows video — you eyeball it and hope nothing's wrong.
RTSP Stats
Measures protocol truth — packet loss, jitter, drift. What's actually happening.

Live Demo

Quick Start

Examples
# Basic monitoring for 60 seconds, output JSON
$ wink-rtsp-stats monitor rtsp://camera/stream --duration 60s --output json

# Quality gate: fail if loss > 2% or jitter > 50ms
$ wink-rtsp-stats monitor rtsp://camera/stream \
  --duration 60s --loss-threshold 2.0 --jitter-threshold 50
$ echo "Exit code: $?"

# Multi-camera monitoring from file
$ wink-rtsp-stats monitor --file cameras.txt --duration 30s --max-streams 10

# Raw RTP listening without RTSP negotiation
$ wink-rtsp-stats rtp --port 15002 --duration 30s

Metrics Collected

Loss % Packet Loss
Jitter RFC 3550
Bitrate Real vs SDP
Drift Clock Drift
Burst Burstiness
Fingerprint Codec/Profile
ICMP Ping Latency
SSRC Per-Stream

Separate stats for video/audio streams. Export to JSON for automation. No video decoding — minimal CPU.

Command Line Options

Monitor Command
Flag Default Description
--duration Run duration (e.g., 30s, 5m)
--interval 333ms Stats refresh interval
--output console Output format: console or json
--transport auto Force tcp or udp
--timeout 5s RTSP connection timeout
--rtp-timeout 10s Stall detection timeout
--loss-threshold 0 Exit code 2 if loss % exceeds threshold
--jitter-threshold 0 Exit code 3 if jitter ms exceeds threshold
--file - Load RTSP URLs from file (one per line)
--max-streams 0 Limit concurrent streams (0 = unlimited)
--no-ansi false Disable colors in output

Exit Codes

Use exit codes in CI/CD pipelines to gate deployments based on stream quality.

Code Meaning Typical Cause
0 Success Stream healthy, all thresholds passed
1 General error Connection failed, authentication error
2 Loss Packet loss exceeded --loss-threshold
3 Jitter Jitter exceeded --jitter-threshold
4 Stalled No RTP packets received within timeout
5 Failed RTSP connection could not be established

Interpreting Results

Clock Drift Status
Status Drift Rate Action
OK <50ms/min None needed
DRIFTING 50-200ms/min Monitor for sync issues
UNSTABLE >200ms/min Check camera firmware
Burstiness Status
Status Burst Ratio Meaning
SMOOTH <1.5 Even packet distribution
MODERATE 1.5-3.0 Normal for video
BURSTY >3.0 May need traffic shaping
Bitrate Deviation
Status Deviation Meaning
OK ±30% Within expected range
HIGH >+30% Exceeds SDP declaration
LOW <-30% Below SDP declaration
Packet Loss Severity
Loss % Status Impact
0-0.1% Excellent Imperceptible
0.1-1% Good Minor artifacts possible
1-5% Warning Visible quality loss
>5% Critical Stream degraded

Use Cases

Pre-Deployment

Verify camera streams meet quality requirements before going live. Catch problems during commissioning.

CI/CD Integration

Gate deployments with quality thresholds. Fail builds if streams don't meet packet loss or jitter targets.

Health Monitoring

Run periodic checks on production cameras. Detect degradation before users notice quality issues.

Troubleshooting

Compare metrics between working and problematic cameras. Isolate network vs camera issues.

Download

v1.1.0 — Single binary, no dependencies, ~5 MB

Free for personal and non-commercial use. Contact us for commercial licensing.

Windows

x64 ARM64
x64 (5 MB) ARM64 (5 MB)

macOS

Apple Silicon Intel
Apple Silicon (5 MB) Intel (5 MB)

Linux

x64 ARM64
x64 (5 MB) ARM64 (5 MB)

On macOS/Linux: chmod +x wink-rtsp-stats-* after downloading

Tested Cameras

Works with any RTSP-compatible device. Tested with cameras from:

Hikvision Dahua Reolink Amcrest Axis Hanwha Uniview Vivotek Bosch Panasonic Sony Pelco FLIR Mobotix ONVIF

Also works with NVRs, DVRs, video encoders, and media servers (Wowza, Nimble, etc.)

JSON Output Schema (v1.1)

{
  "tool": "wink-rtsp-stats",
  "version": "1.1.0",
  "schema_version": "1.1",
  "target": "rtsp://camera/stream",
  "duration_s": 30.0,
  "timing": {
    "rtsp_connect_time_ms": 45.2,
    "first_rtp_time_ms": 120.5
  },
  "streams": [
    {
      "ssrc": "0x1234abcd",
      "media_type": "video",
      "codec": "H264",
      "profile": "Main",
      "level": "4.1",
      "resolution": "1920x1080",
      "framerate": 29.97,
      "transport": "TCP",
      "packets_received": 18084,
      "packets_lost": 15,
      "loss_percent": 0.08,
      "jitter_avg_ms": 15.0,
      "jitter_max_ms": 42.3,
      "bitrate_avg_kbps": 4200,
      "clock_drift_status": "OK",
      "clock_drift_ms_per_min": 12,
      "burstiness_status": "SMOOTH",
      "burstiness_ratio": 1.2
    }
  ],
  "exit_code": 0
}

Built Into WINK Forge

This CLI tool is perfect for quick diagnostics. For production deployments, WINK Forge includes all these RTSP/RTP analytics built-in with a powerful web UI. Real-time dashboards showing packet loss, jitter, bitrate graphs per stream. Automatic alerting when quality degrades. No command lines — configure everything through your browser with professional support.

FAQ

What is this for?

Diagnosing RTSP camera streams at the RTP level. See packet loss, jitter, and timing issues without decoding video.

Does it decode video?

No. Pure packet analysis means minimal CPU, no GPU required, and no codec dependencies.

What cameras work?

Any RTSP source: Hikvision, Dahua, Axis, Reolink, Uniview, Amcrest, and any NVR, DVR, encoder, or media server.

Multiple streams?

Yes. Pass multiple URLs or use --file. Per-stream stats with combined summary.

What's jitter?

Variation in packet arrival times. High jitter = network congestion. Calculated per RFC 3550.

Raw RTP without RTSP?

Yes. Use rtp --port 15002 to listen for RTP on a UDP port.

JSON output?

Use --output json for machine-readable output. Good for automation and monitoring.

What are stream fingerprints?

One-line identification: H264 Main L4.1 | 1920x1080@29.97 | PT=96 | TCP

CC BY-NC-ND 4.0 — Free for personal and non-commercial use

Share with attribution. No commercial use or derivatives without permission. Contact us for commercial licensing.

Questions? support@wink.co

WINK RTSP Stats v1.1.0 — February 2026