Flex Whiteboard Component Now Available For Wowza (and FMS and RED5)

I'm happy to announce the immediate availability of our Flex Whiteboard Component for Wowza Media Server. Darren did a terrific job of porting our existing Red5 version (which in turn is based on the FMS version), and it turned out that only minimal client side changes were necessary.
The whiteboard component for Wowza is priced in the same way as the other two versions for FMS and Red5: $499 for the component version (.swc), with an optional source code license (enquire for pricing, most users won't need the source version since the component has an extensive API).

To purchase the component please use the form on the product page, drop me an email with any questions, or leave a comment below.

Accessing the NetConnection Object in FLVPlayback

There are situations where it is necessary to call a server side method on FMS. Some CDNs, for example Limelight, used to or maybe still do require you to call the FCSubscribe method in order to request a live stream. This send a signals to the Edge server to pull the live stream from the Origin server if it is not already being delivered to that Edge. While this delivery method and stream setup routine is being phased out across most CDNs I thought it may be useful to post a (slightly hackish) workaround to make this setup work with the FLVPlayback component.
The problem with the FLVPlayback component is that there is no obvious, simple way to obtain a reference to the NetConnection Object it uses under the hood. Sure, the ncMgr.getNetConnection let's you grab it but only once the connection is established, and while you can implement a custom NCManager class, this is not trivial and after all a NetConnection is being maintained already by the component, so why reinvent the wheel?

The following code is clearly not something I am proud of, but it worked at the time when I needed it. It was used to get a live stream working with the FLVPlayback component streaming from Limelight about a year or two ago.

view plain
1// listen to player events and kill manual connection once we're streaming
2    player.addEventListener("playing", playListener);
3    player.addEventListener("stateChange", stateListener);
4    player.addEventListener("ready", readyListener);
6/* this is the hack: check once every frame if the NC has been defined inside the FLVPlayback component */    
7    this.onEnterFrame = function()
8    {
9        if (player.ncMgr.getNetConnection() != undefined)
10        {
11            this.onEnterFrame = null;
12            delete this.onEnterFrame;
13            trace("got NC");
14            //subscribe(streamName);
15        }
16    }
18    var nc:NetConnection;
19    var serverName:String = "server.llnwd.net";
20    var appName:String = "account_name/_definst_";
21    var streamName:String = "live";
23    var source_Str = "rtmp://" + serverName + "/" + appName + "/" + streamName;
25    // start up by setting the contentPath (now called source in newer versions of the component)
27player.contentPath = source_Str;    
29    function subscribe(name:String)
30    {
31        nc = player.ncMgr.getNetConnection();
33        nc.onFCSubscribe = function(info:Object)
34        {
35            trace("onFCSubscribe: " + info.code);
36            clearInterval(int_id);
38            if (info.code == "NetStream.Play.StreamNotFound")
39            {
40                // handle error, retry after a few secs or similar
41            }
42            else if (info.code == "NetStream.Play.Start")
43            {
44                // we're successfully subscribed
45            }
46            else
47            {
48                // handle error
49            }
50        };
53// not used right now
55nc.onFCUnsubscribe = function(info:Object)
56        {
57        }
59        trace("subscribing to " + name);
60        nc.call("FCSubscribe",null,name);
61    }
63    // can be used to unsubscribe from stream
65function unsubscribe(name:String)
66    {
67        nc.call("FCUnsubscribe",null,name);
68    }

Hopefully this is helpful to someone.

Flex Whiteboard Component for RED5 Now Available

I'm proud to announce the immediate release of our Flex Whiteboard Component for Red5. This component is based on the existing and very popular FMS Whiteboard Component which has been ported to Red5.
I will shortly be adding more details to the product page but since the clientside API is essentially identical to the existing FMS component there is little to say other than that we now have a separate Red5 version :)
Once again I am standing on the shoulders of giants and all credit goes to my friend Darren who has not only written the original FMS version but also ported it to Red5.

The component consists of a SWC for use with Flex plus full sources for the server side, in this case written in Java. The price is $499 which is the same price as for the FMS version. We do also offer a source code licence to selected clients. The component version is sufficient for most use cases though.

Feel free to contact me if you are interested in this component or its sources.

FLVPlayback Component Update - DVR, Dynamic Streaming in Flash & Flex

Today Adobe released an update to the FLVPlayback component (v2.5.0.15) for Flash CS4 and Flex 3 (yes, Flex is supported!).
This component has numerous bug fixes to make it more robust for streaming including support for Dynamic Streaming (multibitrate) and DVR. A new Devnet article is also available discussing these new features: http://www.adobe.com/devnet/flashmediaserver/ (note Part 2 of the DVR article by David Hassoun).

We also released the new DVRCast application that makes it easy to add DVR-enabled live streams to your website using Flash Media Server 3.5.

There's much more info on the new features on Kevin's blog.

You can download both tools from: http://www.adobe.com/go/fms_tools/

I can't wait to try these new features - just need to wait for the next suitable live event :-)
I think it is highly likely that this is the last update to the FLVPlayback component we will see as the upcoming Strobe framework is likely to replace the efforts made my the component. Love it or hate it, the FLVPlayback component helped countless Flash newcomers to get their video content online quickly. If this is indeed the last update then it will go out with a bang as these new features are pretty cool - and we've got a Flex version thrown in too.

