Beauty Contest between Red5, Wowza and Adobe LiveCycle…

Beauty contests are a matter of taste. Also take the points below as such. I’m only stating my judgment for my needs. Apropos needs, I assemble a Flex/Air application that draws its data from a server. The format of the data is mostly strings and XML but also video, audio and proprietary file formats such as doc, xls, pdf, etc. So, which server suits my application best?

Adobe LiveCycle Data Services Enterprise Suite

Who ever made up this name, he was stoned – really! Because this contest is about beauty, the name alone would already disqualify the nominee. However, the real killer comes from the price. I suspect that the same person that created the name also set the prices. When you see after a search odyssey these prices, you skip to the next option.

To be fair, I should add that Adobe clearly targets the enterprise world and not small and medium-sized businesses, let alone the geek ‘market’. If you happily spend more than 50′000$ for e.g. a single Oracle database, go for the Adobe Liveblabla.

Wowza Media Server Pro

Functionally spoken, this server is a clone of the Flash Media Server: It’s focused on streaming data. Everything implemented is done in a way I like (this doesn’t imply that it’s best). It starts with a clear and clean file structure. I also appreciate the straight posting of the product prices.

Getting to the server code, documentation and forum is a real pain. The sign up for the free license and the forum is ridiculously tedious. What do you need the address for? Once you’re through, documentation and in particularly the forum are very useful. The support of Charlie in the forum is world class. He is very responsive and knowledgeable what you can verify yourself in the forum. In my opinion, they should point potential customer more to this unique selling point. However, since I’m used to browse the source of Red5, I have missed this many times with the Wowza server. I don’t like to program against a black box. This is 90′. Another point is that phrases in the sense of “it’s like in FMS” should be banned. I don’t learn first FMS when I want to use Wowza.

Basically, Wowza does not support Flex. They also don’t advertise it. This means that RemoteObject or RemoteClass are not supported. Communication is only over AMF0 because AMF3 is not yet implemented. I also miss some details useful in the Flex world, for example there’s no helper method for XML. Another interesting aspect is that Wowza and Red5 leverage both the power of Apache Mina. I think Wowza handles the traffic without an off-the-shelf servlet container.

I few things are still unclear because I did not bump into the answer at first look: I was not able to find out how to create a SharedObject by the server or whether something similar to ISharedObjectSecurity is available. What about the Red5 rooms? The virtual hosts do certainly not replace the room concept of Red5. Keep in mind that all those questions asked on the forum, I would have the answers within a few hours. Again, I love this service and eventually, it might turn me into a paying customer.

Wowza offers a customized Eclipse IDE that helps you getting off the ground. Unfortunately, this is also optimized for the Flash folks. Because I have already an Eclipse installation for Java, Flex, Scala, etc, I’d get a second Eclipse…grumblegrumble.

Red5

Being under the LGPL, Red5 is our only open source candidate what gives the project a bonus. Red5 is wired together with Spring, leverages Mina for low-level network stuff and takes advantage of quite a number of other libraries. Generally, it feels a bit cluttered. Let’s take the spring configuration as an example: You find four packed configuration files for the Red5 part. On top of this, you find in the files the alternative beans for the Tomcat container instead of Jetty.

Talking about Jetty, it’s definitely a project of my gusto. I perceive it as a focused project that simply does its job. Also in another context, it features some nice things. I have not done performance tests but Jetty might be slower than Tomcat. In a different setup, Jetty was not yet up to Tomcat. Does anybody have a solid comparison?

The architecture and the quality in general are fairly well, particularly when considering the number of current contributors to the core features of the server. There are very few and for this year, Joachim Bauch has done the bulk of the load. Even though this is not optimal, keep in mind that it’s open source and the situation might be even worse with Wowza. There are many others that update the samples, configuration or give some answers in the forum. However, the forum is not as useful as the one of Wowza.

Recently, a few examples for Flex have been added to the samples. Also a first implementation of RemoteObject is done but not yet ready for prime time. It seems that they have paid more attention to the Flex crowd recently (everything done for Flash?). Concerning tests, there are 20-30 unit tests what certainly leaves room for improvement.

Bottom line

There are many more solutions to consider: I haven’t looked at WebOrb, OpenAMF, GraniteDS and the other servers that do not support Java. Some of them are  RubyAMF, AMfPHP, PHPObject, SabreAMF, DjangoAMF and more.

For the moment, Wowza fits best my needs for real time stuff and I will try to combine it with my Scala code. For data exchange, I use good old HTTPService. “good old” relates to HTTP not HTTPService as the Flex class is very restricted in features. More about that in another blog.

