rtsp-mock
v1.0.0
Published
Lightweight virtual RTSP server and mock video stream generator for CI/CD and computer vision testing
Maintainers
Readme
rtsp-mock
Lightweight virtual RTSP mock stream generator and chaos testing toolkit for CI/CD, OpenCV, and streaming media QA.
Developed by the team at RTSPLink.com.
⚡ Features
- 📺 Synthetic Stream Generator: Broadcast standard SMPTE color bars, moving timecode overlays, and millisecond frame counters without needing physical IP camera hardware.
- 🔄 Local File Looper: Broadcast any local MP4/MKV video file as a continuous live RTSP stream.
- 💥 Chaos Testing Engine: Simulate network drops, intermittent packet loss, and camera reboots to validate your application's reconnection logic.
- 🤖 CI/CD Ready: Perfect for GitHub Actions, GitLab CI, and automated
pytest/jestvideo pipelines.
🚀 Quick Start (CLI)
# Broadcast a synthetic 720p 30fps SMPTE test stream to a local or remote RTSP server
npx rtsp-mock --url rtsp://127.0.0.1:8554/live/test
# Broadcast a 1080p 60fps moving test pattern
npx rtsp-mock --pattern testsrc --resolution 1920x1080 --fps 60
# Stream an existing MP4 file on a continuous loop
npx rtsp-mock --file ./sample.mp4 --url rtsp://127.0.0.1:8554/live/test
# Run in Chaos Testing Mode (disconnects every 10 seconds to test client auto-reconnect)
npx rtsp-mock --chaos --disconnect-interval 10📦 Programmatic Usage
import { RtspMockStreamer, RtspChaosRunner } from 'rtsp-mock';
const streamer = new RtspMockStreamer({
targetRtspUrl: 'rtsp://127.0.0.1:8554/live/test',
pattern: 'smpte',
resolution: '1280x720',
fps: 30,
});
await streamer.start();
console.log('Stream is live at:', streamer.getStreamUrl());
// Later:
streamer.stop();📄 License
MIT © RTSPLink
