Utility Plugins
This page covers utility plugins that previously had no dedicated pages.
Plugin Matrix
Section titled “Plugin Matrix”| Plugin | Feature | HTTP API | Notes |
|---|---|---|---|
| LogRotate | logrotate | No | Log rotation and retention |
| Debug | debug | Build-dependent | Developer diagnostics |
| SEI | sei | No | H.264/H.265 SEI injection |
| Crontab | crontab | No (config-driven) | Scheduled tasks |
| Mix | mix | No (capability-driven) | Multi-stream mixing |
| Crypto | crypto | No | Media encryption capability |
| Report | report | Yes | Media quality metrics reporting |
| Test | test | Yes | Integration and stress test APIs |
Detailed docs
Section titled “Detailed docs”- Test Plugin
- Report Plugin
- LogRotate Plugin
- Debug Plugin
- SEI Injection Plugin
- Crontab Plugin
- Mix Plugin
- Crypto Plugin
LogRotate
Section titled “LogRotate”Enable
Section titled “Enable”features = ["logrotate"]Key config
Section titled “Key config”logrotate: path: "./logs" max_size: 10485760 max_files: 7 level: "info"Crontab
Section titled “Crontab”Enable
Section titled “Enable”features = ["crontab"]Typical config
Section titled “Typical config”crontab: jobs: - name: "daily-record" cron: "0 8 * * *" action: "record_start" stream: "live/camera01" duration: 3600Report (HTTP API)
Section titled “Report (HTTP API)”Prefix: /report/
Submit metrics
Section titled “Submit metrics”POST /report/metricsContent-Type: application/jsonCore body fields:
| Field | Type | Required | Description |
|---|---|---|---|
user_id | string | Yes | User ID |
room_id | string | Yes | Room ID |
sdk_version | string | Yes | SDK version |
report_time | int64 | Yes | Report timestamp |
metrics | array | Yes | Metrics entries |
List rooms
Section titled “List rooms”GET /report/roomsRoom metrics
Section titled “Room metrics”GET /report/metrics/{room_id}GET /report/metrics/{room_id}/{user_id}History
Section titled “History”GET /report/history/{room_id}Test (HTTP API)
Section titled “Test (HTTP API)”Prefix: /test/
Query cases and jobs
Section titled “Query cases and jobs”GET /test/GET /test/integrationGET /test/stressGET /test/casesGET /test/api/casesGET /test/api/stress/countExecute and stress operations
Section titled “Execute and stress operations”POST /test/api/cases/executePOST /test/api/stress/push/{protocol}/{count}POST /test/api/stress/pull/{protocol}/{count}POST /test/api/stress/stop/pushPOST /test/api/stress/stop/pullPOST /test/stopKey body examples
Section titled “Key body examples”Execute cases:
{ "names": ["basic_rtmp_to_flv", "webrtc_publish"] }Stress push:
{ "remoteURL": "rtmp://localhost/live/stress/%d", "streamPath": "live/source"}Stress pull:
{ "remoteURL": "rtmp://localhost/live/source", "testMode": 0}