refactor(streamer): consume control and body over NATS
This commit is contained in:
@@ -7,7 +7,8 @@ A standalone C++ downstream project that reads frames from cv-mmap IPC, encodes
|
||||
This project consumes video frames from the cv-mmap shared memory interface and publishes them as encoded streams. It operates as a downstream consumer only, never writing to the cv-mmap shared memory.
|
||||
|
||||
**Key Features:**
|
||||
- Reads cv-mmap IPC frames via POSIX shared memory + ZeroMQ synchronization
|
||||
- Reads cv-mmap IPC frames via POSIX shared memory + ZeroMQ frame sync
|
||||
- Consumes cv-mmap control/status/body over NATS
|
||||
- NVENC H.264/H.265 encoding with deterministic software fallback
|
||||
- RTP UDP-unicast publisher with automatic SDP generation
|
||||
- RTMP publisher with dual H.265 modes (Enhanced-RTMP + domestic extension)
|
||||
@@ -22,6 +23,7 @@ This project consumes video frames from the cv-mmap shared memory interface and
|
||||
- CMake 3.20+
|
||||
- GStreamer 1.20+ with development headers
|
||||
- ZeroMQ (cppzmq) with development headers
|
||||
- NATS server reachable at runtime
|
||||
- spdlog
|
||||
- NVIDIA GPU with NVENC support (optional, falls back to software encoding)
|
||||
|
||||
@@ -156,7 +158,8 @@ Run the fault injection and latency validation suite.
|
||||
| Flag | Description | Default |
|
||||
|------|-------------|---------|
|
||||
| `--shm-name NAME` | POSIX shared memory segment name | required |
|
||||
| `--zmq-endpoint URI` | ZeroMQ PUB endpoint for sync/status | required |
|
||||
| `--zmq-endpoint URI` | ZeroMQ PUB endpoint for frame sync | required |
|
||||
| `--nats-url URL` | NATS server for control/status/body | `nats://localhost:4222` |
|
||||
| `--queue-size N` | Ingest queue capacity (1 = latest-frame) | 1 |
|
||||
|
||||
### Codec Options
|
||||
|
||||
Reference in New Issue
Block a user