46 lines
1.1 KiB
Markdown
46 lines
1.1 KiB
Markdown
# rtmp-cpp
|
|
[](https://github.com/user/rtmp-cpp)
|
|
|
|
A lightweight C++ RTMP server library with C-compatible API.
|
|
|
|
## Features
|
|
- Full RTMP protocol implementation (handshake, chunking, AMF0)
|
|
- Supports publish and play streams
|
|
- Callbacks for connect, publish, play, audio/video data, disconnect
|
|
- GOP cache for low-latency playback
|
|
- FLV file recording
|
|
- Authentication callback
|
|
- Stream statistics (bitrate, frames, uptime)
|
|
- Connection limits, timeouts, ping/pong
|
|
|
|
## Quick Start
|
|
|
|
### Build
|
|
```bash
|
|
./build.sh
|
|
```
|
|
|
|
This builds `librtmp.so` and example binary `rtmp_example`.
|
|
|
|
## Windows Support
|
|
|
|
Windows Support has been added in the branch [windows-support](https://github.com/ExilProductions/rtmp-cpp/tree/windows-support)
|
|
|
|
### Run Example
|
|
```bash
|
|
./build/rtmp_example
|
|
```
|
|
|
|
Server listens on `rtmp://localhost:1935/live/stream`
|
|
|
|
Test with OBS:
|
|
- Server: `rtmp://127.0.0.1/live`
|
|
- Stream key: `stream`
|
|
|
|
Or FFmpeg:
|
|
```bash
|
|
ffmpeg -re -i input.mp4 -c copy -f flv rtmp://127.0.0.1/live/stream
|
|
```
|
|
|
|
## License
|
|
MIT |