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 StartSeparate stats for video/audio streams. Export to JSON for automation. No video decoding — minimal CPU.
| 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 |
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 |
| Status | Drift Rate | Action |
|---|---|---|
| OK | <50ms/min | None needed |
| DRIFTING | 50-200ms/min | Monitor for sync issues |
| UNSTABLE | >200ms/min | Check camera firmware |
| 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 |
| Status | Deviation | Meaning |
|---|---|---|
| OK | ±30% | Within expected range |
| HIGH | >+30% | Exceeds SDP declaration |
| LOW | <-30% | Below SDP declaration |
| 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 |
Verify camera streams meet quality requirements before going live. Catch problems during commissioning.
Gate deployments with quality thresholds. Fail builds if streams don't meet packet loss or jitter targets.
Run periodic checks on production cameras. Detect degradation before users notice quality issues.
Compare metrics between working and problematic cameras. Isolate network vs camera issues.
v1.1.0 — Single binary, no dependencies, ~5 MB
Free for personal and non-commercial use. Contact us for commercial licensing.
On macOS/Linux: chmod +x wink-rtsp-stats-* after downloading
Works with any RTSP-compatible device. Tested with cameras from:
Also works with NVRs, DVRs, video encoders, and media servers (Wowza, Nimble, etc.)
{
"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
}
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.
Diagnosing RTSP camera streams at the RTP level. See packet loss, jitter, and timing issues without decoding video.
No. Pure packet analysis means minimal CPU, no GPU required, and no codec dependencies.
Any RTSP source: Hikvision, Dahua, Axis, Reolink, Uniview, Amcrest, and any NVR, DVR, encoder, or media server.
Yes. Pass multiple URLs or use --file. Per-stream stats with combined summary.
Variation in packet arrival times. High jitter = network congestion. Calculated per RFC 3550.
Yes. Use rtp --port 15002 to listen for RTP on a UDP port.
Use --output json for machine-readable output. Good for automation and monitoring.
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