# 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)