Temporary project planned to replace MonaServer.
MonaServer is a lightweight web and media server customizable by LUA script applications. MonaServer supports currently following protocols:
- HTTP(TLS) with a rendez-vous extension (cmd RDV) to meet peers together (e.g. SDP exchange for WebRTC)
- RTP, RTSP (in progress...)
MonaServer supports advanced features for the following media containers:
- FLV, F4V
- ADTS, AAC, MP3
- SubRip, VTT
Start MonaServer developments by reading the documentation
- g++ version >=5 (or compliant clang...)
- OpenSSL libraries with headers, usually dev-package named
- LuaJIT library with headers, dev-package named libluajit-5.1-dev or prefer luajit 2.1 beta by building from sources:
git clone https://github.com/LuaJIT/LuaJIT.git cd LuaJIT make && sudo make install
git clone https://github.com/MonaSolutions/MonaServer2.git cd MonaServer2 make
To enable SRT Protocol define ENABLE_SRT variable
Start executable :
cd MonaServer ./MonaServer
- C++ vc_redist.x86 Visual Studio 2015 package
- Microsoft Visual Studio Express 2015 for Windows Desktop
- To enable SRT Protocol download and build SRT, put the header files in External/include and the libraries in External/lib and External/lib64 (with a d sufix for the debug librairies):
MonaServer/External/lib>dir MonaServer/External/lib>dir srt/srt.h pthread_lib.lib srt/logging_api.h pthread_libd.lib srt/platform_sys.h srt_static.lib srt/srt4udt.h srt_staticd.lib srt/version.h win/syslog_defs.h
Start MonaServer by selecting MonaServer project and pressing F5.
- XCode version >=8 and Xcode dev Tools which you can install using the following command :
First, install homebrew :
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Then install openssl :
brew install openssl
- LuaJIT library with headers :
brew install luajit
Or prefer luajit 2.1 beta by building from sources :
git clone https://github.com/LuaJIT/LuaJIT.git cd LuaJIT make MACOSX_DEPLOYMENT_TARGET=10.14 && sudo make install
Note: Mac-OSX target require a MACOSX_DEPLOYMENT_TARGET definition with make MACOSX_DEPLOYMENT_TARGET=10.X where (10.X is your macOS version), see this LuaJIT issue for more details.
brew install srt
Build & Start
See Unix setup Build and Start chapters
MonaTiny is a version of MonaServer without LUA script applications. Setup is identical excepting that there is no LuaJIT dependency, just start executable file ./MonaTiny/MonaTiny
To run monaserver in Docker use the following command :
docker run --rm -it --name=mona -p 80:80 -p 443:443 -p 1935:1935 -p 1935:1935/udp monaserver/monaserver
- General (in progress...)
- Script application (in progress...)
- Media streaming(in progress...)
- Script API (in progress...)
- By protocols
- HTTP protocol (in progress...)
- WebSocket protocol (in progress...)
- SRT protocol
- RTMP(E) and RTMFP protocols (in progress...)
Asks your questions or feedbacks relating MonaServer usage on the MonaServer forum.
For all issues with MonaServer please create an issue on the github issues page.