Evolution of security

December 11th, 2009

Here’s an interesting video on the evolution of security!

Recording Audio/Video Streams with Red5, the Simple explanation!

October 30th, 2009

If you’re just getting into Red5, and you are wondering what it’s capabilities are and how you could approach saving audio/video streams with Red5, then please read on.

Recently on the mailing list, a question on how to save streams to the server came up via a new Red5 user. The user was kind enough to explain that they hadn’t much knowledge on the subject and that they did their due diligence by searching the web for answers.  Unfortunately, there is a lot of information on saving streams, but most of it is geared towards long winded examples and less on teaching the user what they need to do to get from A to B.  Keeping this in mind, I gave the following answer which instead of providing an entire example, just gave him the tools and knowledge to get to their next step in the red5 evolutionary process.  Soon, this user may be spreading the knowledge back by providing these same answers to other users or contributing to our wiki.  My suggestion is as follows:

I would suggest that you take the following approach:

  • download and install red5
  • open up the home page screen (http://localhost:5080/)
  • install some examples
  • look for an example that does something you’re looking for.. probably oflaDemo in your case or the publisher application.

once you have this 50,000 foot view, you will can check out the example code and look at what API you will need.

In your case, you’re going to want to look into the following Clientside API:

  • NetConnection
  • NetStream

example:

// create the connection
var nc:NetConnection = new NetConnection();
nc.connect("rtmp://localhost/myApp");

// create the stream
var ns:NetStream = new NetStream(nc);
ns. publish("myStreamName", "record");

The result will be an FLV file named “myStreamName.flv” located in your webapp’s streams directory.  This happens automagically on the server.  Of course there are ways to monitor and prevent this automagical functionality, but it’s a good start.

Also, keep in mind that the code above just publishes… there are equivalent api calls to play a stream: e.g.:

ns.play(”myStreamName”);

Hope this helps…

Xuggle 3.3 – “Eliza” released … new licence LGPL

October 29th, 2009

For those of you who have held back on working with Xuggle due to their restricting AGPL licence you can now breathe a sigh of relief and head on over to the xuggle site.  The Xuggle team has released a new version named “Eliza” and ain’t she pretty! In addition to the release, they have slapped the good old LGPL license back on the packaging.  What this means is that you can now use Xuggle 3.3 with your products without:

  • releasing your source code under the same restrictive AGPL license.
  • paying a commercial license.
  • Instead, you can now freely use Xuggle 3.3 as you please.  The only restriction that LGPL places on your project is that you must contribute back any code modifications to the source code of Xuggle.  You should all be pretty familiar with this licensing model since it’s used with some of your most prized open source technologies such as Tomcat and your’s truly Red5! Many of you might remember that Xuggle 1.x was also licenced under LGPL, however starting with 2.x, the licence had been changed to AGPL. The news of LGPL is a big win for the Red5 community.  Good to hear and I thank the Xuggle team for their contribution.  So what are you waiting for, go get Xuggle 3.3 Eliza!

    Streaming Red5 Video to Flash Lite 3

    October 27th, 2009

    Have a look here for an example and source code: flashvisions

    note: the source code shows that it’s pretty straight forward… so I guess it’s more of a confirmation than a breakthrough :) .  Regardless, this may be interesting for some of you who have been wondering if this was possible.

    More insight into Trench Run

    October 25th, 2009

    Head on over to Chris Allen’s site and get another inside look into the development of Trench Run on the iphone.

    Star Wars: Trench Run on the iphone developed by Infrared5

    October 23rd, 2009

    Many gamers around the world are waking up to some very exciting news today. This comes immediately following the “teaser” trailer THQ sent to PocketGamer, and the posting of the game trailer on youtube.com. Following the initial release, a succession of iphone sites and gaming aggregators picked up on the news. Finally, the trailer and a great article were released on the official Star Wars site. What’s interesting to see are the comments that are flooding in on sites like TouchArcade and others. Comments range from interesting suggestions, new game requests, flat out excitement and criticism.  To answer these from my own perspective, we (Infrared5) are totally stoked about this game and would want nothing more than to continue building quality Star Wars games.  God knows there’s an amazing community that expects nothing but the best and its important to continue the tradition.  In addition, we share the excitement for the release!  To address the criticism. Well, there’s always going to be criticism ;) , but that doesn’t mean that it should go un-noticed. To that point, I can only say that the game was developed by a top-notch team all whom are all recognized in the credits of the game.  One of our developers John Grden, who has my greatest admiration led the development on the game.  If anyone has any doubts about the games quality and authenticity, please read John’s post. John is, ummm, a huge Star Wars fan…  He’s been storyboarding this game for 6+ years.  Trust me, I’ve seen his sketches and previous experiments ;) . That said, I can say that John and the team have really paid attention to detail for this game!

    Last, my thanks to the team, John GrdenChris Allen, Rebecca Smith Allen, Todd Anderson, Keith Peters, Andy Zupko, Paul Gregoire, Kasey Jordan, Lizzie Martin and Ben Throop and Mike Oldham.

    Infrared5 is a consulting firm that specializes in developing cutting-edge experiences for the Flash, iPhone and Unity3D platforms. With it’s all-star team of designers and developers including Chris Allen, Keith Peters, John Grden, Andy Zupko, Joe Berkovitz, Dominick Accattato, Rebecca Allen and others, Infrared5 has excelled at building sites, games,components, virtual worlds and RIAs for companies like NBC Universal,Wrigley’s and Ribbit. Infrared5 is also well known for their work and expertise on open source projects like Red5 and Papervision3D.”

    If you’re interested in Infrared5  just contact us!

    StarWars.com: Trench Run
    PoketGamer: Star Wars Trench Run
    Touch Arcade: star-wars-trench-run-for-iphone-coming-soon

    View the “Teaser” trailer!

    Spring Dependecy

    October 17th, 2009

     As you learn more about Spring dependency injection and the benefits it brings to your application, you will undoubtedly run into namespace conflicts within the classloader mechanism.  Most likely, issues arise when you have dependencies in more than one location.  This is the case with many who have Spring JAR’s in their “myApp/WEB-INF/lib/” directory.  The reason is because Red5 is based on Spring and thus has these JAR’s in the common lib directory “RED5_HOME/lib”.  Below is one exception I receieved today and I was able to fix the issue by removing duplicate jars from under my web applications lib directory.  Many times, the error doesn’t seem obvious so always keep this in the back of your head.  I would imagine that each web application should not conflict with the top level classloader, but I have much more investigation until I can say for sure why this is happening.  That said, I have read about JAR conflictions among the Tomcat community as well.

    java.lang.IllegalArgumentException: Class [org.springframework.ejb.config.JeeNamespaceHandler] does not implement the NamespaceHandler interface

    Solving Error #2007: Parameter blendMode must be non-null.

    October 4th, 2009

    If your getting this error, just make sure that you have the same Flex SDK on both the dependent SWC’s and the Flex Project.  In addition, after bringing in the SWC make sure you do a clean and build on the project.  Then the error will be gone.

    origin lead came from http://theagiletdog.blogspot.com/2009/07/solving-error-2007-parameter-blendmode.html

    Mac OSX environment variable hell

    October 2nd, 2009

    So I recently issued a Mac OSX update.  Afterwards, I wasn’t able to run the Red5Plugin.  It kept telling me that there was no JAVA_HOME defined.  Something was being spit out like:

    “/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/bin/java” (-1)

    true enough that directory didn’t exist.  However, running Red5 from the terminal gave the intended result.   So I was confused as to why eclipse wasn’t using the same JAVA_HOME that I had set in my ~/.bashrc file.  It turns out that eclipse as well as other Java applications use ~/.MacOSX/environment.plist.  So if you have the same problem, just open that file, change the JAVA_HOME to point to the correct location.  For me, it’s /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home.  After making the change, log out and back in and eclipse and the Red5Plugin should work fine again.

    For more information, check out this post: http://lindaocta.com/?p=38

    Red5Plugin instructions added

    August 3rd, 2009

    Install Instructions here:

    http://trac.red5.org/wiki/Red5Plugin

    Configure Project instructions here via Jon Valliere:

    http://trac.red5.org/wiki/Red5Plugin/CreatingRed5Projects