How azeolxc/v380decoder works
V380 Decoder is a camera-stream extraction and serving application. A user configures it through the CLI; the application discovers or connects to a LAN/cloud camera, authenticates and receives encrypted media, then exposes decoded video/audio through RTSP or standard-output modes. Optional branches provide camera control and snapshots through a web API/UI, and ONVIF services and discovery. Source excerpts confirm the main entry point and several server responsibilities; some subsystem wiring is based on the README and is left out where the exact call path is not shown.
Main entry points: V380Client.cs Camera client · Program.cs Application entry · WebServer.cs Web UI and API · RtspServer.cs RTSP server
Components 22
Runtime orchestration
- Application entry
Program.cs - Argument parsing
src/ArgParser.cs
Camera media
- LAN discovery
src/DeviceDiscovery.cs - Relay lookup
src/DispatchRelayServer.cs - Camera client
src/V380Client.cs - Camera commands
src/V380Commands.cs - Frame data
src/FrameData.cs
Stream outputs
- RTSP server
src/RtspServer.cs - RTSP sessions
src/RtspSession.cs - Snapshot manager
src/SnapshotManager.cs
Control and discovery
- Web UI and API
src/WebServer.cs - Control UI
src/WebPage.cs - ONVIF handler
src/OnvifHandler.cs - ONVIF discovery
src/OnvifDiscovery.cs
Other components
- Operator
- Cloud relay
- V380 camera
- RTSP clients
- Pipe consumers
- ONVIF clients
- Web users
- FFmpeg
Connections 28
- Operator → Application entry: configures
- Application entry → Argument parsing: parses options
- Application entry → LAN discovery: starts discovery
- Application entry → Relay lookup: resolves cloud
- Relay lookup → Cloud relay: queries relay
- Application entry → Camera client: starts client
- Camera client → V380 camera: authenticates and streams
- Camera client → Cloud relay: connects via relay
- Camera client → Frame data: assembles media
- Camera client → RTSP server: supplies media
- Application entry → RTSP server: starts server
- RTSP server → RTSP sessions: accepts sessions
- RTSP sessions → RTSP clients: serves RTSP
- Camera client → Pipe consumers: writes selected output
- Application entry → Web UI and API: starts web server
- Web UI and API → Control UI: serves UI
- Web users → Web UI and API: requests controls
- Web UI and API → Camera commands: dispatches commands
- Camera commands → Camera client: controls camera
- Web UI and API → Snapshot manager: requests snapshots
- Camera client → Snapshot manager: provides frames
- Web UI and API → ONVIF handler: routes SOAP
- ONVIF handler → Camera client: controls camera
- ONVIF handler → RTSP server: reports stream URI
- Application entry → ONVIF discovery: starts discovery
- ONVIF clients → ONVIF discovery: probes device
- ONVIF discovery → ONVIF clients: announces endpoint
- Snapshot manager → FFmpeg: decodes frames