Files

84 lines
1.8 KiB
Markdown

# ZLMediaKit Smoke Test Profile
## Status
**OPTIONAL / NON-BLOCKING**
Use these checks when you want to verify external interoperability with ZLMediaKit. They are not part of the mandatory acceptance matrix.
## Current Scope
This repo now emits:
- RTP
- Enhanced RTMP through `libavformat` or `ffmpeg_process`
- MCAP recording
It does not contain:
- a custom RTMP packetizer
- RTMP domestic mode
- direct in-repo RTSP publishing
- direct in-repo WebRTC publishing
- audio support
## Quick Start
Run ZLMediaKit in Docker:
```bash
docker run --rm -it \
-p 1935:1935 \
-p 8080:80 \
-p 8000:8000/udp \
zlmediakit/zlmediakit:master
```
## Publish From `cvmmap-streamer`
```bash
cd ~/Code/cvmmap-streamer
./build/cvmmap_streamer \
--run-mode pipeline \
--input-uri 'cvmmap://zed@/tmp/cvmmap' \
--codec h264 \
--encoder-backend ffmpeg \
--encoder-device nvidia \
--rtmp \
--rtmp-url 'rtmp://127.0.0.1/live/zlm_smoke' \
--rtmp-transport libavformat
```
For an external fallback/oracle path:
```bash
./build/cvmmap_streamer \
--run-mode pipeline \
--input-uri 'cvmmap://zed@/tmp/cvmmap' \
--codec h265 \
--encoder-backend ffmpeg \
--encoder-device software \
--rtmp \
--rtmp-url 'rtmp://127.0.0.1/live/zlm_smoke_h265' \
--rtmp-transport ffmpeg_process
```
## Playback Checks
```bash
ffplay rtmp://127.0.0.1/live/zlm_smoke
ffplay http://127.0.0.1:8080/live/zlm_smoke.live.flv
ffplay http://127.0.0.1:8080/live/zlm_smoke.live.ts
```
## Notes
- Use Enhanced RTMP only.
- Prefer `h264` when testing browser-facing or WebRTC-facing downstream bridges.
- Any WebRTC playback is provided by ZLMediaKit, not by this repo directly.
## References
- [ZLMediaKit GitHub](https://github.com/ZLMediaKit/ZLMediaKit)
- [Enhanced RTMP Specification](https://github.com/veovera/enhanced-rtmp)