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
Roadmap
You can View the Roadmap Here.
Quick Start
Build
./build.sh
This builds librtmp.so and example binaries rtmp_server_cpp and rtmp_server_c.
Windows Support
Windows Support hasn't been added yet, it will be implemented once the Linux Port is fully Working.
Run Example
./build/rtmp_server_cpp
# or ./build/rtmp_server_c
Server listens on rtmp://localhost:1935/live/stream
Test with OBS:
- Server:
rtmp://127.0.0.1/live - Stream key:
stream
Or FFmpeg:
ffmpeg -re -i input.mp4 -c copy -f flv rtmp://127.0.0.1/live/stream
License
MIT
Languages
C++
96.5%
C
2.6%
CMake
0.8%