Red5: Nice Alternative to Flash Media Server

I’ve put off experimenting with Red5 until today as I’m quite happy with Adobe’s solution (Flash Media Server) and Red5 is still deep in beta-land at the time of this writing.

I was able to install the server on Windows Vista and had a custom FLV stream piggybacked in a preconfigured sample application directory running in about 40 minutes. The structure is not entirely different from FMS, but is drastic enough to cause me a bit of confusion. For example, with FMS applications, you have an application directory within which are normally a “main.asc” file to configure the app, and a “streams” folder which contains any media content. With Red5, it seems there is a bit more to it: a variety of different files/filetypes to configure and very little documentation on how to start a simple video stream from scratch. In fact, I could not get anything going myself, and had to resort to a piggyback approach using a preconfigured application directory.

Aside from the initial confusion, I do see Red5 as a great product and attribute most of my difficulties to differences in the FMS framework. I’ll probably continue to experiment with the current release but am hoping for better documentation in the future. When this server reaches 1.0, I would love to give it another shot!

Juggling RTMP Stream Data Via Proxy

I’m working on a way to proxy stream data from Flash Media Server to client applications on separate domains. There should be a simple mechanism in place to take care of such security restrictions, but since there is not, my plan is to create a proxy SWF that lives on the same domain as FMS and deals with the collection of BitmapData and ByteArray object data which is then able to be accessed by the parent SWF.

Not sure if this will work or if the security sandbox prevents access to RTMP data unconditionally. I know this method has been used for simple cross-domain data transfers over HTTP with success. This may be something different alltogether as a security policy file doesn’t mean “boo” in regard to RTMP streams. More documentation on these security restrictions and more news on the features of FMS3 would help.

SoundMixer.computeSpectrum() and RTMP Violations

Same issues as with BitmapData.draw() and RTMP

SecurityError: Error #2135: Security sandbox violation:
SoundMixer.computeSpectrum: RTMP content cannot be accessed using this API.

I hate to sound like a broken record… and I know there are probably some really good reasons for this- but there should be a way around this RTMP security restriction. Developers want to do all the great things with Flash Media Server as they are able to do with a simple transfer over HTTP. This includes byte-level access to our data streams! To cripple us in this way (however good-intentioned) is bad for Adobe, bad for developers, and bad for Flash as a platform.

We just need some way around this- I personally don’t care how many hoops I have to jump through. Let’s work something out and get this restriction taken care of!

Flash Media Encoder is Nice! *mostly*

Just had a chance to test the Flash Media Encoder and was pretty impressed. We’ve been using Flash Media Server for our VOD materials but have gone to QuickTime for live events. The main problem with FMS with a live stream is that it will only broadcast using the Spark codec and not VP6. FME changes that by allowing a VP6-encoded stream to be bounced off of FMS and broadcast to client apps.

We tested a stream from FME capturing both a live camera feed and a DVD source and sending them out to FMS for reception by client machines This was only a test to see how well this solution would work in the situation of a live event. Like I mentioned previously, I was very impressed with the quality of result and have no reservations doing a live stream via Flash now. There are a few points-to-note picked up during the process which I will list here:

  • Will not work on Windows Vista :(
  • Seems to be very good at picking up various video and audio sources
  • Could use some advanced preset customization settings

Regarding my last point, there is a “presets.xml” file within the FME application directory that can be edited to allow for custom presets. The only drawback here is that you cannot perform custom mods on-the-fly as you must restart the app to pick up any XML changes.

A great beginning and I’m looking forward to version 1.x… or native support for VP6 in FMS3 so I can write my own capture app.

Flash Media Encoder Released

Just picked up the news from Flashcomguru that the Adobe Flash Media Encoder has been released. I’d previously tested the beta version off of Adobe Labs and was very pleased with the results. We had looked into the streaming of live events through Flash Media Server previously, but due to the limitations of the Spark codec had dismissed FMS (for live events) in favor of MPEG4. This is huge!