As described by Steve in some earlier posts, we were looking for a good way to allow video conferencing in the Alzheimer’s/dementia memory helping product called Memaxi. First, we thought it should be easy and simple to video connect these days. After some research we realised, it is not so simple to find a C# library for it. Here is a short summary of what we did, and found:
- Tried Tokbox – web based video conferencing system. It is Flash based and easy to use. To make it simple we embedded a browser window in our WPF application, and it worked. It was required to choose a hosting server location, which is a bit of a problem for an international application, and the quality was not enough, when compared to Skype. It gave us the ability to call the application from the web page.
- Tried Wowza – it is a media streaming server. It is actually a provider for a tokbox as well. I needed to learn Flash programming, which I didn’t really like (the tools and the language seems old fashioned compared to Visual Studio which I am used to). We managed to make it work better than tokbox, but it was still in a browser window. It is still one way calling: from web page to application.
- In the meantime we signed for SkypeKit beta program, and started waiting.
- Tried ooVoo API – we hoped it will allow as to include PC, mobiles, and landlines calling, but
- found that Oovoo API is no longer supported. Stayed with Wowza.
- Suddenly Skype invited us! After some moments of applause we realised that video for windows was not supported at that moment. (It was supported before, but after some code restructure it was unavailable.)
- After another few months skype announced a new version with video for Windows!
SkypeKit supports C++, Java and Python wrappers for their library. No C#. So we needed to write a C++ -> managed C++/CLI wrapper (quite an interesting experience). So we now have a .NET Skype library that can be used by any .NET language.
At the beginnings the Skype library seemed to be a bit unstable and unreliable, but after doing everything right and correct we cannot find any real problems now. After few weeks of testing it seems bug free and stable. So, we can now call Skype<->Memaxi application in both directions. The quality is a Skype quality, which is something we wanted to achieve. For now we stay with Wowza for calling the Memaxi application from a web page. The testing is close to finished, so you should be able to check the “Plugged into Skype” Memaxi version at www.memaxi.com soon (1st month free).
Bear in mind it is not a closed list of video conferencing libraries. These are the possibilities we have checked. There are some other options, including open source software (like libjingle library released by Google for an opensource protocol – Jingle – used in Google talk, and some opensource clients). We started over a year ago, and the situation changes with every day. For us SkypeKit is an easy enough and reliable tool. It also allows to call landlines and mobiles which makes our users very happy (ok, test users at the moment…).