-- Start of the configuration. This is the only node in the config file. -- The rest of them are sub-nodes configuration= { -- if true, the server will run as a daemon. -- NOTE: all console appenders will be ignored if this is a daemon daemon=false, -- the OS's path separator. Used in composing paths pathSeparator="/", -- this is the place where all the logging facilities are setted up -- you can add/remove any number of locations logAppenders= { { -- name of the appender. Not too important, but is mandatory name="console appender", -- type of the appender. We can have the following values: -- console, coloredConsole and file -- NOTE: console appenders will be ignored if we run the server -- as a daemon type="coloredConsole", -- the level of logging. 6 is the FINEST message, 0 is FATAL message. -- The appender will "catch" all the messages below or equal to this level -- bigger the level, more messages are recorded level=6 }, { name="file appender", type="file", level=6, -- the file where the log messages are going to land fileName="/tmp/crtmpserver", --newLineCharacters="\r\n", fileHistorySize=10, fileLength=1024*256, singleLine=true } }, -- this node holds all the RTMP applications applications= { -- this is the root directory of all applications -- usually this is relative to the binary execuable rootDirectory="applications", --this is where the applications array starts { description="FLV Playback Sample", name="flvplayback", protocol="dynamiclinklibrary", aliases= { "simpleLive", "vod", "live", "WeeklyQuest", "SOSample", "oflaDemo", }, acceptors = { { ip="0.0.0.0", port=2000, protocol="inboundRtmp" }, { ip="0.0.0.0", port=2001, protocol="inboundLiveFlv", waitForMetadata=true, }, { ip="0.0.0.0", port=2002, protocol="inboundTcpTs" }, { ip="0.0.0.0", port=2003, protocol="inboundRtsp" }, }, validateHandshake=false, --enableCheckBandwidth=true, }, { name="proxypublish", description="Application for forwarding streams to another RTMP server", protocol="dynamiclinklibrary", acceptors = { { ip="0.0.0.0", port=2004, protocol="inboundLiveFlv", waitForMetadata=true }, { ip="0.0.0.0", port=2005, protocol="inboundRtmp" }, { ip="0.0.0.0", port=2006, protocol="inboundRtsp", } }, abortOnConnectError=true, targetServers = { { targetUri="rtmp://live-sea.twitch.tv/app", targetStreamName="live_59895482_TfYw8dYPPr73SkTrhBNTBnklskZ64y", localStreamName="bungmonkey", }, { targetUri="rtmp://127.0.0.1:2000/live/", targetStreamName="bungmonkey", localStreamName="bungmonkey", }, }, validateHandshake=false, --default=true, }, } }