The modern RTP/RTCP toolkit. Analyze, record, relay, and pipe RTP streams with industrial-strength jitter buffering and packet reordering.
Inspired by Columbia University's legendary rtptools, completely reimagined for modern streaming workflows. Multi-SSRC tracking, RFC 8285 header extensions, JSON output, CI/CD exit codes, and a jitter buffer that fixes streams other tools can't touch.
Download CommandsOur per-SSRC jitter buffer uses a min-heap data structure to reorder packets that arrive out of sequence. Networks cause packet reordering through multi-path routing, load balancers, and QoS policies. Most decoders choke on out-of-order packets — H.264 loses reference frames, audio gets clicks and pops. Our buffer holds packets up to a configurable deadline, then emits them in perfect sequence order. We've fixed streams with 5%+ reordering that were completely unwatchable.
Track each synchronization source independently with its own sequence tracking, jitter calculation, loss detection, and bitrate computation. WebRTC calls have 6+ SSRCs — we handle them all.
Per-SSRC jitter buffer with extended 32-bit sequence numbers that handles wraps seamlessly. Configurable latency from 50ms (live) to 1000ms (recording).
Parse abs-send-time, transport-cc, audio-level, mid, rid, and playout-delay extensions. Human-readable output instead of hex dumps.
Exit codes based on loss, jitter, and throughput thresholds. JSON output for monitoring pipelines. Automate your stream validation.
Export to JSON, JSONL (per-packet), PCAPNG (Wireshark), or legacy rtpdump format. Feed metrics to Prometheus, Datadog, or Splunk.
Zero dependencies. No Python, no .NET, no DLLs. Download, chmod +x, run. Built in Go for native performance and cross-platform consistency.
Real-time RTP/RTCP analysis with per-SSRC stats, color-coded health, and threshold-based exit codes.
wink-rtpdump inspect udp://0.0.0.0:5004 --duration 60s
Extract RTP payload for ffmpeg/ffplay/GStreamer. Optional jitter buffer for smooth playback.
wink-rtpdump pipe udp://0.0.0.0:5004 --payload --jitter-buffer 200 | ffplay -i -
Capture to PCAPNG (Wireshark), JSONL (per-packet log), or legacy rtpdump format.
wink-rtpdump record udp://0.0.0.0:5004 --output-pcap capture.pcapng
Playback recordings with timing control. Loop, speed up, or pace to original timing.
wink-rtpdump replay capture.pcapng --dest 127.0.0.1:5004 --loop
Forward streams with jitter buffer. Fix problematic feeds before they hit your encoder.
wink-rtpdump relay udp://0.0.0.0:5004 127.0.0.1:6004 --jitter-buffer 300
Generate minimal SDP description from observed stream characteristics.
wink-rtpdump sdp udp://0.0.0.0:5004 --duration 5s > stream.sdp
We give this tool away for free. But here's the reality: configuring jitter buffers, understanding packet reordering, and piping RTP to decoders is complicated. Most engineers spend days getting it right.
WINK Forge has industrial-strength RTP analysis and jitter buffering built right in. No command lines. No FFmpeg pipelines. Just a web UI where you configure buffer sizes with a slider and watch real-time statistics. Plus professional support when things get weird.
Camera feeds over bonded cellular with 3%+ reordering? Relay with 300ms jitter buffer fixes it. Your production looks professional again.
High-latency uplinks with variable jitter. 500ms buffer absorbs satellite-induced timing issues. Clean cuts to remote reporters.
Per-SSRC metrics for video conferencing QoS. JSON output to your monitoring stack. SLA verification with exit codes.
100,000 viewers waiting? Run quick checks on all feeds with threshold-based exit codes. All green? Go live with confidence.
Monitor 500 multicast channels 24/7. JSONL output to Splunk/ELK. Alert on loss > 0.1% or jitter > 20ms.
Vintage equipment with timing issues? Buffer the RTP output before archival encoding. Decades of history preserved properly.
| Capability | rtptools (1998) | wink-rtpdump (2024) |
|---|---|---|
| Binary | Requires compilation | Pre-built all platforms |
| Dependencies | libc, build tools | None (static) |
| Multi-SSRC | Limited | Full per-SSRC tracking |
| Jitter Buffer | None | Per-SSRC, configurable |
| Header Extensions | None | RFC 8285 full parsing |
| Output Formats | Proprietary binary | JSON, JSONL, PCAPNG |
| CI/CD Exit Codes | None | Threshold-based |
| High Bitrate | Struggles at 10Mbps+ | 100Mbps+ easily |
v1.0.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-rtpdump-* after downloading
| Code | Meaning |
|---|---|
0 |
Success - all thresholds passed |
2 |
Packet loss exceeded threshold |
3 |
Jitter exceeded threshold |
4 |
Throughput below threshold |
5 |
No RTP packets received |
6 |
Parse error |
7 |
Network error |
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 RTP Dump v1.0.0 — June 2023