librtmfp is a multi-platform and LGPL library implementing the client part of the RTMFP protocol.
It is made to allow softwares to connect to RTMFP servers and publish or receive media streams with or without P2P.
Both MonaServer and AMS server are supported.
librtmfp can be integrated with our fork of FFmpeg to get a reliable streaming experience.
See rtmfp-cpp library for another and more recent implementation of RTMFP (in beta version for now).
You will find the Installation instructions for librtmfp and FFmpeg in the INSTALL.md file (in this directory).
As librtmfp is a C++ LGPL library it can be included in many softwares.
A testing software (TestClient) is delivered with librtmfp as a sample of usage but we recommend FFmpeg for production use.
./ffmpeg -re -i in.flv -c copy -f flv rtmfp://<hostname and port + application name>/<stream name> < /dev/null
./ffmpeg -i rtmfp://<hostname and port + application name>/<stream name> -c copy -f flv out1.flv -y
./ffmpeg -re -i in.flv -p2ppublishing true -c copy -f flv rtmfp://<hostname and port + application name>/<stream name> < /dev/null
./ffmpeg -peerid <peer ID> -i rtmfp://<hostname and port + application name>/<stream name> -c copy -f flv out1.flv -y
./ffmpeg -re -i in.flv -c copy -netgroup <netgroup identifier> -f flv rtmfp://<hostname and port + application name>/<stream name> < /dev/null
./ffmpeg -netgroup <netgroup identifier> -i rtmfp://<hostname and port + application name>/<stream name> -c copy -f flv out1.flv -y
Notes:
If you just want to play directly a stream you can use the ffplay command.
./ffplay -i rtmfp://<hostname and port + application name>/<stream name>
./ffplay -peerid <peer ID> -i rtmfp://<hostname and port + application name>/<stream name>
./ffplay -netgroup <netgroup identifier> -i rtmfp://<hostname and port + application name>/<stream name>
TODO