Using The New FLVPlayback 2.5 Component in Flex

Alongside the recently released Flash Media Server 3.5 and its Dynamic Streaming and DVR capabilities Adobe have also pushed out an updated version of their FLVPlayback component. As Andrew Shorten explains, this component can be used in both Flash or Flex since it is not based on UIComponent. In short, FLVPlayback brings a more fully featured video component to Flex (dare I say finally), and while most of us have a love-hate relationship with this baby it's certainly good news for the platform, and you no longer have to 'port' your Flash based FLVPlayback component to Flex now (as I did here).

I gave the component a quick test drive and wrapped it into a Flex project that you can download and try yourself. The demo below uses FMS for streaming, the downloadable project uses a progressive download. Note that I'm using Oleg's excellent Swfobject 2.1 Flex template and I added the allowFullScreen parameter for this example and removed the history management (not really needed for a plain video player). Sources here.

Using the FLVPlayback Component to Stream Files from Virtual Directories

Here comes a little gotcha that could potentially have you pulling your hair out for a fair few hours, and some more once you realise how simple the 'fix' is.
If you are streaming files from FMS (be it version 2 or 3) then you may have made use of its Virtual Directory feature. This allows you to use a key (basically a named mapping) to point FMS at different storage locations for video files.

For example you could configure a key name of 'myvideos' and map this to a location of C:\myfiles\videostorage. The tag in vhost.xml would look like this:

view plain
2 <Streams>myvideos;C:\myfiles\videostorage</Streams>

Then every time a stream is requested via NetStream.play the server will look for the myvideos key in the stream path and if found locate the appropriate video file inside /videostorage (or if required in a subfolder).

› Read Full Article

Flex Whiteboard Component for Flash Media Server, Wowza or Red5

Flex Whiteboard

Note: Wowza and Red5 versions now available!
The Flex Whiteboard Component is written for use with Flex applications in combination with a backend server - either FMS, Wowza or Red5.

We offer three separate version, one for Flash Media Server, one for Wowza Media Server and one for Red5. Please specify which version you require when you purchase.

The whiteboard component itself is used like any other Flex container. It basically extends a Flex Canvas and all the whiteboards UI elements can be put into it or around it, giving you control over the user interface (UI) such as the menu bars and toolbars for a fully customizable experience.

You can access a demo application here.


As well as UI customizability there are many public APIs which give full control over the whiteboard functionality, down to low level method calls to create shapes. The public APIs are split into several ‘controllers’ which host relevant methods, properties and events.

Read the AsDocs documentation here.

swcThe Flex whiteboard component ships as a .swc (Flex component).
To run this application you need Flash Media Server (FMS) or Flash Communication Server for the FMS version, Wowza Media Server for the Wowza version or Red5 Server for the Red5 version. Alternatively you can use a third party hosting service.

Looking for a Flash whiteboard component instead?

What do you get?

- Whiteboard component (SWC - no sources)
- Serverside files (.asc sources for FMS, .java sources for Wowza or Red5)
- Documentation (in .doc, .pdf., swf and AsDocs)

The Flex Whiteboard Component (.SWC) is competitively priced at USD $499.
OEM and source code licensing is also available, please contact me for details and include information about your use case.

How to purchase Simply send a payment of USD $499 via Paypal to stefan@therealtimeweb.com or use the form below.

Choose a version:

Please specify if you require the FMS, Wowza or Red5 version. Discounts are available for multiple purchases (for example Wowza and Red5 version).

Note that all transactions are processed manually and it can take up to 48 hours for you to receive the files. Usually it is a lot quicker than that and you are welcome to first drop me an email to clarify the delivery details.

(download as .DOC | download as .PDF | download as Flashpaper)

Got questions about this component? Then drop me a line.

Flex Whiteboard Component

I'm very happy to be able to offer this Flex Whiteboard Component for sale as of today.
It is a complete rewrite of our popular Flash Whiteboard component which has been integrated into projects such as DimDim and Aspiringkidz. We hope that the Flex component will have a similar success. I truly believe that this is the best Flex based whiteboard component for FMS available today and it has a massive feature set including many public APIs and an architecture that allows you to specify any Canvas component in Flex as the whiteboard surface. Images are supported and we have even added Flickr integration.

I've set up a dedicated page with more information right here.

FREEBIE: Component Giveaway

Once again Flashcomguru has teamed up with the guys from AFComponents for a giveaway of their newly released FLV Gallery Component.

The component supports XML and RSS 2.0 feeds and is fully customizable through component properties.

AFComponents are looking for developers who'd like to test this new component and provide feedback and/or suggestions in return for a freebie.

I have 20 FLV Gallery Components to give away (a value of $15 each) to the first 20 people to leave a comment with this post. Don't forget to leave your email address (it will only be visible to me) and remember to provide some feedback once you've tested it.

UPDATE: THANKS, we have enough testers now, you'll be contacted by email.

Adobe releases FLVPlayback 1.0.1

Adobe has just released version 1.0.1 of the FLVPlayback component for Flash Professional 8.

You can download it at http://www.adobe.com/support/flash/downloads.html#flash8

This update addresses a few issues around SMIL parsing, some streaming issues when using FMS, and some minor UI issues with custom components.

Full bug fixes can be found in the Release Notes:
Release Note 1
Release Note 2
Release Note 3

More Entries