14 Responses to “Beauty Contest between Red5, Wowza and Adobe LiveCycle…”

  1. Charlie (The Wowza guy) Says:

    Thanks for the very kind words. Product support is very important to us. We want to make sure people are successful with their Wowza Pro implementations.

    To answer a few of the un-answered questions:

    We are planning on supporting AMF3 in a future release. This should make our Flex support more complete.

    We do have a way to secure the access to a shared object but you can only control read/write access. It is not as complete as the Red5 implementation that you reference in the post.

    I can certainly send you the server side coded needed to create a shared object. Just post a message on our forums.

    Out of the box we do not have functionality similar to Red5 rooms. It would probably not be too hard to implement or port the solution to Wowza Pro. Again, if you are interested please post on the forums and I will take a look at the Red5 implementation.

    Again, thanks for the kind words.

  2. faindu Says:

    Charlie, thanks for the answers. You just underlined my statement about your responsiveness. I won’t hesitate to come back to you with my needs. Keep up the excellent work.

  3. Ewan Says:

    Thanks guys – very informative post and reply.

  4. Franck Wolff Says:

    Hello,

    Following two release candidates, the final Granite Data Services 1.0.0 release is available for download on Sourceforge: http://sourceforge.net/project/platformdownload.php?group_id=183386.
    Documentation has been updated and now covers all new features available in GDS 1.0. Browse it here: http://www.graniteds.org/confluence/display/DOC/.

    Here is a brief list of the main changes since the 0.4 version:

    * Data Push (Gravity): this new feature is implemented as AMF3 data sent over HTTP (Comet, freely based on the Bayeux protocol).
    * Spring integration is now complete with full support of Acegi security.
    * Seam integration is new and experimental feature in GDS 1.0. A sample application is available.
    * Guice/Warp integration is new and experimental feature in GDS 1.0. A sample application is also available.
    * Gas3 (the ActionScript3 code generator) gives better performance and brings support for Java Enum types and all kind of Ejb3.
    * Flex3 beta3 compatibility: GDS 1.0 is fully compatible with Flex3 beta3.

    Complete release notes is available in documentation. See more on http://www.graniteds.org/confluence.

    Regards,
    Franck Wolff.

  5. Brian Says:

    I have a similar situation:

    “I assemble a Flex/Air application that draws its data from a server. The format of the data is mostly strings and XML but also video, audio and proprietary file formats such as doc, xls, pdf, etc. So, which server suits my application best?”

    Which do you feel NOW, nearly 6 months later, best fits your needs? Did you look into Granite Data Services?

  6. faindu Says:

    Hi Brian

    I still haven’t had a look at Granite Data Services. However, your question reactivated my blog enthusiasm: I will write an updated summary next week. It goes without saying that this summary will be heavily related to our faindu project and might not apply to other situations.

    Regards,
    Marc

  7. Zack Says:

    Thanks for a very interesting writeup. Looking forward to hear about your experiences!

  8. Sunil Gupta Says:

    Red5, no doubt is making it’s way very fast to beat FMS in future.

  9. Alex (the Wowza guy) Says:

    Just wanted to keep you guys abreast of some new developments. Wowza Pro now supports H.264 streaming. The latest Wowza Pro 1.5.0 Preview 2 release also supports live H.264 streaming using standards-based H.264 encoders like Apple QT Broadcaster and Vara Software Wirecast. If you feel like giving it a try, go to http://www.wowzamedia.com/h264.html.

  10. Samarth Says:

    Red5 has a long way to go, and I doubt it will catch up to FMS (or Wowza). The available documentation is atrocious. Bits of critical information are scattered all over the internets, and even when put together, don’t amount to a big amount of help. I wonder how much longer it will take for H.264 support in Red5…

  11. Fer Troya Says:

    Hallo Marc,

    Thanks for this quick overview, I’ll be testing this technologies in the near future.
    I still have a question for you (since this is a whole new world for me).

    As long as I know GDS is not itself a media streaming server, but this guys are very enthusiastic about their great product and still left their comment here about GDS.

    That made me wonder what makes a server media streaming specific.

    If you have an answer or a link that explains this in depth, I’ll highly appreciate it.

    It seems to me more natural to have a server with streaming capabilities rather than a dedicated server itself.

    Thanks again,
    Fer.-

    Saludos desde Bariloche, the southamerican Switzerland.

  12. Streaming server, RMTP, AMF3, HTTP is for…?? « I don’t like computers. Says:

    [...] server, RMTP, AMF3, HTTP is for…?? Triggered by a comment of Fer, let me write up a short summary for what all these technologies are for. We are only talking about [...]

  13. Marc Says:

    Hi Fer

    I’m not sure whether I got your question right. It makes sense to have a dedicated streaming server if you have high loads. Depending on the kind of load, you will hit very likely the limit of IO of your hard drives or the bandwidth limit of your network.

    However for low load scenario, it makes sense to have one server handle streams and regular data. See also post of today.

    The images on es.Wikipedia of Bariloche look very nice! I hope to make it there somewhen…
    Marc

  14. markosjal Says:

    I recently went through the red5 and Wowza comparisons and my results were as follows:

    Red5: 5 Installations none worked. Windows installer was broken I cam to find out then another was broken. Truth is if the installers do not work, they have big problems too deal with. NOT READY FOR PRIME TIME. Documentation is horrible and the attitudes on the forums seem t5o imply they want to keep it a closed group of folks who make money on red5

    Wowza, success on 2 different installs, no serious problems noted as yet. We streamed from FME 2.5 and had excellent results acrosss the LAN, next we are putting it up on a public IP, and later on its own server. I found the configuration too be far easier than Red5 and the forums give results not attitude.

Leave a Reply