There is a saying that I frequently use, “every thing is easy as long as you know how”. I am not sure where I heard it but it makes a lot of sense. There is another saying that fits nicely with the first, “when you are a hammer every problem looks like a nail”. Ok enough with the sayings but just think about those two saying for a minute and you will see the problem with most training on the web today.
Many subject matter experts will come at the subject that they understand in the same way and dismiss confusion as stupidity because they are too close to the subject. They have very good reasons for this approach, reasons that they can for the most part articulate. The problem is that for the most part they do not have the ability to see the issue, subject or problem from another persons perspective.
Another problem that I see all the time is that if I know how to create documentation I end up taking the same approach for training. This is a common approach to nearly all tasks and that is the reason that the first cars look like horse drawn carriages. That is what the designer understood.
The word visionary means something different to me than the popular or widely accepted definition. When I think of a visionary I think of someone with the ability to see or imagine from another persons perspective. I am not sure if that is the correct way to express that idea but it is important enough to try again. If I can under stand a customers concerns, needs, requirements, etc… that would make me a visionary. All to often you will find a visionary that has the ability to see an issue from one perspective but not another. For instance you might find a visionary that understands a developers concerns, interests and issues but has no clue what a marketing manager needs or requires. This problem is compounded by timing (fiscal quarters, delivery schedules, etc…). I can hear the response now, “I do not have time to make the changes to this training, our delivery date is next week”.
To sum up this short rant, please do not point to reorganized documentation and call it training.
Some of you maybe familiar with the FLVCheck tool that allows you to check to see if a Flash video is properly formatted. If you are you would also know that it is a command prompt application (i.e. there is no user interface). To get familiar with the ability to use native process support in Adobe AIR I wrapped the FLVCheck tool in a simple Flex application. This is a simple UI that allows you to drag and drop and flv file onto the application so that it can check the format and fix simple issues. This application does not add any functionality to that application all it does is add a user interface. The application is free but I do ask that you register in order to download. You will also find the Adobe Connect custom video pod at the same location after you are registered. If the registration form does not load, clear your browser cache and try again.
In case you missed it Adobe announced Flash Media Server 4 . This is a significant release for a number of reasons. The first reason is that many corporate customers have been interested in Flash video but were not able to take advantage of it with out support for IP Multicast as this technology was a mandate from their IT organization. In other words this update for the Flash Media Server to version four gets you a 64bit architecture, Absolute timecode, faster seeking, trick mode playback (fast motion, slow motion, and frame stepping), intelligent reconnect, faster switching for RTMP Dynamic Streaming and IP Multicast Support.
Using version 4 of the interactive edition of the Flash Media Server gets you the ability to choose between Unicast (with or with out Origin / Edge), IP Multicast and even Live HTTP Dynamic Streaming. It is even possible to failover from IP Multicast to a Unicast stream if necessary. When you consider all of the possibilities they include:
- Interactive applications that support video, audio and data for one to many and many to many for both live and video on demand
- Large scale broadcasts using IP Multicast
- Origin / Edge solutions that can be used to intelligently reduce bandwidth requirements for vod
- Failover for complex environments with different network requirements (e.g. remote sites, vpn)
That is a short summary of the possibilities that you get with the interactive edition of the Flash Media Server but that was not the only announcement. Adobe also announced Adobe® Flash® Media Enterprise Server 4. If you are not familiar with RTMFP that would be a good place to start. This peer protocol will allow you to take advantage of users / viewers upstream bandwidth to broadcast video, audio and data in your application and now the Flash® Media Enterprise Server 4 can participate in those groups. So consider the limitations of a peer broadcast. First you will only have access to the one video codec that can encode that is part of the Flash Player and that is Sorenson Spark. If you are familiar with Sorenson Spark you know that the quality leaves something to be desired. When you consider that the Flash® Media Enterprise Server 4 can act as a peer using RTMFP you now have access to all of the varied video formats that can be broadcast using the server (On2, H.264,…). It is also important to note that you are not limited to just video when you are using Peer Assisted Multicast (RTMFP) you can include data as well. These applications can include interactivity unlike IP Multicast. Of course there are considerations that include additional latency based on the number and location of peers in a group but the possibilities are amazing. Just consider an internet based application that includes video and interactivity with 10k concurrent users. With out a peer solution you would have to invest in a significant number of servers as well as a significant amount of bandwidth. With the Flash® Media Enterprise Server 4 you could address both server and bandwidth requirements with a small fraction of what it would take with a Unicast solution. The cost savings will be significant.
This article assumes that you have some knowledge of and access to an Adobe Flash Media Server as well as the free live encoder from Adobe called the Flash Media Live Encoder.
I wrote a simple custom pod that will allow you to stream high quality live video from the Flash Media Server to the free custom pod mentioned here that is being shared in a meeting room in Adobe Connect. For now the custom pod only supports live video not vod (file based video).
This approach does not nullify bandwidth requirements but it allows you to benefit from the capabilities that Flash Media Server provides around streaming high quality video. In other words if you stream a 2 Mpbs video to this custom pod hosted in a Connect meeting room the attendees of that meeting room will need more than 2Mbps to view it. The reason they will need more than the video requirement is that the Connect meeting room as a bandwidth requirement as well that needs to be taken into account.
When you download the custom pod you will notice that it is just a Flash file (swf). This custom pod is provided free as is with no support. Open an Adobe Connect meeting room. Open a share pod if one is not already open and click the button labeled “Documents” from the popup menu select “Select from My Computer…”. Navigate to the custom pod (fmsVideo.swf) select and upload it to the meeting room.
Notice the green dot in the upper left hand corner of the custom pod. That is used to open and close the settings. The setting will automatically close when the custom pod makes contact with a Flash Media Server. It also functions as a visual indicator of your connection state. Green indicates that you are connected and red indicates that you are not connected. The indicator does not change immediately when you connect or disconnect there may be a several second delay between changes in that indicator.
You will also notice in the preceding screen (custom pod) that only two elements are required in order to play the live stream ( server url starting with rtmp and the stream name). These elements correspond to settings in the Flash Media Live Encoder output panel.
Once you have the stream published from Flash Media Live Encoder to the Flash Media Server simply copy and paste the FMS URL and Stream (name) from the Flash Media Live Encoder into the same fields in the custom pod and hit the connect button. That should do it.
You can download the custom pod here.