;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; This file documents all the ini parameters of MonaServer ;;; ;;; and list them with their values by default, ;;; ;;; without this file their parameters values are these ;;; ;;; ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; By default MonaServer.exe search a "MonaServer.ini" ;;; ;;; in the same folder, but you can also start MonaServer ;;; ;;; with path to one other ini file as first argument: ;;; ;;; /> MonaServer /currentPath/Server.ini ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;; GENERAL ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; application description (displaid with --help argument for example) description=MonaServer ; number of cores to use, default value 0 give a cores auto detection cores=0 ; reuses buffer rather delete them poolBuffers=true ; www folder of Mona, containing server applications wwwDir="www" ; data folder of Mona, containing database dataDir="data" ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;; CATEGORIZED ;;;;;;;;;;;;;;;;;;;;;;;;;;; ; configure logs of Mona, in addition if you set [logs=Publication] ; it makes logs accessible remotely by all protocols supported by mona ; (a 'logs' mona publication is created, see 'PUBLICATIONS' part above) ; For example you can see logs in real-time in a browser in opening http://locahost/logs.dat [logs] ; directory where are stored logs directory=MonaServer.log ; max size for a log file, if exceeds it starts a new log file, 0 value continues indefinitely to write the same file maxSize=1000000 ; number of log files to preserve, 1 value write all logs in the same file, 0 value will write a illimited number of files rotation=10 ; configure path for TLS certificat and key [TLS] certificat=E:\HFS\acme.cer key=E:\HFS\acme.key ; configure all sockets in mona [net] ; bufferSize, base parameters for recvBufferSize and sendBufferSize bufferSize=65536 ; recvBufferSize, customize receiving socket buffer size recvBufferSize=65536 ; recvBufferSize, customize sending socket buffer size sendBufferSize=65536 ; Common properties and setting of publication, valable for all publication, ; can be specialized for one publication:see PUBLICATIONS below part [publication] ; an user property server=mona ; segmenting the publication to be available from HLS and configure the number of segments (0 by default for not segmenting) ; If just segments is set without value the default value is 4 segments=0 ; max duration of every segments, by default (or if equals 0) it’s minimized to key-frame interval (one key by segment). duration=0 ; Define if a recording must override or append an old record, for details on recording see PUBLICATIONS below part append=false ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;; SERVERS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Configure server and protocol of Mona, every protocol parameters can be ; generalized with general parameters (see above in GENERAL), for example ; you can set the same publicHost and bufferSize for all protocols and ; configure a specific bufferSize just for HTTP: ; publicHost=69.89.31.226 ; bufferSize=65536 ; [HTTP] ; bufferSize=131072 ; [HTTP(=true|false)] HTTP server [HTTP=false] ; socket bind port=8000 host=0.0.0.0 publicPort=8000 publicHost=127.0.0.1 ; socket parameters, if not set use [net] parameters (see above in CATEGORIZED) bufferSize=65536 recvBufferSize=65536 sendBufferSize=65536 ; timeout connection in seconds timeout=10 ; boolean or string, build a "index" files page on a folder GET request, if false returns a 401 unauthorized error ; value can be a file name to redirect a folder GET request to a file, for example index="index.html" index=true ; rendezVous experimental service (HTTP 'RDV' command), allow to meet (with data exchange) two clients ; can be usefull to start a WebRTC session for example between two peers (with SDP exchange) rendezVous=false ; Add HTTP header in response to isolated cross origin request, make working page with SharedArrayBuffer ; For more details see: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Embedder-Policy crossOriginIsolated=false ; [HTTPS(=true|false)] HTTP SSL server, disabled if TLS certificat and key are missing [HTTPS] ; socket bind port=8000 host=0.0.0.0 publicPort=443 publicHost=127.0.0.1 ; socket parameters, if not set use [net] parameters (see above in CATEGORIZED) bufferSize=65536 recvBufferSize=65536 sendBufferSize=65536 ; timeout connection in seconds timeout=10 ; boolean or string, build a "index" files page on a folder GET request, if false returns a 401 unauthorized error ; value can be a file name to redirect a folder GET request to a file, for example index="index.html" index=true ; rendezVous experimental service (HTTP 'RDV' command), allow to meet (with data exchange) two clients ; can be usefull to start a WebRTC session for example between two peers (with SDP exchange) rendezVous=false ; Add HTTP header in response to isolated cross origin request, make working page with SharedArrayBuffer ; For more details see: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Embedder-Policy crossOriginIsolated=false ; [WS(=true|false)] WebSocket server, disabled if HTTP is disabled [WS] ; socket parameters only for clients, if not set use [net] parameters (see above in CATEGORIZED) bufferSize=65536 recvBufferSize=65536 sendBufferSize=65536 ; timeout connection in seconds timeout=80 ; [WSS(=true|false)] WebSocket SSL server, disabled if HTTPS is disabled [WSS] ; socket parameters only for clients, if not set use [net] parameters (see above in CATEGORIZED) bufferSize=65536 recvBufferSize=65536 sendBufferSize=65536 ; timeout connection in seconds timeout=80 ; [STUN(=true|false)] STUN server [STUN=false] ; socket bind port=3478 host=0.0.0.0 publicPort=3478 publicHost=127.0.0.1 ; socket parameters, if not set use [net] parameters (see above in CATEGORIZED) bufferSize=65536 recvBufferSize=65536 sendBufferSize=65536 ; [SRT(=true|false)] SRT server, disabled if Mona is not built with ENABLE_SRT ; Parameters also any SRT socket in mona even if server is disabled with [SRT=false] [SRT] ; socket bind port=9710 host=0.0.0.0 publicPort=9710 publicHost=127.0.0.1 ; socket parameters, if not set use [net] parameters (see above in CATEGORIZED) bufferSize=65536 recvBufferSize=65536 sendBufferSize=65536 ; SRTO_TLPKTDROP, see https://github.com/Haivision/srt/blob/master/docs/API.md#options pktdrop=true ; SRTO_PBKEYLEN, see https://github.com/Haivision/srt/blob/master/docs/API.md#options encryption=0 ; SRTO_PASSPHRASE, see https://github.com/Haivision/srt/blob/master/docs/API.md#options passphrase= ; SRTO_RCVLATENCY, see https://github.com/Haivision/srt/blob/master/docs/API.md#options latency=120 ; SRTO_PEERLATENCY, see https://github.com/Haivision/srt/blob/master/docs/API.md#options peerlatency=0 ; SRTO_MSS, see https://github.com/Haivision/srt/blob/master/docs/API.md#options mss=1500 ; SRTO_OHEADBW, see https://github.com/Haivision/srt/blob/master/docs/API.md#options overheadbw=25 ; SRTO_MAXBW, see https://github.com/Haivision/srt/blob/master/docs/API.md#options maxbw=-1 ; [RTMP(=true|false)] RTMP (and RTMPE) server [RTMP] ; socket bind port=1935 host=0.0.0.0 publicPort=1935 publicHost=127.0.0.1 ; socket parameters, if not set use [net] parameters (see above in CATEGORIZED) bufferSize=65536 recvBufferSize=65536 sendBufferSize=65536 ; timeout connection in seconds timeout=60 ; [RTMPS(=true|false)] RTMPS server, disabled if TLS certificat and key are missing [RTMPS] ; socket bind port=8443 host=0.0.0.0 publicPort=8443 publicHost=127.0.0.1 ; socket parameters, if not set use [net] parameters (see above in CATEGORIZED) bufferSize=65536 recvBufferSize=65536 sendBufferSize=65536 ; timeout connection in seconds timeout=60 ; [RTMFP(=true|false)] RTMFP server [RTMFP] ; socket bind port=1935 host=0.0.0.0 publicPort=1935 publicHost=127.0.0.1 ; socket parameters, if not set use [net] parameters (see above in CATEGORIZED) bufferSize=65536 recvBufferSize=65536 sendBufferSize=65536 ; keepalive frequency between peers in seconds keepalivePeer=10 ; keepalive frequency between peers in seconds keepalivePeer=10 ; addresses separated by semicolon of other RTMFP server to make scalable the rendezvous service of RTMFP addresses= ;;;;;;;;;;;;;;;; MUTLIPLE SERVER INSTANCES ;;;;;;;;;;;;;;;;;;;; ; Start multiple server instances with [name=protocol], parameters inherit from those of the base protocol. ; Uncomment the two lines below for example to start a 2nd server HTTP on port 88 ; [myHTTP2=HTTP] ; port=88 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;; PUBLICATIONS ;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Mona publication are media stream shared between all the protocol supported by Mona ; Any protocol can publish a new publication, or subscribe to a publication ; Use sub category with [name=Publication] to configure some publication properties and settings, ; as soon as a publication with this name is created these properties will be assigned to it. ; By this way it inherits of properties and settings set in [publication] section (see CATEGORIZED part below) ; [test=Publication] ; description= publication of test ; name=value ; ; Also allow of mapping a publication with input and output stream (TODO document it!) ; A publication with input streams will be created when a stream input start ; A publication with output streams will serve them one time the publication started by any protocol publisher ; Examples: ; ; create a publication 'test' reading Sintel.ts with its Sintel.vtt subtitle ; [test=publication] ; IN Sintel.ts ; IN Sintel.vtt ; ; will record publication 'test' in flv and its subtitle in srt ; [test=publication] ; OUT record.flv ; OUT record.srt ; UDP/TS input on port 1234 will be recorded in a mp4 file ; [test=publication] ; IN udp://0.0.0.0:1234 TS ; OUT record.mp4 ; SRT/TS input on port 1234 will be pushed to https://localhost/test.mp4 ; [test=publication] ; IN srt://0.0.0.0:1234 ; OUT https://127.0.0.1/test.mp4 ; resource 127.0.0.1:88/path/video.mp4 will be served to SRT on port 1234 ; [test=publication] ; IN http://127.0.0.1:88/path/video.mp4 ; OUT srt://@0.0.0.0:1234