How jacobp-developer/camera-viewer-rtsp works
This is a Python RTSP camera viewer and diagnostic tool, with separate Linux and Termux/Android entry points. The user supplies a camera IP, the tool identifies the vendor and tests stream paths, then parses SDP and plays a selected stream. The README also documents audio/backchannel checks and interactive path/vendor controls. Both implementations are largely monolithic; the graph separates their responsibilities conceptually. Sampled excerpts support the probing and player details, while some documented feature wiring is not visible.
Main entry points: linux/connect.py Linux viewer · android/connect.py Android viewer
Components 15
Discovery and controls
- Linux viewer
linux/connect.py - Android viewer
android/connect.py - Vendor detection
linux/connect.py - Interactive controls
linux/connect.py - Path probing
linux/connect.py - SDP analysis
linux/connect.py - Audio checks
linux/connect.py
Linux runtime
- GStreamer player
- GStreamer plugins
Android runtime
- Termux:X11
- mpv player
External systems
- RTSP camera
- nmap scanner
Other components
- Operator
- Live video
Connections 25
- Operator → Linux viewer: enters IP
- Operator → Android viewer: enters IP
- Linux viewer → Vendor detection: detects vendor
- Android viewer → Vendor detection: detects vendor
- Vendor detection → nmap scanner: scans with
- Vendor detection → RTSP camera: reads RTSP banner
- Linux viewer → Interactive controls: offers controls
- Android viewer → Interactive controls: offers controls
- Linux viewer → Path probing: probes paths
- Android viewer → Path probing: probes paths
- Path probing → RTSP camera: sends RTSP requests
- Path probing → SDP analysis: passes SDP
- SDP analysis → Linux viewer: returns stream details
- SDP analysis → Android viewer: returns stream details
- Linux viewer → Audio checks: checks audio
- Android viewer → Audio checks: checks audio
- Audio checks → RTSP camera: probes audio and ONVIF
- Linux viewer → GStreamer plugins: checks elements
- Linux viewer → GStreamer player: launches pipeline
- Android viewer → Termux:X11: starts display
- Android viewer → mpv player: launches playback
- GStreamer player → RTSP camera: opens selected stream
- mpv player → RTSP camera: opens selected stream
- GStreamer player → Live video: renders
- mpv player → Live video: renders