Flash-based Audio and Video in Spark, SparkWeb and Openfire

When SparkWeb became open-source, I took a look at the source code and found it had more features than the Flex-based XMPP client I was co-developing for the Red5 Plugin. It therefore made sense to migrate the Flash audio and video features we had developed for our client to SparkWeb and make it compatible with the Spark and Openfire Red5 Plugins and package it as part of the Red5 plugin. The downside to this that the modifications to the Red5 version of SparkWeb makes it out of sync with the official SVN and it could possibly become a fork requiring a name change later on.

*So what does the Red5 SparkWeb offer?

  1. A plugin container for SparkWeb. I noticed that quite a number of users are asking for a plugin to deploy SparkWeb. My advice would be to try the Red5 Plugin.

Configure Index.html and point your users at

http://your_server:nnnn/red5_webapp_name/sparkweb

Where nnnn is your HTTP-BIND port number (default 7070) and red5_webapp_name is your default red5 web application name (default red5)

  1. Enables use of the Red5 plugin audio and video features with both Spark and SparkWeb. You can’t do video messaging and the video roster is replaced with visual presence (see below). You can make audio/video calls and share your desktop with your contacts. Each call record is logged in openfire and can be queried by the administrator with the Openfire SIP plugin.

  2. Makes SIP phone calls between Spark and SparkWeb users. All SparkWeb SIP calls are logged with the Openfire SIP plugin as well.

  3. Provides webcam support. If you have a webcam installed on your PC, it will be automatically detected and will be used instead of your vcard photo. You can disable this in index.html. You can add or replace your vcard photo with a snapshot of your webcam when you edit your profile. You can also publish snapshots from your webcam as visual presence to all your contacts. What this means is that all your contacts will have a snapshot of your webcam in their rosters. The interval between snapshots is 60 secs by default and can be modified in index.html. See a draft copy of my proposal to extend XMPP with visual presence. Please feel free to post comments at the bottom of the document.

I also made a few cosmetic changes to my taste and added sound effects for incoming calls and instant messaging. I added some code to improve the loss of focus detection by tracking Flash application activation/deactivation messages and mouse movement. If you use Internet explorer and enable pop-ups, you will get a pop-up in the bottom right corner of the screen with a photo, name and first line of the incoming messaging if you are outside of SparkWeb when a new message arrives.

I am hoping to add fastpath support and a calendar to SparkWeb next.

Good! download it and use it immediately!

http://red5.4ng.net/red5.war

Great work Dele, thanks for the updates

Looking good Dele - what I’d really like to do now is make this plugin available for my users to download from within Spark - anyone manage to get that working for ANY plugin?!

Spark checks http://www.igniterealtime.org/updater/plugins.jsp for available new sparkplugs. I don’t see the red5 spark plugin appearing on that list until it comes out of beta which is dependent on the red5 project itself coming out of beta. On the other hand, we can simply ask Jadestorm for it to be included

I’ve been trying to find that URL for ages - added it to my proxy server bypass list and now it works. Thanks! I couldn’t find any info as to whether it was an igniterealtime resource, or supposed to point somewhere on the local Openfire server. In the meantime, I’ll roll out the Red5 plugin manually to a select group of users and see how we get on.

Thanks for your work on this Dele

Excellent - works very well indeed.

Dele, is the source code for the Red5 enhanced SparkWeb available? Is it simply included in the .WAR file?

Yes, it is the war file.

Thanks for your efforts, i test your document every thing works nice and fine*
*

I installed on a debian server (openfire 3.6.1, Java 6, red5 1.0.02). I am using Firefox and Safari on Intel Macs (camera/mic are built-in) but I’m not able to get audio or video. The client works fine in other respects - I can see my contacts, click on one and select “Call” and it brings up a window that shows two volume controls and a blank space where the video should be. No audio or video comes through after that, though. I’ve spent two hours going through all of the documents and topics and can’t find an answer to this one.

Zip up your logs folder and send it to me me privately and I will take a look and advise

I figured it out - wasn’t the plugin’s fault. Here’s what I did:

  1. Updated flash plugin to version 10 (might not have been required).

  2. Dug into the flash plugin settings (when right-clicked on the client, it is a settings option at the bottom of the menu).

  3. Set the video input to USB-type device. That picked up the built-in camera.

  4. Set the audio to Built-in Microphone, then made sure in System Preferences that the microphone was the default device, then turned up the input and output ALL the way (had to do that in the Flash settings and the sparkweb client).

Now it works! :slight_smile:

Thanks for your tip. I will add i to the red5 readme file

Where to download war file? The link above is broken…

Thanks!