Guest User

Untitled

a guest
Aug 23rd, 2013
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.93 KB | None | 0 0
  1. -- Start of the configuration. This is the only node in the config file.
  2. -- The rest of them are sub-nodes
  3. configuration=
  4. {
  5. -- if true, the server will run as a daemon.
  6. -- NOTE: all console appenders will be ignored if this is a daemon
  7. daemon=false,
  8. -- the OS's path separator. Used in composing paths
  9. pathSeparator="/",
  10.  
  11. -- this is the place where all the logging facilities are setted up
  12. -- you can add/remove any number of locations
  13.  
  14. logAppenders=
  15. {
  16. {
  17. -- name of the appender. Not too important, but is mandatory
  18. name="console appender",
  19. -- type of the appender. We can have the following values:
  20. -- console, coloredConsole and file
  21. -- NOTE: console appenders will be ignored if we run the server
  22. -- as a daemon
  23. type="coloredConsole",
  24. -- the level of logging. 6 is the FINEST message, 0 is FATAL message.
  25. -- The appender will "catch" all the messages below or equal to this level
  26. -- bigger the level, more messages are recorded
  27. level=6
  28. },
  29. {
  30. name="file appender",
  31. type="file",
  32. level=6,
  33. -- the file where the log messages are going to land
  34. fileName="/tmp/crtmpserver",
  35. --newLineCharacters="\r\n",
  36. fileHistorySize=10,
  37. --newLineCharacters="\r\n",
  38. fileHistorySize=10,
  39. fileLength=1024*256,
  40. singleLine=true
  41. }
  42. },
  43.  
  44. -- this node holds all the RTMP applications
  45. applications=
  46. {
  47. -- this is the root directory of all applications
  48. -- usually this is relative to the binary execuable
  49. rootDirectory="applications",
  50.  
  51.  
  52. --this is where the applications array starts
  53. {
  54. -- The name of the application. It is mandatory and must be unique
  55. name="appselector",
  56. -- Short description of the application. Optional
  57. description="Application for selecting the rest of the applications",
  58.  
  59. -- The type of the application. Possible values are:
  60. -- dynamiclinklibrary - the application is a shared library
  61. protocol="dynamiclinklibrary",
  62. -- the complete path to the library. This is optional. If not provided,
  63. -- the server will try to load the library from here
  64. -- <rootDirectory>/<name>/lib<name>.{so|dll|dylib}
  65. -- library="/some/path/to/some/shared/library.so"
  66.  
  67. -- Tells the server to validate the clien's handshake before going further.
  68. -- It is optional, defaulted to true
  69. validateHandshake=false,
  70. -- this is the folder from where the current application gets it's content.
  71. -- It is optional. If not specified, it will be defaulted to:
  72. -- <rootDirectory>/<name>/mediaFolder
  73. -- It is optional. If not specified, it will be defaulted to:
  74. -- <rootDirectory>/<name>/mediaFolder
  75. -- mediaFolder="/some/directory/where/media/files/are/stored"
  76. -- the application will also be known by that names. It is optional
  77. --aliases=
  78. --{
  79. -- "simpleLive",
  80. -- "vod",
  81. -- "live",
  82. --},
  83. -- This flag designates the default application. The default application
  84. -- is responsable of analyzing the "connect" request and distribute
  85. -- the future connection to the correct application.
  86. default=true,
  87. acceptors =
  88. {
  89. {
  90. ip="0.0.0.0",
  91. port=1935,
  92. protocol="inboundRtmp"
  93. },
  94. {
  95. ip="0.0.0.0",
  96. port=8081,
  97. protocol="inboundRtmps",
  98. sslKey="server.key",
  99. sslCert="server.crt"
  100. },
  101. {
  102. ip="0.0.0.0",
  103. port=8080,
  104. protocol="inboundRtmpt"
  105. },
  106. }
  107. },
  108. {
  109. },
  110. {
  111. description="FLV Playback Sample",
  112. name="flvplayback",
  113. protocol="dynamiclinklibrary",
  114. aliases=
  115. {
  116. "simpleLive",
  117. "vod",
  118. "live",
  119. "WeeklyQuest",
  120. "SOSample",
  121. "oflaDemo",
  122. },
  123. acceptors =
  124. {
  125. {
  126. ip="0.0.0.0",
  127. port=6666,
  128. protocol="inboundLiveFlv",
  129. waitForMetadata=true,
  130. },
  131. {
  132. ip="0.0.0.0",
  133. port=9999,
  134. protocol="inboundTcpTs"
  135. },
  136. --[[{
  137. ip="0.0.0.0",
  138. port=7654,
  139. protocol="inboundRawHttpStream",
  140. crossDomainFile="/tmp/crossdomain.xml"
  141. },
  142. {
  143. ip="0.0.0.0",
  144. port=554,
  145. ip="0.0.0.0",
  146. port=554,
  147. protocol="inboundRtsp"
  148. },]]--
  149. },
  150. externalStreams =
  151. {
  152. --[[
  153. {
  154. uri="rtsp://fms20.mediadirect.ro/live2/realitatea/realitatea",
  155. localStreamName="rtsp_test",
  156. forceTcp=true
  157. },
  158. {
  159. uri="rtmp://edge01.fms.dutchview.nl/botr/bunny",
  160. localStreamName="rtmp_test",
  161. swfUrl="http://www.example.com/example.swf",
  162. pageUrl="http://www.example.com/",
  163. tcUrl="rtmp://edge01.fms.dutchview.nl/botr/bunny", --this one is usually required and should have the same value as t$
  164. emulateUserAgent="MAC 10,1,82,76",
  165. }]]--
  166. {
  167. uri="rtsp://animalhousenc.dvrdns.org:554/streaming/channels/0",
  168. localStreamName="PoolSide",
  169. forceTcp=true
  170. },
  171. {
  172. uri="rtsp://animalhousenc.dvrdns.org:556/streaming/channels/0",
  173. localStreamName="BoneYard",
  174. forceTcp=true
  175. },
  176. {
  177. uri="rtsp://animalhousenc.dvrdns.org:557/streaming/channels/0",
  178. localStreamName="BigPool",
  179. forceTcp=true
  180. },
  181. forceTcp=true
  182. },
  183. },
  184. validateHandshake=false,
  185. --enableCheckBandwidth=true,
  186. --[[authentication=
  187. {
  188. rtmp={
  189. type="adobe",
  190. encoderAgents=
  191. {
  192. "FMLE/3.0 (compatible; FMSc/1.0)",
  193. "My user agent",
  194. },
  195. usersFile="users.lua"
  196. },
  197. rtsp={
  198. usersFile="users.lua"
  199. }
  200. }, --]]
  201. mediaStorage = {
  202. namedStorage1={
  203. --this storage contains all properties with their
  204. --default values. The only mandatory property is
  205. --mediaFolder
  206. description="Some storage",
  207. mediaFolder="/Volumes/Storage/media/",
  208. metaFolder="/tmp/metadata",
  209. enableStats=false,
  210. clientSideBuffer=15,
  211. keyframeSeek=false,
  212. seekGranularity=0.1,
  213. },
  214. namedStorage2={
  215. mediaFolder="/Volumes/Storage/media/mp4",
  216. metaFolder="/tmp/metadata",
  217. mediaFolder="/Volumes/Storage/media/mp4",
  218. metaFolder="/tmp/metadata",
  219. seekGranularity=0.2,
  220. enableStats=true,
  221. },
  222. namedStorage3={
  223. mediaFolder="/Volumes/Storage/media/flv",
  224. metaFolder="/tmp/metadata",
  225. },
  226. {
  227. --this one doesn't have a name
  228. mediaFolder="/Volumes/Storage/media/mp3",
  229. }
  230. },
  231. },
  232. {
  233. name="samplefactory",
  234. description="asdsadasdsa",
  235. protocol="dynamiclinklibrary",
  236. aliases=
  237. {
  238. "httpOutboundTest"
  239. },
  240. acceptors =
  241. {
  242. {
  243. ip="0.0.0.0",
  244. port=8989,
  245. protocol="httpEchoProtocol"
  246. },
  247. {
  248. ip="0.0.0.0",
  249. port=8988,
  250. protocol="echoProtocol"
  251. }
  252. },
  253.  
  254. }
  255. },
  256. validateHandshake=false,
  257. --default=true,
  258. },
  259. {
  260. name="vptests",
  261. description="Variant protocol tests",
  262. protocol="dynamiclinklibrary",
  263. aliases=
  264. {
  265. "vptests_alias1",
  266. "vptests_alias2",
  267. "vptests_alias3",
  268. },
  269. acceptors =
  270. {
  271. {
  272. ip="0.0.0.0",
  273. port=1111,
  274. protocol="inboundHttpXmlVariant"
  275. }
  276. },
  277. validateHandshake=false,
  278. --default=true,
  279. },
  280. {
  281. name="admin",
  282. description="Application for administering",
  283. protocol="dynamiclinklibrary",
  284. aliases=
  285. {
  286. "admin_alias1",
  287. "admin_alias2",
  288. "admin_alias3",
  289. },
  290. "admin_alias3",
  291. },
  292. acceptors =
  293. {
  294. {
  295. ip="0.0.0.0",
  296. port=1112,
  297. protocol="inboundJsonCli",
  298. useLengthPadding=true
  299. },
  300. },
  301. validateHandshake=false,
  302. --default=true,
  303. },
  304. {
  305. name="proxypublish",
  306. description="Application for forwarding streams to another RTMP server",
  307. protocol="dynamiclinklibrary",
  308. acceptors =
  309. {
  310. {
  311. ip="0.0.0.0",
  312. port=6665,
  313. protocol="inboundLiveFlv"
  314. },
  315. },
  316. abortOnConnectError=true,
  317. targetServers =
  318. {
  319. --[[{
  320. targetUri="rtmp://x.xxxxxxx.fme.ustream.tv/ustreamVideo/xxxxxxx",
  321. targetStreamName="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  322. localStreamName="stream1",
  323. emulateUserAgent="FMLE/3.0 (compatible; FMSc/1.0 http://www.rtmpd.com)"
  324. }]]--,
  325. --[[{
  326. }]]--,
  327. --[[{
  328. targetUri="rtmp://gigi:spaima@localhost/vod",
  329. targetStreamType="live", -- (live, record or append)
  330. emulateUserAgent="My user agent",
  331. localStreamName="stream1",
  332. keepAlive=true
  333. },]]--
  334. },
  335. externalStreams =
  336. {
  337. --[[{
  338. uri="rtsp://fms20.mediadirect.ro/live2/realitatea/realitatea",
  339. localStreamName="stream1",
  340. forceTcp=true,
  341. keepAlive=true
  342. },]]--
  343. },
  344. validateHandshake=false,
  345. --default=true,
  346. },
  347. {
  348. name="stresstest",
  349. description="Application for stressing a streaming server",
  350. protocol="dynamiclinklibrary",
  351. targetServer="localhost",
  352. targetApp="vod",
  353. active=false,
  354. --[[streams =
  355. {
  356. "lg00","lg01","lg02","lg03","lg04","lg05","lg06","lg07","lg08",
  357. "lg09","lg10","lg11","lg12","lg13","lg14","lg15","lg16","lg17",
  358. "lg18","lg19","lg20","lg21","lg22","lg23","lg24","lg25","lg26",
  359. "lg27","lg28","lg29","lg30","lg31","lg32","lg33","lg34","lg35",
  360. "lg36","lg37","lg38","lg39","lg40","lg41","lg42","lg43","lg44",
  361. "lg45","lg46","lg47","lg48","lg49"
  362. "lg36","lg37","lg38","lg39","lg40","lg41","lg42","lg43","lg44",
  363. "lg45","lg46","lg47","lg48","lg49"
  364. },]]--
  365. streams =
  366. {
  367. "mp4:lg.mp4"
  368. },
  369. numberOfConnections=10,
  370. randomAccessStreams=false
  371. },
  372. --[[{
  373. name="vmapp",
  374. description="An application demonstrating the use of virtual machines",
  375. protocol="dynamiclinklibrary",
  376. vmType="lua",
  377. script="flvplayback.lua",
  378. aliases=
  379. {
  380. "flvplayback1",
  381. "vod1"
  382. },
  383. acceptors=
  384. {
  385. {
  386. ip="0.0.0.0",
  387. port=6544,
  388. protocol="inboundTcpTs"
  389. }
  390. }
  391. },]]--
  392. --#INSERTION_MARKER# DO NOT REMOVE THIS. USED BY appscaffold SCRIPT.
  393. }
  394. }
Advertisement
Add Comment
Please, Sign In to add comment