Hi Guys,

So, trying to get Red5 Plugin working. I have Red5 Server .7 already installed on server and bound to a second IP address on the server, but it’s shut down at the moment. Got the plugin installed into Openfire, but when I go to myserver:9090/red5/index.html I get




I know there are some with similar problems…has anyone been able to solve this one? Or are there any insights as to a possible solution?


You have not read the readme document me have you

it is myserver:7070/red5/index.html or whatever you http-bind port is


Hi Dele,

Thanks for the reply.

I changed the HTTP Bind Port to 9090, thinking maybe it was still listening on that port and changed the admin port to 9000. Still no dice.

Any other thoughts on this?

Here’s a shot of the Warn log from last night, I don’t know if it’s relevant:

2008.05.16 21:39:52 Committed before 404 null2008.05.16 21:39:52 /red5/index.html

java.lang.IllegalStateException: Committed at org.mortbay.jetty.Response.resetBuffer( at org.mortbay.jetty.Response.sendError( at org.mortbay.jetty.Response.sendError( at org.mortbay.jetty.servlet.ServletHandler.notFound( at org.mortbay.jetty.servlet.ServletHandler.handle( at org.mortbay.jetty.handler.ContextHandler.handle( at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollect at org.mortbay.jetty.handler.HandlerCollection.handle( at org.mortbay.jetty.handler.HandlerWrapper.handle( at org.mortbay.jetty.Server.handle( at org.mortbay.jetty.HttpConnection.handleRequest( at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.j ava:828) at org.mortbay.jetty.HttpParser.parseNext( at org.mortbay.jetty.HttpParser.parseAvailable( at org.mortbay.jetty.HttpConnection.handle( at at org.mortbay.thread.BoundedThreadPool$

I found this in checking out the red5.log Address already in use

So. I have Flash Media Server already running on this machine. Is there any way of binding Openfire or the Red5 plugin to the other IP address available on the server?


I’ve been able to trace it down to Address already in use.

Can I ask, what port is the Red5 plugin listening on? When I restart Openfire, that’s the exception I get in the red5.log. So perhaps if I could get more info on what port the plugin is listening on, maybe I could track down the IP/port conflict.

Thanks for all your efforts here.



Looks like I’m narrowing in on the problem…the port in question is 1935. Since I already have Flash Media Server running on the same server, it’s causing a port conflict. The problem here is that the Red5 plugin seems to want to bind to all available addresses, and not just the IP address of the Openfire server. I have Openfire bound to the second IP address of my server, and Flash Media Server running on the first, with FMS binding only to the first. This doesn’t dause conflcts with the full version of Red5 running, as I can have both running side by side because I can bind Red5 to a single IP.

So Dele, is there any way of changing the plugin so that it will bind only to the IP of the Openfire server? Otherwise, can I modify the source and build?

Ok. I figured it out. In /opt/openfire/plugins/red5/WEB-INF/classes there’s a file called red5-core.xml.

In that file I found where you can change the IP binding. It’s under the RTMP Mina Transport section.

Red5 plugin activated. Problem solved.

Thanks for the feedback. I am sure some else will find that very useful


when I compile on Win XP, I hava got the information in Console View of eclipse as follows:

Openfire 3.6.0 Alpha

Admin console listening at

but when I input “” in WEB explorer,I got the Error as follow for every time.



Powered by jetty://

Though, I tried to compile , and so on,but I come across the same ERROR as abovle.

can anybody could help me,Thank you.

My red5.log like this: Please help

2008-07-10 02:36:24,919 INFO org.red5.server.jmx.JMXAgent - JMX HTML adapter was not enabled

2008-07-10 02:36:24,926 INFO org.red5.server.jmx.JMXAgent - JMX RMI adapter was not enabled

2008-07-10 02:36:25,623 INFO - RTMP Mina Transport Settings

2008-07-10 02:36:25,625 INFO - IO Threads: 2

2008-07-10 02:36:25,625 INFO - Event Threads - core: 4, max: 8, queue: -1, keepalive: 60

2008-07-10 02:36:25,658 INFO - TCP No Delay: true

2008-07-10 02:36:25,658 INFO - Receive Buffer Size: 65536

2008-07-10 02:36:25,659 INFO - Send Buffer Size: 271360

2008-07-10 02:36:25,665 INFO - RTMP Mina Transport bound to /

2008-07-10 02:36:25,665 INFO org.red5.server.jmx.JMXFactory - Object name: org.red5.server:type=RTMPMinaTransport,address=,port=1935

2008-07-10 02:36:25,677 INFO org.red5.server.jmx.JMXFactory - Object name: org.red5.server:type=IoServiceManager,address=,port=1935

2008-07-10 02:36:27,012 INFO - RTMP Mina Transport unbind

2008-07-10 02:36:27,038 ERROR o.red5.server.war.WarLoaderServlet -

org.springframework.beans.factory.access.BootstrapException: Unable to initialize group definition. Group resource name , factory key http://default.context; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘default.context’ defined in URL jar:file:/opt/openfire/plugins/red5/WEB-INF/lib/red5Plugin.jar!/beanRefContext.x ml: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘rtmpt.server’ defined in class path resource http://red5-core.xml: Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘Server’ defined in class path resource http://red5-rtmpt.xml: Invocation of init method failed; nested exception is Address already in use

at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFac tory(

at org.springframework.web.context.ContextLoader.loadParentContext(ContextLoader.j ava:317)

at org.springframework.web.context.ContextLoader.initWebApplicationContext(Context

at org.red5.server.war.WarLoaderServlet.contextInitialized( 14)

at org.mortbay.jetty.handler.ContextHandler.startContext(

at org.mortbay.jetty.servlet.Context.startContext(

at org.mortbay.jetty.webapp.WebAppContext.startContext(

at org.mortbay.jetty.handler.ContextHandler.doStart(

at org.mortbay.jetty.webapp.WebAppContext.doStart(

at org.mortbay.component.AbstractLifeCycle.start(

at org.mortbay.jetty.handler.HandlerCollection.doStart(

at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollec

at org.mortbay.component.AbstractLifeCycle.start(

at org.mortbay.jetty.handler.HandlerCollection.doStart(

at org.mortbay.component.AbstractLifeCycle.start(

at org.mortbay.jetty.handler.HandlerWrapper.doStart(

at org.mortbay.jetty.Server.doStart(

at org.mortbay.component.AbstractLifeCycle.start(

at org.jivesoftware.openfire.http.HttpBindManager.changeHttpBindPorts(HttpBindMana

at org.jivesoftware.openfire.http.HttpBindManager.setHttpBindPorts(HttpBindManager .java:210)

at org.jivesoftware.openfire.admin.http_002dbind_jsp.handleUpdate(http_002dbind_js

at org.jivesoftware.openfire.admin.http_002dbind_jsp._jspService(http_002dbind_jsp .java:104)

at org.apache.jasper.runtime.HttpJspBase.service(

at javax.servlet.http.HttpServlet.service(

at org.mortbay.jetty.servlet.ServletHolder.handle(

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1093)

at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage( 8)

at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)

at org.jivesoftware.util.LocaleFilter.doFilter(

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)

at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingF

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)

at org.jivesoftware.admin.PluginFilter.doFilter(

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)

at org.jivesoftware.admin.AuthCheckFilter.doFilter(

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.ja va:1084)

at org.mortbay.jetty.servlet.ServletHandler.handle(


at org.mortbay.jetty.servlet.SessionHandler.handle(

at org.mortbay.jetty.handler.ContextHandler.handle(

“red5.log” 140L, 16198C

Error creating bean with name ‘Server’ defined in class path resource http://red5-rtmpt.xml: Invocation of init method failed; nested exception is Address already in use

It seems the RTMPT service can start because port 8000 is being used by something else on your server. Either free that port or modify WEB-INF\classes\red5-rtmpt.xml to use another http port like 8080 instead of 8000.


YES! Thank you, Dele.

I’ve been trying to get this working for the better part of an entire work day.