powered by Jive Software

Redfire plugin for Spark


Here is my first quick attempt at doing a Redfire plugin for Spark. It is very different from the old red5 plugin, but should work on all platforms. It does not popup a window as before, but tries to open the two-person or multi-person Redfire video web applications depending on if you are in a chat or conference room


This implies that you must have initiated a chat or conference normally and asked all participants to use their red5 button to open their audio/video windows in their browsers like this. I have used the BareBonesBrowserLaunch class which should work with most OS and browser types.


To install, exit Spark, copy the redfire-plugin.jar to your normal Spark plugins folder (USER_HOME\Spark\plugins) and restart Spark.

Please note that this varies with each OS platform. On my wiindows PC, it is C:\Documents and Settings\MY-USERID\Spark\plugins

If you want a bigger video screen for 4 partcipants only in conference room, then replace the 12-person videoConf.lzx.swf in the video folder with the one attached.

If you change your HTTP-BIND port in Openfire from 7070 or need to change the server name, then copy the red5.properties file to USER_HOME\Spark

#Red5 Settings



Edit the video.html and videoConf.html files to change your webcam settings for optimal quality/bandwidth values.

var bw = getPageParameter(‘bw’, ‘25600’);

var pq = getPageParameter(‘pq’, ‘0’);

var fps = getPageParameter(‘fps’, ‘15’);

var msr = getPageParameter(‘msr’, ‘8’);

fo.addVariable(“bandwidth”, bw);

fo.addVariable(“picQuality”, pq);

fo.addVariable(“framesPerSec”, fps);

fo.addVariable(“micSetRate”, msr);

fo.addVariable(“streamKey”, key);

These values are very conservative. For example, microphone sample rate is 8k (telephone quality). Try 22 or 41, but watch out for network traffic especially with a conference room.

Finally, source is included in the redfire-plugin.jar file. Look for USER_HOME\Spark\plugins\redfire-plugin\classes\org\jivesoftware\spark\plugin\re d5

This have now been replaced with new version. See http://community.igniterealtime.org/thread/44215?tstart=0
videoConf2x6.lzx.swf (78706 Bytes)


Wow, that’s really cool and works fine for me.

But I have a question. Is it possible to change the protocol as well?

Our server is reachable through the internet and I’d like to use https (port 7443) instead of http (port 7070) as protocol for the video and audio sessions.

Thanks for the plug-in

Audio & Video via chat (one on one) doesn’t work for me… The users can only see themselves on the video page. However, it works via conference.

Can you please confirm the one on one chat audio and video is working?



Sorry, it is hardcoded to “http://”. I will make it configurable from the red5.properties file in the next version

It should be working, but I will check again

Hello and thank you Dele for sharing your great work. I am having an issue with the URL being generated by the Spark redfire-plugin. My environment is OpenFire 3.7.0 w/ RedFire on Windows using LDAP integration into Active Directory.

When two users open a chat and use the Red5 button, the “me” portion of the URL is using a Real Name field whereas the “you” is using a username field.

So if I have two users with usernames user1 and user2, and real names “User One” and “User Two”, the URL generated for the users when they hit their respecitve Red5 buttons in Spark is:

User1 receives: server+port/redfire/video/video320x240.html?me=User One&you=user2&key=secret

User2 receives: server+port/redfire/video/video320x240.html?me=User Two&you=user1&key=secret

Because of this mismatch they are not connected. If I change manually change the URL to be consistent then it works great.

Any idea why this might be happening? Is there a field mapping I should check?

Thank you!

Thanks for reporting this.

It is the same fault reported by John. It should be fixed in new version to be released very, very soon.

1 Like


After installed the plugins, I found that when I click the RED5 icon on spark, it go to the URL which is not our Redfire installed. eg. our redfire is installe on http://spark.company.com:7070, but it go to http://company:7070 or http://spark.company.com:8080.

How can I fix this?

Go to http://community.igniterealtime.org/thread/44215?tstart=0

Read last reply about red5.properties file

so, how can i get “redfire-plugin.jar” for Spark

It’s in the war file for the server plugin. Just extract with 7zip or similar.

Very nice work Dele

Is there a way to change the x12 video conference from a 2x6 format to a 6x2 format?

Not really. You have to recompile with Openlaszlo. I am trying to develop a new muti-purpose video component in Flex that will enable multiple participants and various screen sizes and combinations.

I have made a 2x6 version and attached it to this post. You would need to rename it to videoConf.lzx.swf. Please note I did not test it.

It does look better though

Thanks Dele

Again great work!

I have tested the file you posted and it did indeed work. Although there is a lot of white space below the grid.

I would also like a 4x3 grid, maybe with slightly bigger screens. You’ve were so good and quick with your response to my last query that I feel bad about asking for more so I’ve downloaded the OpenLaszlo Server and am prepared to get my hands dirty editing the lzx.swf files myself.

Initial investigation leads me to believe however that I need more than just the Lzx.swf files. Are there some additional files i would need?


However, after changing the “server=openfire port=7070”, I’ve got the same result.

Spark is a good internal IM and we really want to deploy in our company, but the interface and quaility of PC to PC call is not good enough, Sometime I can’t hang up the phone because the hang up button is missing in spark…

Did you read this?

These values are very conservative. For example, microphone sample rate is 8k (telephone quality). Try 22 or 41, but watch out for network traffic especially with a conference room.

The Redfire plugin for Spark is not a Softphone, but simply adds audio/video to your already established IM or MUC session. If you want a phone for PC to PC calls, use the Jingle or SIP plugins for Spark.

The video component was developed a while back before Flex and even before Laszlo supported video, so the actual video component is another swf file compiled with SWFMill. You would need an old version of Laszlo (3.4) and the swfmill xml2swf tool to compile myVideo.xml (160x120) and myVideo3.xml (320x240).

I would advise you just go for the deep end and learn Flex instead. Have a look at the screenviewer.mxml file (http://code.google.com/p/redfire/source/browse/trunk/src/client/screen/ScreenVie wer.mxml) as your statring point

In case anyone else is using the new 2x6 version of the videoconf.lzx.swf file and is finding the same issue with the additional whitespace afterwards I found a little workaround.

Edit the script in the Videoconf.html file. Locate the line that reads…

var fo = new flashobject(“videoConf.lzx.swf”, “lzapp”, “100%”, “100%”, “6”)

The two % values refer to the size of the flash object. Horizontally and Vertically respectively. I found that setting them to be “960px” and “240px” will trim the container to the size of the video grid.

Apologies if that’s stateing the obvious. But It may be of use to someone.

Thanks for the link to the lzx source Dele

I didn’t like the idea of the deep end just yet. But downloaded the older OpenLaszlo Server and once I got it working and eventually figured out how to use it to compile the lzx files I managed to produce a 4x3 grid. I’m attaching it for the benefit of anyone else that may want to use it. I tested it in our environment (A pretty much out of the box setup) and it works.

Now my toes are wet I may start to paddle towards the deeper waters.

Thanks again!
videoConf-4x3.lzx.swf (78566 Bytes)