Vidyo
Disclaimer:
This post is not meant to weigh in all the pro's and con's of using Vidyo in an organization, but its more about sharing the experiences i have had using various VC (video conferencing) solutions and eventually adopting Vidyo.
My first experience with video conferencing came over 10 years ago in the form of a H.323 Polycom device (VSX 5000/6000/7000) back then we had just the Mumbai office and we were only connecting directly to the LA office. We had a 512Kbps ISP connection that we used for all our cross location communication and data transfer needs. The Polycom offered what i believe is SD quality video and fairly good audio.
As our office grew and we added a few more conference rooms we continued to buy the Polycom devices and VC connections were still point to point. As the number of VC rooms grew we began to run into limits of the Polycom equipment specifically in terms of the video quality offered. We did look at higher quality offerings but their price was just way out of our range. About that time Lifesize had just come into market and we were able to run a test between our LA and Mumbai office using their Lifesize Room-200 unit. This was the first time experiencing HD(720p) video conferencing and in comparison to the older Polycom SD quality equipment it was like a whole new world. Having a HD PTZ camera with dual 720p HD streams on couple of LCD TV's was a huge upgrade from the older cheaper Polycom devices that we used.
Over the course of the next few years we slowly upgraded some of the Polycom devices for the newer Lifesize units. The Lifesize units served us well but at $10K a pop the amount of upgrades we could do were limited. Eventually as we started our third international location in Kuala Lumpur we began to reach the limits of what the Lifesize units could do, primarily in terms of multipoint conferencing capabilities. At that point we tested a few dedicated MCU units from a few manufacturers but the costs were just to prohibitive. The other key factor that we were looking for was the abilty to connect in from home or from on the road. We need to support laptops which were connected over low bandwidth and high latency links. The traditional MCU infrastructure did not seem scalable both technically and financially.
About that time, we began to hear about Vidyo and the infrastructure they offered. Initially we were a little apprehensive about evaluating this product due to the fact that it was not based on H.323, which meant we have to jump through some hoops to get it to work with our Lifesize units. The thing that really sold it for us, was when we heard they had a Linux desktop client. For years we looked for a good Linux Video Conferencing client we played with Gnomemeeting which later became Ekiga, but it seemed buggy. The most success we had with a desktop client was with Mirial on Windows (which is now bought over by Lifesize/Logitech). We are a primarily Linux studio running a heavily customised version of OpenSuse-11.1.
When we had the first demo of Vidyo at our studio the Linux desktop client was still in beta, although i wasn't present at the demo, all the feedback i got was 'it just worked'. This demo was conducted on our distribution and i was pleasantly surprised that it worked. Over the next few months we were shipped some demo units of their VidyoPortal and VidyoRouter boxes. How i understand it is VidyoPortal is just a glorified web app which handles all client authentication and directory services. The VidyoRouter is the brains behind the infrastructure which has all the H.264 SVC goodness allowing it to handle a 100 simultaneous in call clients. Both these servers were just 1U boxes that looked like were pretty commodity hardware that were just running the Vidyo software and with a Vidyo logo on the front panel.
Although the demo of VidyoDesktop on Linux was great, when i finally got my hands on the software there were some serious problems mostly to do with its implementation of sound. VidyoDesktop at the time refused to use any soundsever on linux instead just used the Alsalib to write directly to the sound device. With some alas hackery we could have worked around this but at the time we were married to the Arts sound server and there was no way to get VidyoDekstop to use that and play nicely with our in house applications that depended on Arts having total control of the sound devices.
Now instead of rehashing more of how we got VidyoDesktop to run reliably in our organisation i think it might be better to explain to you how we use Vidyo and lessons we learnt along the way.
Audio:
This is probably the hardest of the problems to solve when setting up VC rooms. Most of our meeting rooms get used for multiple purposes. They are used for VC's, team dailies, general purpose meetings. Also being a creative space we needed to make each room look unique and interesting, which often meant functionality suffered. In terms of hardware we ran multiple tests and eventually the best performing speak phone was the ClearOne Chat 150. For larger room we often deployed the ClearOne ChatAttach (which is basically 2 Chat 150 daisy chained together). No matter how good the Acoustic echo cancellation technology a device has, if it is placed in a room with a lot of acoustic reflections and reverberations the audio quality is going to be terrible. To improve some of our rooms we eventually began installing sound absorbing Wood Wool boards on the room walls, making sure they were installed on 2 non parallel walls (this is important to reduce acoustic reflections). The Wood Wools boards have a great NRC value and you can make some interesting designs. For one of our larger rooms we had hexagonal board that we had painted to form a nice mural.
Video:
We tested various webcam's before settling on the Logitech C910 USB webcam, it works great with the uvc driver on Linux and Vidyo recommends this as well. The one complaint i have is that currently there aren't any options to hook up a Full HD PTZ camera to VidyoDesktop on linux. VidyoDesktop on linux uses v4l2 to interface with the camera and currently there aren't any PTZ cameras that offer this on linux. We looked at options of using a BlackMagic Design Intensity Pro card with a PTZ camera, but this card does not use the v4l2 interfaces on linux. The closest that i think we could get would be if we used one of the Epiphan capture cards with the HD PTZ camera (still yet to test). Before ending this section i wanted to mention a little about room lighting as this plays a fairly critical role in the quality of video conferencing. In all our new conference rooms we designed two lighting setups. The first being aesthetic lighting (warm yellow lights, lots of spots) and the second vc lighting which were fluorescent warm white (5600K), depending upon how the room was being used people could switch the lighting.
Linux:
VidyoDesktop on linux was a long and winding road filled with lots of potholes. Most of which we managed to work around, but some of them we had to live with. We are currently using VidyoDesktop 2.1.0 (build 00322) on a openSuse-11.1 distribution. This was not an officially supported platform from Vidyo so we knew going in it was going to be difficult, but we weren't going to switch distributions just for this. A large part of using Vidyo in our studio was because of its Linux client, this would allow us to deploy units on our existing Linux machines and greatly simplify the complexity of our VC rooms. Rather than using VidyoRoom systems for our conference rooms we found it a lot more convenient to deploy Linux boxes connected up to TV's which allow us to run our proprietary software as well as VidyoDesktop. We built a wrapper script around VidyoDesktop that allowed any user using the room to hit a button which would launch the application perform the sign in and launch a browser with the contacts list correctly setup. We did this by taking a peek at the web traffic between the VidyoDesktop application and the VidyoPortal. Unfortunately we had to reverse engineer and build our own tools because our Linux distribution was not officially supported by VidyoDesktop. I believe the latest version of the client (v2.2.2) has official support for OpenSuse. This newer version also support Pulseaudio which means it plays well with all the other apps contending for a share of the audio device. At our studio we had to always ensure that the machine always had 2 audio devices and the second one was always dedicated for VidyoDesktop, this way it did not fight with the Arts audio daemon.
Bandwidth & Connectivity:
This is probably the biggest places where Vidyo shines, we have had at time over 12 people connected into a conference with varying bandwidth levels and connection qualities and yet we have been able to conduct a useful meetings
Lessons learnt
- Audio is probably the hardest problem to solve. When you have people connected in from various locations and devices ranging from Room systems to laptops to smart phones and tablets its really hard to get audio to be clear and clean. Most of the times we ask people to mute their microphones when they aren't talking. In the 2.1.0 version of VidyoDesktop we never use the Software based echo cancellation or Mic gain. The Chat 150's do a much better job of it in hardware. For anyone connecting from a laptop we always request them to use a pair of earphones to help isolate the audio.
- The VidyoDesktop of Linux does only support a max of 640x360 pix capture from a Logitech C910 camera, on the windows and mac version of the software it allows for a 720p stream, i wait for the day where we get USB3 cameras with maybe PTZ capabilities so that we can improve some of the Video experience as well
- Desktop sharing is one area i have found Vidyo to be lacking, on our distribution with v2.1.0 it does not work at all, i believe the v2.2.2 of the software fixes this issue, but i have not really tested this extensively
- Traditional H.323 systems with big MCU's are dead to me. After seeing how quickly we were able to expand our VC user base without the heavy cost of buying a traditional MCU or expensive room systems, i truly believe making high quality Video Conferencing accessible to the enterprise at a great price the way Vidyo does it, is truly the way forward. After using Vidyo for about 3 years exclusively in our enterprise and even with all the issues of using a beta Linux software i still believe there is nothing else that comes close to the price/performance of what Vidyo can offer.
I am sure there are a lot of people who can testify and swear by the legacy H.323 systems, but in our use case, i don't think we would have been able to achieve the growth in our organization without this technology.