kunlang_video/README.md

95 lines
1.9 KiB
Markdown
Raw Permalink Normal View History

2026-05-09 10:51:10 +08:00
# Vehicle Video Service
This repository builds and packages the vehicle video service as one deployable stack:
- `vehicle_video_service`: camera capture, RTMP push, MQTT status and record query handling.
- SRS live instance: low-latency live playback over RTMP to WebRTC/WHEP.
- SRS record instance: DVR segment recording and HTTP file serving.
- systemd units for all three services.
## Build
```bash
./scripts/build_video.sh
```
If you need to rebuild SRS from the bundled source:
```bash
./scripts/build_srs.sh
```
2026-05-09 11:12:24 +08:00
SRS is built out-of-tree into:
```text
build/srs/objs/srs
```
2026-05-09 10:51:10 +08:00
## Package
```bash
./scripts/package_release.sh
```
Or build everything and package it in one command:
```bash
./scripts/build_all.sh
```
The output is:
```text
dist/vehicle-video-service-aarch64.tar.gz
```
## Install On Target
```bash
tar -xzf vehicle-video-service-aarch64.tar.gz
cd vehicle-video-service-aarch64
sudo ./install.sh
```
Defaults:
- Install dir: `/opt/vehicle-video-service`
- Record dir: `/media/record`
- Runtime user: `$SUDO_USER`
You can override them:
```bash
sudo INSTALL_DIR=/opt/vehicle-video-service SERVICE_USER=aiec ./install.sh
```
## Services
```bash
systemctl status vehicle-video-srs-live.service
systemctl status vehicle-video-srs-record.service
systemctl status vehicle-video-service.service
```
The application reads `config.json` next to the executable at:
```text
/opt/vehicle-video-service/bin/config.json
```
2026-05-09 11:36:51 +08:00
## Web Configuration
The service includes a small built-in configuration page:
```text
http://<device-ip>:18080
```
Default login:
```text
admin / admin123
```
The page can edit camera channels, live/record switches, SRS ports, record path, MQTT settings, and the management page port. Saving writes `config.json` and regenerates SRS `live.conf` / `record.conf` under the configured SRS root. Restart the related services after saving for runtime changes to take effect.