Re: [Red5] One-time ticket authentication through MySQL
Thanks for sharing, Jason. This piece could be useful for me in near future ;) Cheers On 2/28/07, Jason Jensen [EMAIL PROTECTED] wrote: I'm not a Java developer but I have created VERY simple authentication for my oflaDemo webapp. I got the idea from reading the 'Programming Flash Communication Server' book (published by O'reilly), chaper 18 'Securing Applications'. 1. Flash movie passes username and password to web server(via SSL using AMFPHP) 2. Web server/application server returns a one-time ticket(through two hashed strings, tid and ticket) to the flash movie 3. Flash movie connects to Red5 using the tid and ticket(instead of username and password...) 4. Red5 checks the tid and ticket against a MySQL db and accepts or rejects the connection In step one I also create a timestamp representing the creation time, and a 'stale' datetime a couple minutes after the creation time. So my simple 'tickets' table has five columns: tid, ticket, uid(linking the ticket to a user table), created(timestamp) and staleDateTime. The ticket is only valid if it is used between the creation time and stale time. You'll need to install the MySQL JDBC driver and add it's jar to your classpath. Here's my oflaDemo Application.java, but please remember this is temporary authentication... and VERY simple!!! Hope this helps someone :-) code follows... package org.red5.server.webapp.oflaDemo; import org.red5.server.adapter.ApplicationAdapter; import org.red5.server.api.IConnection; import org.red5.server.api.IScope; import org.red5.server.api.stream.IServerStream; import org.red5.server.api.stream.IStreamCapableConnection; import org.red5.server.api.stream.support.SimpleBandwidthConfigure; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; //import sql classes import java.sql.*; public class Application extends ApplicationAdapter { //logging private static final Log log = LogFactory.getLog(Application.class); private IScope appScope; private IServerStream serverStream; /** [EMAIL PROTECTED] [EMAIL PROTECTED]} */ @Override public boolean appStart(IScope app) { appScope = app; return true; } /** [EMAIL PROTECTED] [EMAIL PROTECTED]} */ @Override public boolean appConnect(IConnection conn, Object[] params) { // Trigger calling of onBWDone, required for some FLV players measureBandwidth(conn); if (conn instanceof IStreamCapableConnection) { IStreamCapableConnection streamConn = (IStreamCapableConnection) conn; SimpleBandwidthConfigure sbc = new SimpleBandwidthConfigure(); sbc.setMaxBurst(8 * 1024 * 1024); sbc.setBurst(8 * 1024 * 1024); sbc.setOverallBandwidth(2 * 1024 * 1024); streamConn.setBandwidthConfigure(sbc); } // if (appScope == conn.getScope()) { // serverStream = StreamUtils.createServerStream(appScope, live0); // SimplePlayItem item = new SimplePlayItem(); // item.setStart(0); // item.setLength(1); // item.setName(on2_flash8_w_audio); // serverStream.addItem(item); // item = new SimplePlayItem(); // item.setStart(2); // item.setLength(1); // item.setName(on2_flash8_w_audio); // serverStream.addItem(item); // serverStream.start(); // try { //serverStream.saveAs(aaa, false); //serverStream.saveAs(bbb, false); // } catch (Exception e) {} // } //**START AUTHENTICATION CODE** //here we go... boolean authenticated = false; authenticated = authenticate(params); if(authenticated){ log.info(Come on in friend!); return super.appConnect(conn, params); }else{ log.info(Yikes! A LEACH!!); } rejectClient(); return false; } private boolean authenticate(Object[] params){ String authTicketID = (String)params[0]; String authTicket = (String)params[1]; //convert the third parameter from a string that represents a timestamp, to a java timestamp data type java.sql.Timestamp authTimestamp = java.sql.Timestamp.valueOf ((String)params[2]); //the connection paremeters... log.info(authTicketID +authTicketID); log.info(authTicket +authTicket); log.info(authTimestamp +authTimestamp); ResultSet rs = null; Connection conn = null; PreparedStatement pstmt = null; String dbTID = null; String dbTicket = null; java.sql.Timestamp dbCreated = null; java.sql.Timestamp dbStaleDateTime = null; try { //connect to the DB conn = getConnection(); //query string for prepared statement String query = SELECT tid, ticket, created, staleDateTime FROM tickets WHERE tid = ? AND ticket = ?; //prepared statement pstmt = conn.prepareStatement(query); // create a statement pstmt.setString(1, authTicketID); // set input parameters pstmt.setString(2, authTicket); //resultSet rs = pstmt.executeQuery(); //move the resultSet cursor forward and grab the data
Re: [Red5] One-time ticket authentication through MySQL
That sounds like a killa plan or just use AMF via the app. However our video servers are in one DC and sites in another, so thedb conns are over the wire. So an embedded db in red5 if there is an embedded java solution ? And connecting to the app via AMF3 ! thats the plan to test. I use mysql exclusively but on the php nix end. The video servers are on windows, so if someone has an embedded db suggestion let me know. Storm wrote: Thanks for sharing, Jason. This piece could be useful for me in near future ;) Cheers On 2/28/07, Jason Jensen [EMAIL PROTECTED] wrote: I'm not a Java developer but I have created VERY simple authentication for my oflaDemo webapp. I got the idea from reading the 'Programming Flash Communication Server' book (published by O'reilly), chaper 18 'Securing Applications'. 1. Flash movie passes username and password to web server(via SSL using AMFPHP) 2. Web server/application server returns a one-time ticket(through two hashed strings, tid and ticket) to the flash movie 3. Flash movie connects to Red5 using the tid and ticket(instead of username and password...) 4. Red5 checks the tid and ticket against a MySQL db and accepts or rejects the connection In step one I also create a timestamp representing the creation time, and a 'stale' datetime a couple minutes after the creation time. So my simple 'tickets' table has five columns: tid, ticket, uid(linking the ticket to a user table), created(timestamp) and staleDateTime. The ticket is only valid if it is used between the creation time and stale time. You'll need to install the MySQL JDBC driver and add it's jar to your classpath. Here's my oflaDemo Application.java, but please remember this is temporary authentication... and VERY simple!!! Hope this helps someone :-) code follows... package org.red5.server.webapp.oflaDemo; import org.red5.server.adapter.ApplicationAdapter; import org.red5.server.api.IConnection; import org.red5.server.api.IScope; import org.red5.server.api.stream.IServerStream; import org.red5.server.api.stream.IStreamCapableConnection; import org.red5.server.api.stream.support.SimpleBandwidthConfigure; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; //import sql classes import java.sql.*; public class Application extends ApplicationAdapter { //logging private static final Log log = LogFactory.getLog(Application.class); private IScope appScope; private IServerStream serverStream; /** [EMAIL PROTECTED] [EMAIL PROTECTED]} */ @Override public boolean appStart(IScope app) { appScope = app; return true; } /** [EMAIL PROTECTED] [EMAIL PROTECTED]} */ @Override public boolean appConnect(IConnection conn, Object[] params) { // Trigger calling of onBWDone, required for some FLV players measureBandwidth(conn); if (conn instanceof IStreamCapableConnection) { IStreamCapableConnection streamConn = (IStreamCapableConnection) conn; SimpleBandwidthConfigure sbc = new SimpleBandwidthConfigure(); sbc.setMaxBurst(8 * 1024 * 1024); sbc.setBurst(8 * 1024 * 1024); sbc.setOverallBandwidth(2 * 1024 * 1024); streamConn.setBandwidthConfigure(sbc); } // if (appScope == conn.getScope()) { // serverStream = StreamUtils.createServerStream(appScope, live0); // SimplePlayItem item = new SimplePlayItem(); // item.setStart(0); // item.setLength(1); // item.setName(on2_flash8_w_audio); // serverStream.addItem(item); // item = new SimplePlayItem(); // item.setStart(2); // item.setLength(1); // item.setName(on2_flash8_w_audio); // serverStream.addItem(item); // serverStream.start(); // try { //serverStream.saveAs(aaa, false); //serverStream.saveAs(bbb, false); // } catch (Exception e) {} // } //**START AUTHENTICATION CODE** //here we go... boolean authenticated = false; authenticated = authenticate(params); if(authenticated){ log.info(Come on in friend!); return super.appConnect(conn, params); }else{ log.info(Yikes! A LEACH!!); } rejectClient(); return false; } private boolean authenticate(Object[] params){ String authTicketID = (String)params[0]; String authTicket = (String)params[1]; //convert the third parameter from a string that represents a timestamp, to a java timestamp data type java.sql.Timestamp authTimestamp = java.sql.Timestamp.valueOf ((String)params[2]); //the connection paremeters... log.info(authTicketID +authTicketID); log.info(authTicket +authTicket); log.info(authTimestamp +authTimestamp); ResultSet rs = null; Connection conn = null; PreparedStatement pstmt = null; String dbTID = null; String dbTicket = null; java.sql.Timestamp dbCreated = null; java.sql.Timestamp dbStaleDateTime =
Re: [Red5] One-time ticket authentication through MySQL
Just for information. We use another technique in our Project. The problem is we have to provide a onetime logon for our customers. So we work with PHP sessions and Authentification tickets. To ensure that the user connects to the chat, we call an transaction key from the Server (One time). And share it for all applications used. The special thing is, that there is no matter how many browser window the client has open. Its a very fast and comfortable for the client. And the good thing, its provide a good security. mfg nomIad Dan Rossi schrieb: That sounds like a killa plan or just use AMF via the app. However our video servers are in one DC and sites in another, so thedb conns are over the wire. So an embedded db in red5 if there is an embedded java solution ? And connecting to the app via AMF3 ! thats the plan to test. I use mysql exclusively but on the php nix end. The video servers are on windows, so if someone has an embedded db suggestion let me know. Storm wrote: Thanks for sharing, Jason. This piece could be useful for me in near future ;) Cheers On 2/28/07, Jason Jensen [EMAIL PROTECTED] wrote: I'm not a Java developer but I have created VERY simple authentication for my oflaDemo webapp. I got the idea from reading the 'Programming Flash Communication Server' book (published by O'reilly), chaper 18 'Securing Applications'. 1. Flash movie passes username and password to web server(via SSL using AMFPHP) 2. Web server/application server returns a one-time ticket(through two hashed strings, tid and ticket) to the flash movie 3. Flash movie connects to Red5 using the tid and ticket(instead of username and password...) 4. Red5 checks the tid and ticket against a MySQL db and accepts or rejects the connection In step one I also create a timestamp representing the creation time, and a 'stale' datetime a couple minutes after the creation time. So my simple 'tickets' table has five columns: tid, ticket, uid(linking the ticket to a user table), created(timestamp) and staleDateTime. The ticket is only valid if it is used between the creation time and stale time. You'll need to install the MySQL JDBC driver and add it's jar to your classpath. Here's my oflaDemo Application.java, but please remember this is temporary authentication... and VERY simple!!! Hope this helps someone :-) code follows... package org.red5.server.webapp.oflaDemo; import org.red5.server.adapter.ApplicationAdapter; import org.red5.server.api.IConnection; import org.red5.server.api.IScope; import org.red5.server.api.stream.IServerStream; import org.red5.server.api.stream.IStreamCapableConnection; import org.red5.server.api.stream.support.SimpleBandwidthConfigure; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; //import sql classes import java.sql.*; public class Application extends ApplicationAdapter { //logging private static final Log log = LogFactory.getLog(Application.class); private IScope appScope; private IServerStream serverStream; /** [EMAIL PROTECTED] [EMAIL PROTECTED]} */ @Override public boolean appStart(IScope app) { appScope = app; return true; } /** [EMAIL PROTECTED] [EMAIL PROTECTED]} */ @Override public boolean appConnect(IConnection conn, Object[] params) { // Trigger calling of onBWDone, required for some FLV players measureBandwidth(conn); if (conn instanceof IStreamCapableConnection) { IStreamCapableConnection streamConn = (IStreamCapableConnection) conn; SimpleBandwidthConfigure sbc = new SimpleBandwidthConfigure(); sbc.setMaxBurst(8 * 1024 * 1024); sbc.setBurst(8 * 1024 * 1024); sbc.setOverallBandwidth(2 * 1024 * 1024); streamConn.setBandwidthConfigure(sbc); } // if (appScope == conn.getScope()) { // serverStream = StreamUtils.createServerStream(appScope, live0); // SimplePlayItem item = new SimplePlayItem(); // item.setStart(0); // item.setLength(1); // item.setName(on2_flash8_w_audio); // serverStream.addItem(item); // item = new SimplePlayItem(); // item.setStart(2); // item.setLength(1); // item.setName(on2_flash8_w_audio); // serverStream.addItem(item); // serverStream.start(); // try { //serverStream.saveAs(aaa, false); //serverStream.saveAs(bbb, false); // } catch (Exception e) {} // } //**START AUTHENTICATION CODE** //here we go... boolean authenticated = false; authenticated = authenticate(params); if(authenticated){ log.info(Come on in friend!); return super.appConnect(conn, params); }else{ log.info(Yikes! A LEACH!!); } rejectClient(); return false; } private boolean authenticate(Object[] params){ String authTicketID = (String)params[0]; String authTicket = (String)params[1]; //convert the third parameter from a string that represents a timestamp, to a java timestamp data type java.sql.Timestamp authTimestamp =
Re: [Red5] One-time ticket authentication through MySQL
Db based session stuff ? nomIad wrote: Just for information. We use another technique in our Project. The problem is we have to provide a onetime logon for our customers. So we work with PHP sessions and Authentification tickets. To ensure that the user connects to the chat, we call an transaction key from the Server (One time). And share it for all applications used. The special thing is, that there is no matter how many browser window the client has open. Its a very fast and comfortable for the client. And the good thing, its provide a good security. mfg nomIad Dan Rossi schrieb: That sounds like a killa plan or just use AMF via the app. However our video servers are in one DC and sites in another, so thedb conns are over the wire. So an embedded db in red5 if there is an embedded java solution ? And connecting to the app via AMF3 ! thats the plan to test. I use mysql exclusively but on the php nix end. The video servers are on windows, so if someone has an embedded db suggestion let me know. Storm wrote: Thanks for sharing, Jason. This piece could be useful for me in near future ;) Cheers On 2/28/07, Jason Jensen [EMAIL PROTECTED] wrote: I'm not a Java developer but I have created VERY simple authentication for my oflaDemo webapp. I got the idea from reading the 'Programming Flash Communication Server' book (published by O'reilly), chaper 18 'Securing Applications'. 1. Flash movie passes username and password to web server(via SSL using AMFPHP) 2. Web server/application server returns a one-time ticket(through two hashed strings, tid and ticket) to the flash movie 3. Flash movie connects to Red5 using the tid and ticket(instead of username and password...) 4. Red5 checks the tid and ticket against a MySQL db and accepts or rejects the connection In step one I also create a timestamp representing the creation time, and a 'stale' datetime a couple minutes after the creation time. So my simple 'tickets' table has five columns: tid, ticket, uid(linking the ticket to a user table), created(timestamp) and staleDateTime. The ticket is only valid if it is used between the creation time and stale time. You'll need to install the MySQL JDBC driver and add it's jar to your classpath. Here's my oflaDemo Application.java, but please remember this is temporary authentication... and VERY simple!!! Hope this helps someone :-) code follows... package org.red5.server.webapp.oflaDemo; import org.red5.server.adapter.ApplicationAdapter; import org.red5.server.api.IConnection; import org.red5.server.api.IScope; import org.red5.server.api.stream.IServerStream; import org.red5.server.api.stream.IStreamCapableConnection; import org.red5.server.api.stream.support.SimpleBandwidthConfigure; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; //import sql classes import java.sql.*; public class Application extends ApplicationAdapter { //logging private static final Log log = LogFactory.getLog(Application.class); private IScope appScope; private IServerStream serverStream; /** [EMAIL PROTECTED] [EMAIL PROTECTED]} */ @Override public boolean appStart(IScope app) { appScope = app; return true; } /** [EMAIL PROTECTED] [EMAIL PROTECTED]} */ @Override public boolean appConnect(IConnection conn, Object[] params) { // Trigger calling of onBWDone, required for some FLV players measureBandwidth(conn); if (conn instanceof IStreamCapableConnection) { IStreamCapableConnection streamConn = (IStreamCapableConnection) conn; SimpleBandwidthConfigure sbc = new SimpleBandwidthConfigure(); sbc.setMaxBurst(8 * 1024 * 1024); sbc.setBurst(8 * 1024 * 1024); sbc.setOverallBandwidth(2 * 1024 * 1024); streamConn.setBandwidthConfigure(sbc); } // if (appScope == conn.getScope()) { // serverStream = StreamUtils.createServerStream(appScope, live0); // SimplePlayItem item = new SimplePlayItem(); // item.setStart(0); // item.setLength(1); // item.setName(on2_flash8_w_audio); // serverStream.addItem(item); // item = new SimplePlayItem(); // item.setStart(2); // item.setLength(1); // item.setName(on2_flash8_w_audio); // serverStream.addItem(item); // serverStream.start(); // try { //serverStream.saveAs(aaa, false); //serverStream.saveAs(bbb, false); // } catch (Exception e) {} // } //**START AUTHENTICATION CODE** //here we go... boolean authenticated = false; authenticated = authenticate(params); if(authenticated){ log.info(Come on in friend!); return super.appConnect(conn, params); }else{ log.info(Yikes! A LEACH!!); } rejectClient(); return false; } private boolean authenticate(Object[] params){ String authTicketID = (String)params[0]; String authTicket = (String)params[1];
Re: [Red5] Connection to the Server - localhost:yes, but not via IP
I think it could be a problem related with vhosts and Red5 configuration. 2007/2/20, [EMAIL PROTECTED] [EMAIL PROTECTED]: When using my Script locally: rtmp://localhost/sample than I can connect to my local red5 Server but when using an IP-Adress (127.0.0.1 or the one using in my LAN) I can not establish the connection any more even when still working locally. Isn't: rtmp://localhost/sample the same than rtmp://127.0.0.1/sample ?? ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
Re: [Red5] Connection to the Server - localhost:yes, but not via IP
Configure the properties file under ./Red5/conf/red5.properties it usually is: rtmp.host_port = 127.0.0.1:1935 debug_proxy.host_port = 127.0.0.1:1936 proxy_forward.host_port = 127.0.0.1:1935 rtmps.host_port = 127.0.0.1:1945 http.host = 127.0.0.1 http.port = 5080 rtmpt.host = 127.0.0.1 rtmpt.port = 8088 put your ip instead of all the 127.0.0.1 and probably u must configure the properties file under your aplication folder, for example :/red5/webapps/myapp/WEB-INF/red5-web.properties. it usually contains: webapp.contextPath=/ejemplo webapp.virtualHosts=*, localhost, localhost:8088, 127.0.0.1:8088 add your_ip:1935 to the webapp.virtualHosts field, separated by comas it should work now 2007/3/1, Florencio Cano [EMAIL PROTECTED]: I think it could be a problem related with vhosts and Red5 configuration. 2007/2/20, [EMAIL PROTECTED] [EMAIL PROTECTED]: When using my Script locally: rtmp://localhost/sample than I can connect to my local red5 Server but when using an IP-Adress (127.0.0.1 or the one using in my LAN) I can not establish the connection any more even when still working locally. Isn't: rtmp://localhost/sample the same than rtmp://127.0.0.1/sample ?? ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
[Red5] Debian tutorial
Thanks Sir Codalot, But This tutorial is for windows... I don't find a tutorial of Debian installation? Thanks! Carolina, Red5 is a server not a client. Red5 is basically a free, opensource alternative to Adobe's Flash Media Server. Also there is the (commercial) Wowza Media Server. They all do basically the same thing. The clients that connect to these servers are the Flash clients.By using a server like Red5 you can develop Flash clients that can be eg. multi-usergames, stream live video (webcam chat), etc. For a nice quickstart video tutorial see http://www.flashextensions.com/tutorials.php (the Red5 Tutorials are page 2) Carolina Nogueira schreef: Well, I want to known if the Red5 is a server-client application or is a client-client application. How can I find a tutorial of Debian installation? Thanks for attention! -- -- Divisão de Rede e Suporte - DRS Centro de Processamento de Dados - CPD/UFRGS Telefone: (51) 3308 5050 Contato: Carolina Nogueira ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
Re: [Red5] best dedicated server hosting for streaming/live video?
What were their costs? oke _ wrote: Folks, anyone know of reliable and low-cost dedicated server hosting companies for hosting Red5 (streaming/live video) apps? I looked up 1and1.com and ValueWeb.com so far but their monthly rates for their 2GB RAM servers are pretty high. Thanks, any good pointers appreciated. -Oke. Bored stiff? http://us.rd.yahoo.com/evt=49935/*http://games.yahoo.com Loosen up... Download and play hundreds of games for free http://us.rd.yahoo.com/evt=49935/*http://games.yahoo.com on Yahoo! Games. ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
[Red5] Red 5 rc2 war detail with tomcat
I have working fine with the rc1 version on tomcat container, but the rc2 doest work, (I been stop rc1 before to start rc2) I have JVM 1.6.0 installed and I.m working with fedora 4 Any idea? Ing Juan Peña de la Garza RWS Internet, S.A. de C.V. Sitio Web: http://www.rwsinternet.com/ www.rwsinternet.com E-mail: mailto:[EMAIL PROTECTED] [EMAIL PROTECTED] Messenger: mailto:[EMAIL PROTECTED] [EMAIL PROTECTED] Oficina: 8679 672883261265 NEXTEL 1478 5263 ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
Re: [Red5] best dedicated server hosting for streaming/live video?
Just saw this posting so answering the question as this is part of my buisness. shockwaveserver.com supplies dedicated servers for multi user applications. we are going to offer a new low cost servers with linux at $150 a month. These are unmanaged servers. contact me directly at: [EMAIL PROTECTED] if interested. Thanks Interalab [EMAIL PROTECTED] wrote: What were their costs? oke _ wrote: Folks, anyone know of reliable and low-cost dedicated server hosting companies for hosting Red5 (streaming/live video) apps? I looked up 1and1.com and ValueWeb.com so far but their monthly rates for their 2GB RAM servers are pretty high. Thanks, any good pointers appreciated. -Oke. Bored stiff? Loosen up... Download and play hundreds of games for free on Yahoo! Games. ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org - Never Miss an Email Stay connected with Yahoo! Mail on your mobile. Get started!___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
[Red5] run red5 as applet
Hi folks, I have to run Red5 as an applet and in my case I only want to use the video-streaming. Are there any unecessary things in the code that I can delete to reduce the size of the jar? And which class/package should I use in my Applet to tell Red5 to run? I know already that Java Security does not allow an applet to run a server, but it could work if I sign the jar. In the last version 0.6 RC 2, I get an error when I try to build, something like Bad Version. Thanks in advance! Best Regards, Tuyen___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
Re: [Red5] run red5 as applet
I might be wrong, but the main class is Standalone.java On 3/1/07, Doer [EMAIL PROTECTED] wrote: Hi folks, I have to run Red5 as an applet and in my case I only want to use the video-streaming. Are there any unecessary things in the code that I can delete to reduce the size of the jar? And which class/package should I use in my Applet to tell Red5 to run? I know already that Java Security does not allow an applet to run a server, but it could work if I sign the jar. In the last version 0.6 RC 2, I get an error when I try to build, something like Bad Version. Thanks in advance! Best Regards, Tuyen ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org -- Dominick Accattato, CTO Infrared5 Inc. www.newviewnetworks.com ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
Re: [Red5] run red5 as applet
That is the main class but it starts either the Jetty or Tomcat container, neither of which I would want to run in an applet. In my opinion if you wanted to do something like this (running a lite server with only video) you would be better off using JNLP. Good luck. Paul On 3/1/07, Dominick Accattato [EMAIL PROTECTED] wrote: I might be wrong, but the main class is Standalone.java On 3/1/07, Doer [EMAIL PROTECTED] wrote: Hi folks, I have to run Red5 as an applet and in my case I only want to use the video-streaming. Are there any unecessary things in the code that I can delete to reduce the size of the jar? And which class/package should I use in my Applet to tell Red5 to run? I know already that Java Security does not allow an applet to run a server, but it could work if I sign the jar. In the last version 0.6 RC 2, I get an error when I try to build, something like Bad Version. Thanks in advance! Best Regards, Tuyen ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org -- Dominick Accattato, CTO Infrared5 Inc. www.newviewnetworks.com ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org -- The early bird may get the worm, but the second mouse gets the cheese. ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
[Red5] Question: Is Source from SVN ready to use webwar built from source?
Hello All. Got a Question. I downloaded the latest from the SVN Trunk, updated to Java 1.6 and proceeded to build RED5 as a WebWar app with Ant 1.7.0. I read this from a note in the War Branch. Before I start I just want to say how much I appreciate everyone's effort that have gone into creating RED5. I am really excited about RED5. Was just wondering if someone could shed some light as to either what I am doing wrong or if there area some problems with building the WebWar from the svn trunk. When I build wih the downloaded sources I get no errors until I deploy the war file in Tomcat 5.5.17. It seems that the application is looking for some files that are not in the in the downloaded svn trunk source. The following is one error I got when trying to run RED5 from Tomcat: [ERROR] 3750 Thread-1:( org.red5.server.MainServlet.contextInitialized ) org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.red5.server.stream.BalancedFlowControlService] for bean with name 'FlowControlService' defined in ServletContext resource [/WEB-INF/red5- common.xml]; nested exception is java.lang.ClassNotFoundException: org.red5.server.stream.BalancedFlowControlService Seems that BalancedFlowControlService.class nor BalancedFlowControlService.java is nowhere to be found in the svn server trunk. However, I did see that BalancedFlowControlService.java along with a few other files were in /java/server/tags/0_6rc2 src source folder. So I am a bit confuse as to what to use here. The next error I am not really sure how to address: I don't know where to go to hunt down this error. It appears to be a Spring error. Is this someone configured wrong in the applicationContext.xml in the WEB-INF Folder? [INFO] 6726610 Thread-1:( org.red5.server.MainServlet.contextDestroyed ) Webapp shutdown [ERROR] 6726719 Thread-1:( org.springframework.web.context.support.XmlWebApplicationContext.error ) Exception thrown from ApplicationListener handling ContextClosedEvent java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.web.context.support.XmlWebApplicationContext: display name [Root WebApplicationContext]; startup date [Thu Mar 01 15:54:57 CST 2007]; root of context hierarchy; config locations [/WEB-INF/applicationContext.xml,/WEB-INF/red5-common.xml,/WEB-INF/red5- core.xml,/WEB-INF/*-context.xml] at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster (AbstractApplicationContext.java:254) at org.springframework.context.support.AbstractApplicationContext.publishEvent( AbstractApplicationContext.java:241) at org.springframework.context.support.AbstractApplicationContext.doClose( AbstractApplicationContext.java:603) at org.springframework.context.support.AbstractApplicationContext.close( AbstractApplicationContext.java:578) at org.red5.server.MainServlet.contextDestroyed(MainServlet.java:170) at org.apache.catalina.core.StandardContext.listenerStop( StandardContext.java:3770) at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4339) at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java :892) at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java :1164) at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1135) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java :312) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent( LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1054) at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1066) at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:447) at org.apache.catalina.core.StandardService.stop(StandardService.java:512) at org.apache.catalina.core.StandardServer.stop(StandardServer.java:743) at org.apache.catalina.startup.Catalina.stop(Catalina.java:601) at org.apache.catalina.startup.Catalina.start(Catalina.java:576) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432) [ERROR] 6726766 Thread-1:( org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/red5].error ) Exception sending context destroyed event to listener instance of class org.red5.server.MainServlet org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.red5.server.stream.BalancedFlowControlService] for bean with name 'FlowControlService' defined in ServletContext resource [/WEB-INF/red5- common.xml]; nested exception is java.lang.ClassNotFoundException: org.red5.server.stream.BalancedFlowControlService Caused by:
Re: [Red5] Question: Is Source from SVN ready to use webwar built from source?
It was working... ill look into it. On 3/1/07, Lenny Sorey [EMAIL PROTECTED] wrote: Hello All. Got a Question. I downloaded the latest from the SVN Trunk, updated to Java 1.6 and proceeded to build RED5 as a WebWar app with Ant 1.7.0. I read this from a note in the War Branch. Before I start I just want to say how much I appreciate everyone's effort that have gone into creating RED5. I am really excited about RED5. Was just wondering if someone could shed some light as to either what I am doing wrong or if there area some problems with building the WebWar from the svn trunk. When I build wih the downloaded sources I get no errors until I deploy the war file in Tomcat 5.5.17. It seems that the application is looking for some files that are not in the in the downloaded svn trunk source. The following is one error I got when trying to run RED5 from Tomcat: [ERROR] 3750 Thread-1:( org.red5.server.MainServlet.contextInitialized ) org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.red5.server.stream.BalancedFlowControlService] for bean with name 'FlowControlService' defined in ServletContext resource [/WEB-INF/red5- common.xml]; nested exception is java.lang.ClassNotFoundException: org.red5.server.stream.BalancedFlowControlService Seems that BalancedFlowControlService.class nor BalancedFlowControlService.java is nowhere to be found in the svn server trunk. However, I did see that BalancedFlowControlService.java along with a few other files were in /java/server/tags/0_6rc2 src source folder. So I am a bit confuse as to what to use here. The next error I am not really sure how to address: I don't know where to go to hunt down this error. It appears to be a Spring error. Is this someone configured wrong in the applicationContext.xml in the WEB-INF Folder? [INFO] 6726610 Thread-1:( org.red5.server.MainServlet.contextDestroyed ) Webapp shutdown [ERROR] 6726719 Thread-1:( org.springframework.web.context.support.XmlWebApplicationContext.error ) Exception thrown from ApplicationListener handling ContextClosedEvent java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.web.context.support.XmlWebApplicationContext: display name [Root WebApplicationContext]; startup date [Thu Mar 01 15:54:57 CST 2007]; root of context hierarchy; config locations [/WEB-INF/applicationContext.xml,/WEB-INF/red5- common.xml,/WEB-INF/red5- core.xml,/WEB-INF/*-context.xml] at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster (AbstractApplicationContext.java:254) at org.springframework.context.support.AbstractApplicationContext.publishEvent( AbstractApplicationContext.java:241) at org.springframework.context.support.AbstractApplicationContext.doClose (AbstractApplicationContext.java:603) at org.springframework.context.support.AbstractApplicationContext.close ( AbstractApplicationContext.java:578) at org.red5.server.MainServlet.contextDestroyed(MainServlet.java:170) at org.apache.catalina.core.StandardContext.listenerStop( StandardContext.java:3770) at org.apache.catalina.core.StandardContext.stop (StandardContext.java :4339) at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java :892) at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java :1164) at org.apache.catalina.startup.HostConfig.stop (HostConfig.java:1135) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java :312) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent( LifecycleSupport.java:119) at org.apache.catalina.core.ContainerBase.stop (ContainerBase.java:1054) at org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1066) at org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:447) at org.apache.catalina.core.StandardService.stop (StandardService.java :512) at org.apache.catalina.core.StandardServer.stop(StandardServer.java:743) at org.apache.catalina.startup.Catalina.stop(Catalina.java:601) at org.apache.catalina.startup.Catalina.start (Catalina.java:576) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432) [ERROR] 6726766 Thread-1:( org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/red5].error ) Exception sending context destroyed event to listener instance of class org.red5.server.MainServlet org.springframework.beans.factory.CannotLoadBeanClassException : Cannot find class [org.red5.server.stream.BalancedFlowControlService] for bean with name 'FlowControlService' defined in ServletContext resource [/WEB-INF/red5-common.xml]; nested
[Red5] Can it relay/load balance live feeds?
Hi! When I thought about streaming live sources with Red5, I asked myself whether it's possible to set-up Red5 as a relay for another machine running Red5? Or how else could sort of load balancing realized for live streams? Anyone? ;) Timon ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
Re: [Red5] Can it relay/load balance live feeds?
Timon Reinhard wrote: Hi! When I thought about streaming live sources with Red5, I asked myself whether it's possible to set-up Red5 as a relay for another machine running Red5? Or how else could sort of load balancing realized for live streams? Anyone? ;) Timon There was client examples somewhere, i might need to know because we might be looking at putting red5 on 3 machines behind a LB like our current windows media setup and loading the files on the main content server. We only have 2GB of ram on the current server and cant upgrade it so a little worried about putting the vod system live again with large video files. Still having problems with data rates and buffering though, it buffers immediately as it starts for 2 seconds. ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
[Red5] Authentication?
Hi there, I'm planing on using red5 on a community site for (video) chating and message recording. How can i make sure, that only my applications connect to my red5 server? Is there an option to set a password? Or would this be possible by writing serverside code? Any hints how this could be implemented - what classes to look at etc.? Also, are there any best practises on how to implement an user list for the chat? Would i need to create a shared object holding the list or can i enumerate the connected clients somehow? Thanks, Claudius ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
[Red5] eclipse problems with svn update
just getting nowhere and a heap of these errors, i really wish this scripting engine wasnt here it always gives me problems, im on mac osx so i cant get jdk6, ive done all the usual things of adding in the java5 libs. I had to delete .classpath and build.xml which is all the time i update because they clash, something needs to be done about this. Severity and DescriptionPathResourceLocationCreation TimeId Type mismatch: cannot convert from String[] to ListString red5_server/test/org/red5/server/scriptScriptEngineTest.javaline 282117281103061151704 Type mismatch: cannot convert from String[] to ListString red5_server/test/org/red5/server/scriptScriptEngineTest.javaline 276117281103061151703 Type mismatch: cannot convert from ScriptEngineFactory[] to ListScriptEngineFactoryred5_server/test/org/red5/server/script ScriptEngineTest.javaline 263117281103061051702 The method invokeMethod(Object, String, Object[]) is undefined for the type Invocablered5_server/src/org/red5/server/script/rhino RhinoScriptUtils.javaline 163117281102527951513 The method invokeFunction(String, Object[]) is undefined for the type Invocablered5_server/src/org/red5/server/script/rhino RhinoScriptUtils.javaline 169117281102527951514 The method invokeFunction(String, Object[]) is undefined for the type Invocablered5_server/src/org/red5/server/script/rhino RhinoScriptUtils.javaline 160117281102527951512 The method invokeFunction(String, Object[]) is undefined for the type Invocablered5_server/src/org/red5/server/script/rhino RhinoScriptUtils.javaline 122117281102527951511 The method getInterface(Class) in the type Invocable is not applicable for the arguments (Object, Class) red5_server/src/org/red5/server/script/rhinoRhinoScriptUtils.java line 174117281102527951515 The method getBindings(int) is undefined for the type ScriptEngine red5_server/src/org/red5/server/script/rhinoRhinoScriptUtils.java line 75117281102527851510 let me know thanks. ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
[Red5] events problem with vod streams
Hi there, im still experiencing issues with events when a vod stream completes. Here is what happens, it calls start quite a few times after stop which is screwing my application, aswell as pause notify which has just started to happen after an update. 05:36:46.390 [DEBUG] Subscriber NetConnection.Connect.Success 05:36:46.796 [DEBUG] Subscriber NetStream.Play.Reset 05:36:46.796 [DEBUG] Subscriber NetStream.Play.Start 05:36:47.421 [DEBUG] Subscriber NetStream.Buffer.Full 05:37:46.515 [DEBUG] Subscriber NetStream.Play.Stop 05:37:46.593 [DEBUG] Subscriber NetStream.Play.Reset 05:37:46.593 [DEBUG] Subscriber NetStream.Play.Start 05:37:46.593 [DEBUG] Subscriber NetStream.Pause.Notify 05:37:46.593 [DEBUG] Subscriber NetStream.Seek.Notify 05:37:46.593 [DEBUG] Subscriber NetStream.Play.Start Where in this should i be recalling play to replay a looping trailer , in stop doesnt work, in pause notify works but then at times doesnt so is flakey, it calls ns.close() before playing aswell. Playback complete even would be nice. Dan ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
Re: [Red5] events problem with vod streams
if i call ns.resume() during seek.notify just scrolls back a few frames so isnt seeking to the start, calling play here seems to work. Dan Rossi wrote: Hi there, im still experiencing issues with events when a vod stream completes. Here is what happens, it calls start quite a few times after stop which is screwing my application, aswell as pause notify which has just started to happen after an update. 05:36:46.390 [DEBUG] Subscriber NetConnection.Connect.Success 05:36:46.796 [DEBUG] Subscriber NetStream.Play.Reset 05:36:46.796 [DEBUG] Subscriber NetStream.Play.Start 05:36:47.421 [DEBUG] Subscriber NetStream.Buffer.Full 05:37:46.515 [DEBUG] Subscriber NetStream.Play.Stop 05:37:46.593 [DEBUG] Subscriber NetStream.Play.Reset 05:37:46.593 [DEBUG] Subscriber NetStream.Play.Start 05:37:46.593 [DEBUG] Subscriber NetStream.Pause.Notify 05:37:46.593 [DEBUG] Subscriber NetStream.Seek.Notify 05:37:46.593 [DEBUG] Subscriber NetStream.Play.Start Where in this should i be recalling play to replay a looping trailer , in stop doesnt work, in pause notify works but then at times doesnt so is flakey, it calls ns.close() before playing aswell. Playback complete even would be nice. Dan ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
Re: [Red5] events problem with vod streams
looped a few times, then ran out of buffer, stopped working. Dan Rossi wrote: Hi there, im still experiencing issues with events when a vod stream completes. Here is what happens, it calls start quite a few times after stop which is screwing my application, aswell as pause notify which has just started to happen after an update. 05:36:46.390 [DEBUG] Subscriber NetConnection.Connect.Success 05:36:46.796 [DEBUG] Subscriber NetStream.Play.Reset 05:36:46.796 [DEBUG] Subscriber NetStream.Play.Start 05:36:47.421 [DEBUG] Subscriber NetStream.Buffer.Full 05:37:46.515 [DEBUG] Subscriber NetStream.Play.Stop 05:37:46.593 [DEBUG] Subscriber NetStream.Play.Reset 05:37:46.593 [DEBUG] Subscriber NetStream.Play.Start 05:37:46.593 [DEBUG] Subscriber NetStream.Pause.Notify 05:37:46.593 [DEBUG] Subscriber NetStream.Seek.Notify 05:37:46.593 [DEBUG] Subscriber NetStream.Play.Start Where in this should i be recalling play to replay a looping trailer , in stop doesnt work, in pause notify works but then at times doesnt so is flakey, it calls ns.close() before playing aswell. Playback complete even would be nice. Dan ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
Re: [Red5] Red 5 rc2 war detail with tomcat
I have a similar problem with the WAR implementation, using the Sun Application Server. I am not sure if it is related or not. After I installed the WAR file, I can get to the web pages fine, but the RTMP Server stuff doesn't run. I looked at the server log, and found this: --- [#|2007-02-26T15:44:53.255+1100|INFO|sun-appserver-pe9.0|javax.enterprise.system.stream.out|_ThreadID=13;_ThreadName=Thread-54;|[ERROR] 824 Thread-54:( org.red5.server.MainServlet.contextInitialized ) org.springframework.beans.factory.BeanInitializationException: Could not load properties; nested exception is java.io.FileNotFoundException: class path resource [red5.properties] cannot be opened because it does not exist. - So I looked at the file red5-core.xml and changed the bean property from bean id=placeholderConfig class=org.springframework.beans.factory.config.PropertyPlaceholderConfigurer property name=location value=classpath:/red5.properties / /bean to bean id=placeholderConfig class=org.springframework.beans.factory.config.PropertyPlaceholderConfigurer property name=location value=/WEB-INF/red5.properties / /bean … which the first problem, but created a new one: #|2007-02-26T15:55:01.886+1100|INFO|sun-appserver-pe9.0|javax.enterprise.system.stream.out|_ThreadID=10;_ThreadName=main;|[ERROR] 1493 main:( org.red5.server.MainServlet.contextInitialized ) org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.mina.transport.socket.nio.SocketAcceptor' defined in ServletContext resource [/WEB-INF/red5-core.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.apache.mina.transport.socket.nio.SocketAcceptor]: Constructor threw exception; nested exception is java.lang.ExceptionInInitializerError - That's as far as I got before giving up. I had no idea to fix this, without spending hours researching the springframework etc. This is on Fedora Core 6… Cheers On 01/03/07, Ing Juan Peña [EMAIL PROTECTED] wrote: I have working fine with the rc1 version on tomcat container, but the rc2 doest work, (I been stop rc1 before to start rc2) I have JVM 1.6.0 installed and I.m working with fedora 4 Any idea? Ing Juan Peña de la Garza RWS Internet, S.A. de C.V. Sitio Web: www.rwsinternet.com E-mail: [EMAIL PROTECTED] Messenger: [EMAIL PROTECTED] Oficina: 8679 672883261265 NEXTEL 1478 5263 ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
[Red5] monitoring buffering
hi there, is there any way at all to monitor the buffers of a video on a lower level. Im needing to work out why the videos we are streaming ewxperience buffer underuns. Obviouslly its playing faster than its collecting the stream. There is no difference at all between a 180k clip and a 768k clip. It will rebuffer in the first seconds of playing on a 5MB adsl connection. Is there a default bandwidth limit of the server , my app isnt using bandwidth configurer. ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org
[Red5] load balancing through different locations.
hi; I'd like to ask is it possible to use red5 servers as clusters at different locations. I used Apache to dispatch incoming http connections to the servers behind the internal network. can i do something like that to have optimal load distribution through the locations. or is there any other way to achieve that task. best regards. ___ Red5 mailing list Red5@osflash.org http://osflash.org/mailman/listinfo/red5_osflash.org