create new java red5 application _ tsavo

Upload: fabrizio-torelli

Post on 16-Oct-2015

184 views

Category:

Documents


0 download

TRANSCRIPT

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 1/38

    Tsavo

    CREATE NEW JAVA RED5 APPLICATION

    January 29, 2007 at 10:33 pm Filed under Red5 Tagged application, java, new, Red5

    During this tutorial, we will be using Joachims migration guide:http://www.joachim-bauch.de/tutorials/red5/MigrationGuide.txt

    In this tutorial we will be examining how to create applications in the Red5 Standalone Server. TheRed5 Standalone Server uses a Spring Framework Managed Jetty Embeddable Http Server andServlet container. The Spring Framework is a JAVA Framework that provides hooks (configurationmetadata is in the form of either XML bean definitions, JAVA properties file or by calling theconfigurable items of the Spring API from within your POJO-Plain Old JAVA Object) throughwhich you can control the behaviour of various JAVA applications, objects or frameworks (eg Jetty,Acegi, Hibernate). This allows you to leverage a broad array of JAVA technologies from within yourPOJO without having to face the challenge of coding to interface to all these JAVA objects yourselfwhile still ensuring you adhere the common JAVA Design Patterns. In addition, by making use ofthe hooks provided by Spring to influence your applications behaviour by editing the configurationmetadata (See Dependency Injection), you can easily change the behaviour of your applicationwhile leaving your core POJOs intact.Because of IoC, ones application can be developed using a set of simple JavaBeans (or plain-old Java

    objectsPOJOs), with a a lightweight IoC container (Spring) wiring them together and setting thedependencies.The XML configuration metadata and is used by Springs IoC to create a fully configured system orapplication. This configuration metadata tells the Spring container how to instantiate, configure,and assemble [the objects in your application].

    In addition, you will also learn about the scope of a red5 application, as well as how to create anduse server side shared objects.

    Before beginning this tutorial, you may download the red5java application explained from here:red5java.tar.gzExtract the contents of this folder into your red5_server/webapps directory.

    and the demo flex2 client from here:red5_flexclient.tar.gz

    1. Get into the root directory of the red5 server which in my case was red5_server

    #cd /opt/red5_server/webapps

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 2/38

    This is the root folder of all your red5 application definitions, from which all red5 applications arestarted. This is the global scope. If you are running a hosting service this would be your root folder.To create a section for each hosted user you would create a WEB-INF/user-dir as shown below;

    2. Create your new application as follows (The new application name for this tutorial will be calledred5java)

    #mkdir -p red5java/WEB-INF

    re5java is the name of your application in this example. You will access your application using theURL rtmp://your-ip/red5java or rtmpt//your-ip/red5java in the case of a proxy-tunneled RTMPTconnection). The WEB-INF folder is so that Jetty (the Embeddable HTTP Server and ServletContainer that is used by the Standalone red5 server) knows where to access your application(Servlet) from. This is because your application is actually a JAVA servlet. It is in the WEB-INF filethat you will load all the configuration files/beans that will be required to load your application.These files specify all the Spring beans that your application will require as well as bean definitionsthat will be used by Spring to Dependency Inject your application. These config files includeweb.xml, red5-web.xml, red5-web.properties and log4j.properties as will be shown below.

    Under the red5java directory create a folder called src where you will create your own customapplication that will be used to communicate with the Flash clients.

    #mkdir src

    This would also be a good point at which to create your classes (for the classes) and lib (for the jarfile) directories. We will also be doing this in the ant build file below but so that we get the concept,lets create the directories here;

    #mkdir classes && mkdir lib

    We now need to create a package for our Application. Lets call it org.red5.webapps.red5java#cd src#mkdir -p org/red5/webapps/red5java

    Your sources will go into the org/red5/webapps/red5java directory.

    [*TODO: Verify and test the statement below*] red5java represents your application scope underthe global scope ie webapps. Sub-folders under red5java would represent your room scope ie allsubfolders under red5java are subscopes of the red5java application scope.

    If you are on Windows, you can create your directory structure from within eclipse, so that it willlook something like this. After you create the src directory, under WEB-INF, right click src directorythen New>Package and create a package so that it has the structure shown below (Dont worry, sinceyou are downloading the sources, these folders are already created for you):

    > |red5_server - -> |webapps - -> |red5java - -> |WEB-INF - -> |src

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 3/38

    - -> |your - -> |package - -> |name - -> |classes - -> |lib

    The build.xml file that came with the sources can prepare the classes and lib directories for you,simply type:

    #ant prepare

    To clean out directories after a build, type:

    #ant clean

    You can change the target of your build by editing the source and target tags. For 1.6, change from1.5 to 1.6.

    Now, for the concept:If you created a new application (as we will later) eg MYAPPLICATION, your directory structurewould look more or less look like this:

    > |red5_server - -> |webapps - -> |MYAPPLICATION - -> |WEB-INF - -> |src - -> |your - -> |package - -> |name - -> |classes - -> |lib

    3. Let us now study the following files which are contained within the WEB-INF folder: web.xml,red5-web.xml, red5-web.properties, log4j.properties, build.xml. These files are ordinarily dropped inthe WEB-INF folder:red5_server > webapps > red5java > WEB-INF > drop them here!:

    a) web.xml: This is the first file that your Jetty/Tomcat Servlet engine will read. The parameterwebAppRootKey defines the application context of your application. This file required by theservelet specification and is the standard deployment descriptor used by your Servlet engine. It willbe used to load the other 3 files below. Again consult Joachims migration guide.

    b) red5-web.xml: This config file is used to configure and load your scope/context handler, yourvirtual-host configuration and your very own application. This is file is used by the SpringFramework IoC beans when Dependency Injecting your Servlet so it can be correctly instantiatedwithin the red5 server.It is also within this file that you configure your Handlers. The Handlers are the methods that arecalled when a flash client connects to your application ie rtmp://your-ip/your-application. your-application represents an application scope and so these Handler/Methods are valid within your

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 4/38

    application scope. Thus, your Handlers will be able to react when a flash client connects or leavesyour application scope, you need to implement the interface org.red5.server.api.IScopeHandler.Joachim Bauchs tutorial explains this in good detail:HOWTO-NewApplications.txtThe Dependency Injection specified by the bean id web.handler is very important or else yourapplication might not start. Please ensure you specify the correct classpath of your application here.

    c) red5-web.properties: This file is imported into the red5-web.xml file. Use this file for items thatoften change within your configuration eg the contextPath (ie name of your application scope) orvirtualHosts directives (which might change from one hosted service to another). If you open the filered5-web.xml, you will see that the Spring PropertyPlaceholderConfigurer bean is used to load thered5.properties file. The contextPath and virtualHosts properties are loaded within the red5-web.xmlfile by using the variables ${webapp.contextPath} and ${webapp.virtualHosts} respectively.

    d) log4j.properties: This is used to configure the logging properties of your application by usingthe log4j libraries. This file will be used by theorg.apache.commons.logging LogFactory class.

    For the settings in this file to take effect, you have to register the logger for your application in thisfile. (Alternatively though, you could add your log4j definition in the conf/log4j.properties file,together with the logging definitions for the other sample Red5 applications. However, you may justuse the log4j.properties file that is within your own application). Add the following entry (modify asappropriate for your own application):

    In red5_server/webapps/red5java/WEB-INF/log4j.properties or red5_server/conf/log4j.properties:log4j.logger.org.red5.webapps.red5java=DEBUG

    In your class you will retreive the log by using:protected static Log log = \LogFactory.getLog(Application.class.getName());

    You can obtain a template of these files from within the red5 server folder by going todoc/templates/myapp/WEB-INF

    The combination of the above 4 files is used to instantiate your red5 application. This is theapplication we will be using to communicate with flash clients for this tutorial.

    e) build.xml: This is the file that we will use to compile our application before restarting red5. Youmay use this example build file to compile/build for your own custom applications. Modify thefollowing parameters as appropriate:

    In our case it was red5java.jar and so we have:

    4. Now going back to Eclipse, click within the Naviator Panel and then click F5 to refresh yourNavigator panel. You will now see the folder red5java under webapps. Under red5java is WEB-INFand under WEB-INF is src. The folder src contains the folders that represent your package above ieorg.red5.webapps.red5java

    [Please note that all Shared Objects below are "Remote Shared Objects" ie they are stored on theServer, not the flash client]

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 5/38

    CREATE A PLAYLIST AND STORE IT WITHIN TRANSIENT RED5 SERVER SHAREDOBJECT USING JAVA AND OTHER SHARED OBJECTS FUNCTIONALITY

    In this section we will create a Shared Red5 object. This object represents a Playlist of all availablecontent. Once this playlist has been loaded into the Shared Object, all Flash clients that connect toour red5java application scope will have access to the same playlist. This is because in an idealenvironment, we would only need one playlist for all our Flash clients. This playlist could typicallybe loaded from an XML file (see loadPlayList method of Application.java). But rather than alwaysre-reading the XML file everytime a client connects, this XML could be loaded only once when thefirst client connects and then made immediately available to all other clients when they connect.This is why we put the method appStart(IScope app) hook.[****This is a very important NOTE****: When debugging your application, do not put any codeinside the appStart method unless you are absolutely sure it works. This is because an error in theapplication scope of your application will result in your application never ever even seeing the lightof day. Debug in say appConnect method (so you are able to view related debug logs) and onlytransfer to appStart once you are sure it works.]

    1. From your red5java WEB-INF folder, right click and create a new folder called playlist. Inside thisfolder we drop the following file inside this playlist folder: playlist.xml

    Now while still within your red5java WEB-INF folder, navigate to

    org>red5>server>webapps>red5java>WEB-INF>src>org>red5>webapps>red5java.

    The following source java files are dropped in: Application.java, DemoService.java,SOEventListener.java, SOHandler.java, ScheduledJob.java. These are the files that we will use todemonstrate creation of transient/non-persisted shared objects, handlers, listeners and a scheduledjob. Our package name is org.red5.webapps.red5java

    Below I explain some aspects of this example red5 application.

    2. The Application.java.> Application.java is the scope handler of you application. By extending the ApplicationAdapterclass, we can determine or code what happens whenever the application is started, whenever the anew client connects or disconnects and whenever an application is stopped.

    > loadPlayList loads playlist items from an xml file. The main scope of your red5 application will bethe folder of your red5 appliction. In our case, the main scope was therefore red5java. Thus on doingthe following:Resource playlistXML =\ this.appScope.getResource(fileName);

    we actually get the resource from red5java/playlist/playlist.xml

    We retreive the Inputstream to the xml file by using the usual JAVA BufferedReader.

    3. The DemoService.javaThere is no reason we could not have put the methods in this file in the Application.java file.However, we all know that it is good programming practise to separate application logic intodifferent classes depending on the pattern that emerges in your application. Anyway, that wont bethe case for now, I just want to show you something very interesting

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 6/38

    Methods in DemoService.java are called from the flex2 client using the following call for example:nc.call("demoService.getPlayList", nc_responder);

    Now for the interesting question, how the hell does by flash client get to know how and where to callthe demoservice.getPlayList method from. How does it do this? This is accomplished by wiring yourDemoService class in the red5-web.xml file, through defining its bean in this file. If you have moreclasses, this is exactly the same place you would place them in. Thus, whenever your flash client callsa remote red5 method, the rtmp handler will be able in turn find and call your class due to this beandefinition(**confirm/test this statement). You will also notice that the red5-web.xml file contains abean definition for the Application.java file above; it is defined as the main web handler of yourapplication as described above.Here are the bean definitions we are talking about in the red5-web.xml file:

    bean id="web.handler" class="org.red5.webapps.red5java.Application"

    and

    bean id="demoService.service" class="org.red5.webapps.red5java.DemoService"

    The new service you define in red5-web.xml should end with service, so that red5 will be able toinvoke it.

    4. You may call getPlayList method that makes use of a "Transient Shared Object" from the flex2application which you can download from here:red5_flexclient.tar.gz

    Open the Flash client from the following URL. Put the following URL: rtmp://ip-of-your-red5-server/red5java.

    Click the "Connect" button. On connecting to the red5 application from the flash client, thefollowing happens:

    >the xml playlist is loaded into a transient shared object, once only during the start of theapplication. To veiw the contents of this shared object, select getPlayList method and click on theExecute button. You will see the contents of the playListSO SharedObject we loaded in the red5server printed on the Text Area. However, this method will only work with the latest trunk of red5.

    >a counter of all the persons who have connected to your application scope is printed by clicking onthe Execute button after selecting the getCounter method (This method should work with the latestrelease of red5). Follow this sequence several times to see the counter changing:Connect>select getCounter >click Execute>click Disconnect>click Connect>select getCounter>clickExecute ... etc...

    >a transient shared object with a listener is created in the red5 initTSOwithListener() method. Thelistener should be triggered whenever a change occurs to the shared object. To demonstrate this,select the sendMessage(trigger Red5 TSO update) method and click execute. If you go to thered5_server console, you will see the default message "This is to modify TSO" printed, andonSharedObjectUpdate for the SOEventListener triggered. You may change the message that is

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 7/38

    sent to red5 by entering your own text, inside the textbox labelled Message(message to send tored5). This textbox can also be used to change the message used to update the persistent sharedobject with listener below. At this point it is very important that I mention that make sure that youput your onSharedObjectUpdate functionality in the

    onSharedObjectUpdate \(ISharedObjectBase so, String key, Object value)

    and notonSharedObjectUpdate functionality in the

    onSharedObjectUpdate \(ISharedObject so, String key, Object value)

    or else the onSharedObjectUpdate Event will never be triggered. Please remember this as it is veryeasy to confuse these 2 interface methods.

    > a persistent shared object with a listener is created with the initPSOwithListener method, and justlike the transient shared object above, the listener should be triggered everytime there is a changewith the persistent shared object. Again, if you experience problems with this method, delete thered5java/persistence/SharedObjects folder.

    > Calling a remote shared object method using remote_sharedobject.send("handler", "args") shouldcause your red5 shared object handler to be called. Shared object handlers can either be defined inred5-web.xml or by defining a Handler class and registering it using the sharedobjectregisterServiceHandler method. Please consult Joachim's guide for a good explanation of this.

    >If on the flex client you listen for change events on shared objects, then red5 will enable thissynchronisation for you, so that whenever a sharedobject value changes, the flex client will beinformed. Please refer the red5_flexclient.tar.gz sources for examples of how to do this.

    SHARED OBJECT LISTENERS NOTESThese implement the ISharedListener interface.1. You can register several listener classes (which in our case was SOEventListener), for the sameshared object.

    2. Several SharedObjects can use the same listener. Simply identify the shared object attributeswhose values are changing by ensuring names (keys to the shared object attributes/values) areunique. React differently if the name returned is different.

    SHARED OBJECT HANDLERS NOTES1. You may call a remote shared object from the red5 server by using SharedObject.getRemotesyntax (please see the red5_flexclient sources attached).2. You may call a red5 method (without ever having to register the class in red5-web.xml), by usingso.registerServiceHandler syntax, where you can register a method handler for a shared object (Youmay still do the same using the red5-web.xml file though - see Joachim's migration guide). You thencall this method using the remote_so.send syntax (refer to the red5_flexclient.tar.gz for how to do so)

    SCHEDULE FOR THE PLAYLIST TO BE RELOADED EVERY 1 HOUR USING JAVAYou might want the playlist Transient shared object above to be reloaded every 10 minutes withupdated content from a changing playlist.xml file. The Application.java and ScheduledJob.java filesshows you how to create a regularly scheduled job.

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 8/38

    BUILD YOUR RED5 APPLICATIONWhenever you make a change to your application, you need to rebuild it and restart red5. Using thered5java build file provided, here's an example that allows you to automate and speed up thisprocess using ant:

    1. First create red5.jar by running from within the root/base of the red5 source folder. You only needto do this once (ie just after downloading red5), and not all the time.

    #ant jar

    2. Now go to the red5java directory within your webapps directory and do:#ant build

    To adapt the build.xml file for yourself, simply change the following build.xml items depending onyour system:>target.jar (put the name of your own jar file)>source= (put 1.5 or 1.6 depending on the java jvm version you are running on your machine)>target= (put 1.5 or 1.6 depending on the java jvm version you are running on your machine)

    3. If your application builds successfully, restart red5 using ant server, ./red5.sh or red5.bat and thentry to connect to your red5 application using the sample flex2 application you have modified.

    CONCLUSIONThe code written here is by no means clean and is not designed using the best principles. Most of itwas written while half-asleep . It is only meant as a guide so you are able to see Red5 in action byexample based on Joachim's Migration Guide. In addition, this code has been little tested andtherefore comes with no warranty whatsoever.

    SPRING REFERENCES1. http://www.onjava.com/pub/a/onjava/2005/05/11/spring.html2. http://www.springframework.org/docs/reference/beans.html

    FLEX2 REFERENCES1. http://flash-communications.net/technotes/fms2/flex2FMS/index.html2. http://livedocs.macromedia.com/flex/15/asdocs_en/3. http://www.amfphp.org/docs/datatypes.html4. http://coenraets.org/testdrive/flex4j/index.htm5. http://www.adobe.com/devnet/flashmediaserver/articles/rmi_fms2_02.html6. http://livedocs.macromedia.com/flex/201/langref/flash/net/SharedObject.html#send()

    LOG4J REFERENCE1. http://jakarta.apache.org/commons/logging/commons-logging-1.0.4/docs/apidocs/org/apache/commons/logging/package-summary.html2. http://gef.tigris.org/LoggerConfiguration.html3. http://www.spikesource.com/docs/cs_1.4-linux/doc/commons-logging/commons-logging_quickstartguide.html

    RED5 FUTURE DIRECTORY STRUCTUREhttp://jira.red5.org/confluence/display/appserver/3rd+proposal+or+Searching+the+Holy+Grail

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 9/38

    You May Like

    1.

    Permalink

    102 Comments

    1. Bobby Berberyan said

    February 7, 2007 @ 11:25 pmHi there, this is very impressive and I cant wait to integrate Red 5 into my site. Ive looked atmany sites and tutorials, but cant figure out one thing. I want to be able to add charactervalidation function when users log into the chatroom. Can you prescribe methods of achievingthis? Thanks

    -Bobby

    Reply

    2. jwamicha said

    February 8, 2007 @ 11:30 pmHi Bobby, Thanks.I would probably add the character validation methods on the flash client side rather than serverside. The server side just acts as a passage way for the chat messages.

    Reply

    3. piha said

    About these ads

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 10/38

    February 11, 2007 @ 1:07 amall links to 196.202.192.126 are broken.

    Reply

    4. jwamicha said

    February 11, 2007 @ 9:23 amWe had a temporary outage yesterday. It should be back on now though.

    Reply

    Muhammad Ahsan said

    July 15, 2012 @ 1:26 pmHi , please can you solve my problem , i have created the server side application and also thesimple client side application , i have also created the jar file by compiling the source code ofthe server side and placed all the content in the Red5/webapp directory , but the problem iam facing is that when i connect the client side flash code to the server then the following twoerrors come while connecting to the server side

    Connection:RejectedConnection:Closed

    and when i check the log of the Red5 Server , then it tells me this

    No Scope myapp found on localhost.

    I am trying to solve this problem from three days but dont get the solution.It is my humblerequest to you please help me in that . what is problem here.

    [email protected]

    Reply

    5. Thijs said

    February 11, 2007 @ 9:21 pmGreat tutorlal Joseph!! I added it on the Red5 wiki page:http://osflash.org/red5#red5_help_and_information

    Reply

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 11/38

    6. jwamicha said

    February 11, 2007 @ 11:51 pmWow! Thanks alot Thijs!

    Reply

    7. joshua noble said

    February 12, 2007 @ 8:01 amThis is a really exciting, thorough, and really informative article. Thanks so much for taking thetime to write it.

    Reply

    8. Sunil Gupta said

    February 27, 2007 @ 11:51 amThis is really very impressive and complete tutorial. I have developed a very large videoconference application with features like chat, user list, poll, whitebaord using Red5 and itsworking great.

    Reply

    9. goood.guy said

    March 6, 2007 @ 12:35 pmIs there a way to use the FLVPlayback compontent with red5 to stream flv-videos?

    Reply

    10. Alan D said

    March 7, 2007 @ 4:53 pmI followed the instructions but still no luck, can anyone help?

    It compiles ok in Eclipse but it doesnt create a .jar file. Also, when I restart Red5 and try to testusing red5_tester.swf I get the following message:

    description = No scope red5java on this server.

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 12/38

    Reply

    11. jwamicha said

    March 7, 2007 @ 6:02 pmHi good.guy,

    Yes it is possible to do so. Please check out the following post:http://www.mail-archive.com/[email protected]/msg04567.html

    Reply

    12. jwamicha said

    March 7, 2007 @ 6:05 pmHi Alan,

    The reason the jar file isnt created is because it is not the default target of the ant build file. Youneed to run off the shell/command prompt:>ant jarFor the jar file to be created.Have you tried downloading the flexclient code that comes with this tutorial? It will connect tothe red5java application scope ok.

    Reply

    13. Dragos said

    March 19, 2007 @ 2:53 pmHi jwamicha, I cant download the files, the server doesnt respond to ping, please could you beso kind and post them somewhere red5java.tar.gz and red5_flexclient.tar.gzThanks, Dragos

    Reply

    14. jwamicha said

    March 19, 2007 @ 6:23 pmHi Dragos,

    We have been having problems with our ISP since Friday. I have put in some new links. Pleaselet me know if you are still unable to reach the server.

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 13/38

    Reply

    15. Omar said

    March 27, 2007 @ 8:53 pmHi everyone, Ive developed some apps but I still with the same problem.

    How can I call a method located at my client-side application (at te .fla or .swf file) from my javaapplication?

    thanks

    Reply

    16. jwamicha said

    March 27, 2007 @ 11:20 pmHi Omar,You need to use something like:

    import org.red5.server.api.service.IServiceCapableConnection;

    IServiceCapableConnection service = (IServiceCapableConnection) conn;service.invoke(setId, new Object[] { conn.getClient().getId() }, this);

    Where setID would be a public function on your flash client. Object[] array will contain all theparameters of your flash function. If I remember well,a good example is in fitcDemosApplication.java

    Reply

    17. Omar said

    March 27, 2007 @ 11:59 pmOk, Ill try, thanks

    Reply

    18. Omar said

    March 29, 2007 @ 12:51 amHi, Its me again I have done this:

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 14/38

    -[Server side]

    public void ChangeThumbnail(int direction){Object[] parameters = {1};

    IServiceCapableConnection service = (IServiceCapableConnection)Red5.getConnectionLocal();

    service.invoke(change, parameters,this);}

    public void resultReceived(IPendingServiceCall ipsc){System.out.println(Resultado:+ipsc.toString());}-[Client side (.fla file)]conexion = new NetConnection();conexion.connect(rtmp://localhost/app);conexion.onStatus=ConnStatus;function ConnStatus(obj){for (e in obj){trace(Connection ["+e+" : "+obj[e]+]);}}-[Client-side output]-Connection Connection [description : Connection succeeded.]Connection [level : status]Conexion [application : null]

    Reply

    19. Omar said

    March 29, 2007 @ 12:52 amConexion [application : null]

    Reply

    20. Omar said

    March 29, 2007 @ 12:59 am

    Connection [application : null] I think that this is the problem, isnt it?

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 15/38

    Connection [application : null] I think that this is the problem, isnt it?[Server-side output]-Service: null Method: change Num Params: 10: 1

    And theres no change, I have to change a thumbnail on a swf app but I cant do that, excuse mefor my ignorance.

    Reply

    21. chrm said

    March 30, 2007 @ 11:20 amHow I can to obtain a files of the Tutorial. Server http://www.korandu.com/ is dont responce.

    Reply

    22. chrm said

    March 30, 2007 @ 11:28 amTanx, it works!

    Reply

    23. David said

    April 21, 2007 @ 2:38 amI have no familiarity with Flex. Have done the Red5 setup and then ran swf in flexclient butnothing happened. I assume one needs a copy of Flex to get this to happen. And if so what needsto be changed on the client side to make this work?

    Reply

    24. David said

    April 21, 2007 @ 11:42 amSo I decided to take matters into my own hands. I downloaded the Flex2 SDK, lobbed the Flexclient into the Flex2 samples directory and after checking the names of all directories werecorrect I ran ant to build the Flex client.

    I got the build error:BUILD FAILEDE:\Flex2\samples\red5_flexclient\build.xml:29: Execute failed: java.io.IOException:

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 16/38

    CreateProcess: E:\Flex2\bin\mxmlc -default-frame-rate=30 -incremental=true -default-background-color=0x869CA7 -default-size 900 650E:\Flex2\samples\red5_flexclient/src/main.mxml -o=E:\Flex2\samples\red5_flexclient/bin/main.swf error=193

    So undaunted I ran the mxmlc compiler command directly from the command line and itworked the client was successfully rebuilt! Would just like to know why that ant build isfailing.

    Reply

    25. sven schaetzl said

    April 28, 2007 @ 1:29 pmSorry, but the Server if offline again?

    Could you put these two sample files elsewhere for download?

    Thanks a lot!Sven

    Reply

    26. jwamicha said

    April 30, 2007 @ 4:50 pmHey guys Im really sorry! Im looking for a permanent hosting solution for this as the server inour office just will not do! Should be solved by Wednesday!

    Reply

    27. jwamicha said

    May 9, 2007 @ 3:05 pmFinally a mirror for guys who have been having problems downloading!

    Reply

    28. omar said

    May 15, 2007 @ 2:04 amhi

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 17/38

    Im finishing my red5 app, my app handles video and Ive mount it on a server in my companybut when I play video it plays for a while (about 5 seconds), then it stops for a long time, thenplays a while and stops, does everyone knows why?

    Reply

    29. David Engelmaier said

    June 14, 2007 @ 5:57 pmHello Jwamicha, thanks a lot for this tutorial as well as the provided codes, together withJoachims migration and first application tutorials it gave me an idea of how the Red5 workstogether with AS 3, its a fun to read and a clear way of getting your fingers wet. Thanks again!

    Reply

    30. Ilias said

    July 8, 2007 @ 5:58 pminteresting

    Reply

    31. Kris said

    July 9, 2007 @ 7:02 pmCool.

    Reply

    32. Constantinos said

    July 10, 2007 @ 12:01 aminteresting

    Reply

    33. omar said

    July 10, 2007 @ 12:07 am

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 18/38

    hi, ive finally made my full app with red5 and flash even when I dont know much abputflash

    well, before, I have a question, someone knows how where developed the .fla apps that comewith red5???? Ive tried it but I havent found code on the apps, just images

    Reply

    34. Vaggelis said

    July 10, 2007 @ 1:15 pmNice!

    Reply

    35. Chrysostomos said

    July 10, 2007 @ 2:51 pmCool

    Reply

    36. Angelo said

    July 10, 2007 @ 8:19 pmNice

    Reply

    37. Stefanos said

    July 11, 2007 @ 8:14 amNice!

    Reply

    38. Sreenivas said

    July 12, 2007 @ 3:04 pm

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 19/38

    Hi jwamicha,

    just two days before i came to about Red5 flash server.Will Red5 work with java/jsp files/tomcat sever or will it only work for Spring framework/jettyserver/tomcat server.

    I have a requirement where i have use video conferensing in jsp pages of my web applicationwhich is running on tomcat server.

    please tell how to handle the above problem.give an example

    Thanks

    Reply

    39. jwamicha said

    July 20, 2007 @ 11:08 amHello Sreenivas,

    Sorry for taking so long to get back to you. I havent tried this yet but probably go to your red5server directory and do an#ant warGrub the created war and drop it inside the tomcat webapps directory. Will try this out thisweekend and report on the exact steps.

    Reply

    40. jwamicha said

    July 29, 2007 @ 8:29 amFor tomcat everything is exactly as above but the command is:

    #ant webwar

    Reply

    41. jwamicha said

    July 29, 2007 @ 8:38 amGrab the red5.war from the following path:

    red5_server/dist/red5.war

    Reply

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 20/38

    42. snowman said

    August 23, 2007 @ 2:48 pmHey,

    thank you for this cool tutorial, I like it, but, the links dont work I cant downloadred5java.tar.gz. The first link never even loads and the second one has a small hiccup :S

    Reply

    43. Ambrosios said

    September 2, 2007 @ 10:47 amInteresting

    Reply

    44. Kris said

    September 12, 2007 @ 11:00 amCool

    Reply

    45. Titos said

    September 14, 2007 @ 10:10 pmCool

    Reply

    46. Rafa said

    September 15, 2007 @ 8:22 pmHi,

    Thank you for this great tutorial, pretty valuable for a flex / red5 beginner.

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 21/38

    Thank you for this great tutorial, pretty valuable for a flex / red5 beginner.Everything works as expected, but im having troubles calling the remote shared object handlermethod from Flex,

    - When first connected, calling TSOHandler.sendMessage(..) from Flex gets registered in red5log, but tsoOnSync event handler never gets called in Flex.

    - If I disconnect from the server and reconnect, subsequent calls dont even get logged in Red5.

    Everything goes fine by using NetConnection.call instead. Any clue about this?

    Is there any performance penalty for using the NetConnection call method instead of theSharedObject method?

    Thanks in advance

    Reply

    47. Rafa said

    September 16, 2007 @ 8:07 pmHi,

    Seems the second issue has been solved in Red5 trunk. The room scope was not being stoppedwhen the last client exited the room although my shared object was being properly freed. Since iwas creating this shared object at roomStart handler which was never fired again -since fromservers point of view the room actually was running-, i was getting a null reference to the SO.Now its (apparently) fixed.

    First issues still driving me mad.

    Thank you.

    Reply

    48. Yawei said

    September 20, 2007 @ 4:56 pmThis is a great article.

    Can anybody email me the sample codes? I cant download them.

    Thanks a lot.

    Reply

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 22/38

    49. Yawei said

    September 20, 2007 @ 4:56 pmmy email [email protected]

    Reply

    50. Manoj sharma said

    October 3, 2007 @ 12:41 pmthis is the very big problum

    Reply

    51. Mandar Khankhoje said

    November 20, 2007 @ 12:19 pmThanks. for a very good application, and a great article.

    Reply

    52. Mandar Khankhoje said

    November 20, 2007 @ 12:36 pmHey Jwamicha,

    Thanks. for a very good application, and a great article.

    Can u tell me will jsp, php, js files/servlet will work with red5 server.

    Reply

    53. Raihan Kibria said

    November 21, 2007 @ 7:44 pmExcellent article. Thanks a lot.

    Reply

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 23/38

    54. Ed said

    December 5, 2007 @ 8:03 pmHey jwamicha, I think you accidentally left something out that you meant to include (and itsthe very thing that I am looking for).

    In this part:

    e) build.xml: This is the file that we will use to compile our application before restarting red5.You may use this example build file to compile/build for your own custom applications. Modifythe following parameters as appropriate:

    In our case it was red5java.jar and so we have:

    There is nothing after the two colons. (And then it just goes on to the next topic). I even checkedthe underlying html and there are just empty code tags (as if you were going to paste it in there).That code is what I need. Can you please fill in these two empty spaces? Thanks so much.

    Reply

    55. Cheap Web Hosting and Domains said

    February 6, 2008 @ 7:43 pmFor diifeernt hosting When I made an application it shares it for all the sites. I want it to processthe requests as different for the connections from different sites

    Reply

    56. cezar said

    April 16, 2008 @ 5:38 pmHi,

    This is a great article.

    Can anybody email me the sample codes? I cant download them.

    Thanks a lot.

    Reply

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 24/38

    57. Thomas said

    May 28, 2008 @ 11:36 pmhello,

    can anybody hosts the sample-files on rapidshare or megashare or other fileshares.

    thank you.

    Reply

    58. jwamicha said

    May 29, 2008 @ 10:54 amThe files can now be downloaded from here:

    http://www.thelinkup.com/SharedPage.aspx?vpath=fyw0ogo7twc0

    Reply

    59. Varley said

    August 20, 2008 @ 5:36 amI have two problems

    1) For this tutorial, I cant get the client to connect to the server.> Connection to rtmp://localhost/red5java closed.

    2) However, I have been able to connect with the simple demo example (which adds twonumbers). The problem is that it never returns the sum.

    Im using red5 0.7, Ubuntu 8.04. Java 1.6.0.Note: I can get the SOSample to work. Also I am restarting red5 whenever I make modificationsto red5java.

    Reply

    60. Jason said

    September 30, 2008 @ 2:57 amCan anyone else repost the files pretty please? http://www.thelinkup.com/SharedPage.aspx?vpath=fyw0ogo7twc0 is not working.

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 25/38

    Reply

    61. jwamicha said

    September 30, 2008 @ 7:15 amSorry. The files are now back on mediafire.

    Reply

    62. Oliver said

    October 17, 2008 @ 1:36 pmHi,

    I ran into the same problem Varley described. I can not connect to the red5 server. In the flexGUI I get the message:

    Connection to rtmp://localhost/red5java closed.

    and in my red5 error log I find:

    2008-10-17 12:29:58,648 [DefaultQuartzScheduler_Worker-1] WARNo.r.server.net.rtmp.RTMPConnection Closing RTMPMinaConnection from 127.0.0.1 : 33247 tolocalhost (in: 3467 out 3215 ), with id 3784466 due to long handshake

    I use Red5 0.7 on Slackware 10.1 with JDK 1.6.

    I saw these kind of problem before with the demos from red5 installation. Here I needed to installthe single demos using the link on the start page of red5. After that installation the demosworked (see current red5 FAQ).

    Any idea?

    Reply

    63. Oliver said

    November 3, 2008 @ 4:25 pmOn my second try or view I must say a great tutorial,that shows many of the great features of red5.

    I tried several versions from red5, but I only had success with red5-0.6.3.So I recommend to use this version with this tutorial.

    My final successful environment:

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 26/38

    My final successful environment:Client (Windows XP SP3)- Flex Builder 3 (60 Trial from Adobe)Server (Slackware Linux 2.4.29)- Red5 V0.6.3 (build with ant)

    Thanks, Oliver

    Reply

    64. prashant said

    November 7, 2008 @ 9:41 amHi,i build the application with eclipse and flex but when i debug build.xml it gives following errormessages.

    C:\Program Files\Red5\webapps\red5java\red5java\WEB-INF\build.xml:38: IncludesfileC:\Program Files\Red5\webapps\lib\library.properties not found.

    Reply

    65. Branson Computer Repair said

    November 14, 2008 @ 6:20 pmCurrent situation:I know action script 2 and other animation technique of Flash.Red5 has been installed on the server. I can access to this server using IP Addressxxx.xxx.xxx.xxx. The person who installed the red5, said that it is installed on /user/local/red. Ialso have hosted other domains on the server.Now I need to know the following things:Set A:1. What is the root folder of my red5 server (e.g. public_html or httpdocs etc)?2. How can I access to my root folders files (flv) from any internet browser?3. Can I access on the server from my other domains? If yes, How? (e.g. rtmp://mydomain.com).

    Set B:What are the alternatives of $_POST and $_GET of PHP in action script? I mean, I want to passthe data from php to swf.I may use $_GET type data (mysite.com/index.php?myvariable=123), or post data of a form.By the same way, I want to post the data from swf file to php by using any method. How can I?

    You have to provide me answers of these questions in a simple way so that I can understandand with example codes.

    Reply

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 27/38

    66. deepak said

    March 3, 2009 @ 11:33 amHi,I want to streaming audio and video on red5 open source flash media server so any body canhelp me on this.

    thanksDeepak

    Reply

    67. m hewedy said

    March 12, 2009 @ 3:19 pmGreat, thank you .

    Reply

    68. salvatore said

    March 22, 2009 @ 3:00 amhi, this is a very great post. thanks.I have a problem when i try to connect client, the connection io ok but when i try to get a playlisti recive the message Connection to rtmp://localhost/red5java closed. why? ill be crazy

    Reply

    Niraj Patel said

    July 9, 2009 @ 5:12 pmHey I have same problem .

    I also got the same : rtmp://localhost/red5java closed.

    if you got the solution , please tell me the solution .My email id is : [email protected]

    Thanks.

    Reply

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 28/38

    Niraj Patel said

    July 9, 2009 @ 5:12 pmHey I have same problem .

    I also got the same : rtmp://localhost/red5java closed.

    if you got the solution , please tell me the solution .My email id is : [email protected]

    ok ,

    Thanks.Niraj Patel

    Reply

    69. Vardan said

    April 20, 2009 @ 4:04 pmHi Joseph,

    Thanks for the tutorial. One question, quite easy to stream from file directory(/streams) but is itpossible to stream a flv not from custom/directory(streams) but from db directly lets say MySQLBlob object.Also is it possible to stream a video straight into VideoDisplay object usingBlazeDS+Tomcat+Java+Flex rather than using HttpService call?

    Thanks again for this great article.

    Reply

    70. Alberto Cole said

    April 29, 2009 @ 6:21 pmHello,

    Thanks for this tutorial, now Im able to set up a Red5 Server and send info from Flash to Java,could you make a little 2nd part of this tutorial, and teach us how to capture video from a webcam and create flvs? It would be great!

    Thanks

    Reply

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 29/38

    71. Poon said

    June 29, 2009 @ 6:54 amA good example. It does not compile and run on Red5 0.7 or 0.8 release any more. Is there anychance you may have this fix up? I can help if you need me to.

    Reply

    jwamicha said

    June 29, 2009 @ 7:55 amHi Poon,

    If you can help me fix this up, I would be grateful. I havent looked at red5 in very long.Thanks Poon.

    Ive also been putting this off for too long; Ill take a thorough look at the current red5 release(the red5 team have been tireless and have done an excellent dev job on red5 with many newfeatures since this tutorial was made) and update this tutorial with anything new I may find,in the coming weeks.

    Reply

    Poon said

    July 12, 2009 @ 7:46 amHere is an updated version of red4java code that compiles and runs on latest Red5 0.8.0trunk code (rev 3700). Not all client functionalities are working jet. I also notice somestrange behavior.

    You can download the updated code here:http://public-misc.s3.amazonaws.com/red5java-20090711.zip

    The changes are as follow:

    Since Red5 0.7.0, Red5 switched from log4j to slf4j. I decide to stay with Red5 nativelogger instead of using a separate logger.

    As a result, all loggers instantiation code in *.java has to be changed. In addition, alllogger config in *.xml are also updated.

    Ant build file is updated to use the new logger jar file. In addition, the scripts.propertiesand lib.properties in Red5 6.x are no longer there.

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 30/38

    72. Niraj Patel said

    July 9, 2009 @ 5:18 pmHey I have same problem .

    Thanks for the article .

    But still I get some error.

    I also got the same : rtmp://localhost/red5java closed.

    if you got the solution , please tell me the solution .My email id is : [email protected]

    ok ,

    Thanks.Niraj Patel

    Reply

    73. jwamicha said

    July 13, 2009 @ 10:51 amHi Poon,

    Many thanks for the updated/corrected code!

    Updated tutorial coming soon, as soon as I finish off some pending tasks.

    Niraj, are you able to connect to red5 using the example demos?

    Reply

    74. Porno said

    September 17, 2009 @ 3:17 pmlong paraghraphs are very exhaustingand hard to read

    Reply

    75. Arash said

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 31/38

    January 2, 2010 @ 9:45 amHi,Thanks for the articleIm from Iran ( Green Power of Iran )Could you pleas help me?my final project is : replace flash media server with red5 server (project is Video Conference)my asc code is:

    application.onAppStart = function() {

    application.users_so = SharedObject.get(users_so, false); application.clearStreams(/);application.speaker=condidate; application.users_so.data= ; application.nextId = 0;

    }application.onConnect = function(newClient, name) {

    newClient.name = name; newClient.id = u + application.nextId++;application.users_so.setProperty(newClient.name, name);application.acceptConnection(newClient); newClient.call(receiveID, null, newClient.id,newClient.name); newClient.call(startPlaying,null,application.speaker);

    newClient.PlayVideo = function(speakerName) {

    application.users_so.send(PlayVideo,speakerName);

    }newClient.ReqSpeakAll=function(voterName,voterID){

    if(application.clients[i].name==condidate){application.clients[i].call(ReqSpeakAll,null,voterName,voterID);

    }

    }

    } newClient.AcceptSpeakAll=function(voter1){

    }newClient.StopSpeak=function(voter1){

    }newClient.acceptStopSpeak=function(){

    application.speaker=condidate; application.users_so.send(speaking, application.speaker);

    }

    }if (client.name==condidate){

    application.speaker=condidate; for(var i=0;i

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 32/38

    application.clients[i].call("closeConnection", null, i);

    }

    }

    }

    Reply

    76. Candice said

    February 4, 2010 @ 2:21 pmHi!

    Thanks for your post. Its been helpful BUT with every application that I try to create oreven already created sample applications (including yours), I get the same error when startingthe server. EVERYTIME!!!!This is the error I get:Exception in thread Launcher:/videoDemo java.lang.RuntimeException: Failed to loadwebapplication context class.at org.red5.server.tomcat.TomcatLoader$1.run(TomcatLoader.java:531)Caused by: java.lang.ClassNotFoundException:org/springframework/web/context/support/XmlWebApplicationContextat java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class.java:247)at org.red5.server.tomcat.TomcatLoader$1.run(TomcatLoader.java:528)

    Since I get the same error for every application, Im guessing the problem is more with myconfiguration of the server or something, as opposed to a xml files problems.

    CAN YOU PLEASE PLEASE HELP ME?!?!? Im desperate!!!!

    Thank you!

    Candice

    Reply

    Daniel said

    May 26, 2010 @ 9:26 pmI also have this problem. Any solution?

    Reply

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 33/38

    dadasign said

    March 18, 2011 @ 11:54 pmIve also lost some time searching for a solution to the Failed to load webapplication contextclass. And while this might not be a satisfactory answer to the problem removing:

    log4jConfigLocation/WEB-INF/log4j.properties

    and

    org.springframework.web.context.ContextLoaderListener

    solved the problem and allowed me to run my application. I hope this helps.

    Reply

    77. ChrisPhotonic said

    June 16, 2010 @ 9:51 pmHello,

    I found this guild while trying to get the red5recorder (simple red5 flash application that canrecord from a video camera to the server) working. I dont see anything called WEB-INF in hisdownload zip. I see he also charges 400 pounds for an install which is probably a 5 minute deal ifthere were any kind of install instructions or documentation.

    Is this guy trying to lead everyone off the path to get everything working? Ive never addedanything flash into my site a couple days ago.

    Im looking to go though your setup process on his source package, which seems to be missingthe server configuration files.

    I was wondering if you had installed red5recorder before, and if you and any tips for someonejust starting out, or even if you could point me in the right direction.

    Thanks!-Chris

    Reply

    jwamicha said

    June 17, 2010 @ 8:09 am

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 34/38

    Hi Chris,

    Its been about 2 years since I last used red5. You would need to compile thered5recorder.mxml (and maybe BlinkApp.mxml?) into an .swf file for the website. You couldtry using ant and the build.xml file in red5_flexclient for a build example. Good luck!

    Reply

    78. Parmita Nagy said

    September 18, 2012 @ 1:27 amWow that was odd. I just wrote an extremely long comment but afterI clicked submit my comment didnt appear. Grrrr well Im notwriting all that over again. Anyway, just wanted to say superb blog!

    Reply

    79. tao badass download said

    November 4, 2012 @ 7:13 amWhatsoever the explanations which have introduced you tothis point. If you take the time to create a lively social circle, you are destined to meetmore girls than you ever dreamed. I complaint Iread all the time from guys is they may Never find funky chickswhich likes playing video game a warm or hot environment much as they attain.

    Reply

    80. goodpays.me said

    January 3, 2013 @ 2:34 amCREATE NEW JAVA RED5 APPLICATION Tsavo was indeed a great blog.

    If merely there was even more personal blogs just like this amazing one inthe web. Regardless, thank you for ur time, Jamel

    Reply

    81. http://tinyurl.com/oukaeasy32546 said

    January 17, 2013 @ 9:07 pm

    This excellent blog, CREATE NEW JAVA RED5

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 35/38

    This excellent blog, CREATE NEW JAVA RED5APPLICATION Tsavo shows the fact that u actually understand exactly what ur communicating about! I really absolutely am in agreement.Thank you -Stephanie

    Reply

    82. Isobel said

    January 29, 2013 @ 10:17 pmconstantly i used to read smaller articles or reviews that also clear their motive, and that is alsohappening with this article which I amreading here.

    Reply

    83. Minna said

    February 23, 2013 @ 6:21 pmDwight Freeney, who was simply supposed to leave Indianapolis, spent 11 years using the Coltsand while usingexception of Reggie Wayne (who beats him byone year), was the longest tenured Colt. She deserved a photo, hesaid. The commercial success of Banksy prints allows the artistto search the globe and build political works highlighting issues in post-hurricane Katrina NewOrleans, the Barcelona Zoo as well asthe West Bank barrier separating Palestine from Israel.

    Reply

    84. www.youtube.com said

    June 2, 2013 @ 10:18 amI have been exploring for a little for any high quality articlesor blog posts in this kind of area . Exploring in Yahoo I at laststumbled upon this website. Reading this info So im glad to convey that I have a very gooduncanny feeling I came upon exactly what I needed. I such a lot surely will make certain to don?t put out of your mind this site and give it a glance on a constant basis.

    Reply

    85. online form builder said

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 36/38

    July 15, 2013 @ 11:55 amAll they need to do is to enroll with their name, email, contactnumber and country and vemmabuilder will cater to the particular country of theperson. It wont take you extremely long to work out what way to employ it. The specificcombination of reps, sets, exercises, and weight depends upon the desires of the body builder.

    Reply

    86. online form generator said

    July 17, 2013 @ 10:22 amAll they need to do is to enroll with their name,email, contact number and country and vemmabuilder will cater to the particular country of theperson.Rather, theyre designed to help spark possibilities in your own mind. You wont get a trueimitation of your signature with this Android app, unless you can cleverly manipulate themechanics behind its operation, but that is highly unlikely.

    Reply

    87. online form generator said

    July 18, 2013 @ 1:31 amYou may notice that the concept of compensation plan may seem to be common in thenetworking industry.There are many web designers who charge huge amount of money to dothis job for you. If a picture is worth a thousand words then you can just image how much youwill absorb by browsing this site.

    Reply

    88. prix pose fenetre pvc said

    August 3, 2013 @ 8:29 pmIm truly enjoying the design and layout of your site. Itsa very easy on the eyes which makes it much more enjoyable for me to come here and visit moreoften. Did you hire out a developer to create your theme?Great work!

    Reply

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 37/38

    89. online form generator said

    August 3, 2013 @ 11:46 pmNow, there are hundreds of programs available ranging from free to hundreds of dollars,including everything from a bare bones setup to an all inclusive image editing suit.You might get one or more benefits of outline designer along with it is the ideal means tounleash the capacities. Decide now because if you are a weight lifter, you will not build the chestthat you are looking for.

    Reply

    90. online form builder said

    August 7, 2013 @ 8:55 amFlash web designers will like the cost and the creativity of the Trendy Flash Site Builder.Its a good idea to have separate email promotions for prospects and customers, too, because youtypically need to send different information to the different groups. Once safely at Thebes,though, the obelisks were brought to the temple at Karnak with much fanfare.

    Reply

    91. online Form generator said

    August 9, 2013 @ 8:55 amNow, there are hundreds of programs available ranging from free to hundreds of dollars,including everything from a bare bones setup to an all inclusive image editing suit.There are many web designers who charge huge amount of moneyto do this job for you. If a picture is worth a thousand wordsthen you can just image how much you will absorb by browsing this site.

    Reply

    92. online form generator said

    August 12, 2013 @ 10:13 amAll they need to do is to enroll with their name,email, contact number and country and vemmabuilder will cater to the particularcountry of the person. Its a good idea to have separate email promotions for prospects and

  • 24/4/2014 CREATE NEW JAVA RED5 APPLICATION | Tsavo

    http://jwamicha.wordpress.com/2007/01/29/create-a-new-java-red5-application/ 38/38

    customers, too, because you typically need to send different information to the different groups.Decide now because if you are a weight lifter, you will not build the chest that you are lookingfor.

    Reply

    93. said

    April 17, 2014 @ 7:37 amHi to every single one, its in fact a good for me to pay a visit this site, it contains usefulInformation.

    Reply

    94. Barbra said

    April 22, 2014 @ 1:29 pmHey! Someone in my Facebook group shared this websitewith us so I came to look it over. Im definitely enjoying theinformation. Im bookmarking and will be tweeting this to my followers!

    Superb blog and excellent design and style.

    Reply

    RSS (Really Simple Syndication) feed for comments on this post TrackBack URI (UniformResource Identifier)

    Blog at WordPress.com. The Almost Spring Theme.

    Follow

    Follow Tsavo

    Powered by WordPress.com