Ask The Expert: The Perfect Desktop Conferencing Machine

Tweet this Print

[Ever since we started discussing desktop video conferencing as a valid option for providing the entire work force with video conferencing capabilities, including telecommuters and employees that are out of the office, I've been getting a lot of questions regarding this new and ground-breaking concept.

There's lots of confusion around this, and people are pretty much preaching what they're selling: complicated SVC codecs, fancy HD cameras, state-of-the-art next generation CPUs.

Just recently Scott Wharton, CEO of Vidtel Inc., suggested we recommend the "perfect machine" for a "soft" client implementation - the right processor, graphics card, external webcam, etc.

And so I've asked Vincent Chavy, a guy that needs no introduction here, to use his vast experience, as a long-time veteran in the desktop conferencing industry, and give the expert advice on this one.]

 

It Is All About The Processor….

Well, sure thing, having a decent processor is very important, but why? And at what point does it stop being important? Is a 16 cores processor (as shown in the image below) going to give you 1080p at 120 fps?

First of all, the process of encoding video costs more than the process of decoding video. A fair estimation is that it takes 4 times more CPU to encode a video than to decode it, at equivalent resolution, of course.

Multi-core processor machines are interesting, because the same cache is shared between multiple cores. The encoding process can therefore be shared between multiple cores in a more optimized fashion. Read, you can encode more! So, in theory, the more cores the better, but there is of course a practical limit.

If you want a machine to encode and decode High Definition 720p at 30 fps, a machine with an Intel i5 or i7 Core2 Duo processor will do fine. If you are more reasonable, and can settle with sending VGA at 30 fps and receiving High Definition 720p at 30fps, a machine with an Intel Core 2 duo 2.4 GHz will just be perfect (note that I said Core2 Duo and not Duo Core).  In these recommendations, I of course take into account the fact that users want to keep some engine power to do those other minor stuff, like browsing the web, checking emails, and instant messaging with others while participating in a meeting.

You may notice that I recommend Intel’s processors here. That’s because our video codecs are highly optimized for the Intel platform, leveraging the low-level Intel libraries which provide the best performance for those processor-intensive operations.


Some stats, including CPU Usage, from our SCOPIA Desktop client in a 720p@30 call.

Come On, It’s all about the camera…

You can now get an extremely good USB camera, with amazing specifications, for a very decent price. The good old days of 160×120 at 5 fps are happily gone (see below for an amazing blast from the past). Today is the era of 720p at 30 fps… and more!

So yes, the camera is very important. And the driver – very important too. And the settings of the camera are even more important.


A blast from the good ( ? ) old CU-SeeMe days.

There are 2 variables that are critical when testing and selecting a camera: capture size (and aspect ratio) and frames per second (fps).

Most of the cameras on the market will capture up to VGA 30 fps. This is the case of almost all the cameras embedded in laptops and desktop screens. There are a few USB cameras that “claim” to capture 30 fps 720p.

So, why is it so hard to do 720p at 30 fps when you can now get a cheap camcorder doing 1080p? Well, the big limiting factor for USB camera vendors is the USB Bus speed, which is limited.

Classic mistakes (user errors, if you prefer) include using a low speed USB hub or plugging in your camera in an old USB 1.0 plug. If you want to get the best of the best of your high performance camera, make sure it is plugged on a high speed 2.0 USB plug, directly on your computer. Oh, and of course, all USB devices usually share the same BUS. So if you wondered why your camera is slow when you are doing your weekly backup on your USB drive… Well, you now know why.

Let’s do the math: an image of 720p (that is 1280 by 720 pixels), is composed of 921,600 pixels. A pixel is usually coded using 24 bits, so capturing 720p at 30 frames per second means 921,600 * 30 * 24 = 663.5 Mbps. And guess what is the maximum speed of a USB 2.0 BUS? 480 Mbps. :-)

To overcome this limitation most camera vendors are now compressing the image before transmitting it from the camera to the PC. So the video stream acquired from the camera is now a compressed stream instead of a raw stream as it was before, and compression introduces some loss in quality.

Fancy things on the camera also affect the frame rate. This includes digital zoom, automatic light correction, as well as all the funky moustaches and hats you can digitally add to your image. Capturing and sending 720p at 30 frames per second is a serious business. One parameter off, and the punishment (either on image size or frames per second) will be immediate.  So we recommend turning off all settings like face tracking, automatic adjustments in low light environments as well as any automatic configuration (auto focus, auto white balance) that makes the video pulsate.  In short, any configuration with the word “automatic” in it is suspicious.

One last warning – as mentioned above, the camera driver is equally important. So make sure you always have the latest and greatest from your camera vendor.

To be complete, I should mention that there is an alternative to USB Cameras. You can buy a video acquisition card, and use your camcorder or any other compatible PTZ camera. Although this is something that has some value, I believe that for the cost it implies, you will be better served by a solution like the SCOPIA VC240.

Hey, Don’t Forget The Graphic Card…

The graphic card and the graphic card driver are key to the video rendering (display of the video) process. A weak graphic card or an outdated graphic card driver will result in high CPU usage when rendering video – and well, this is some precious CPU cycles that will not be available for the video codec.

Since it is now rare to find a bad graphics card, the one you have in your computer should be fine. It is however a good idea to verify that your drivers are up-to-date.

What is going to be very interesting is to see the role of graphic cards in the future of personal computing, especially their GPUs (Graphic Processing Unit). With technologies, libraries and framework like Open CL, Microsoft Media Framework, ATI Stream or NVIDIA CUDA, a lot of the video processing or pre-processing will be possibly handled by the graphic card. Meaning that the GPU will be helping the CPU a lot more than today.

OK, Then – What IS The Perfect Desktop Video-Conferencing Machine?

Well, if you are ready to settle with sending VGA at 30fps and receiving 720p at 30 fps, a good laptop (Core2 Duo 2.4 Ghz or better) will do just fine. The camera embedded in your laptop is most likely good enough as well.  A lot of my colleagues are using their DELL XPS Laptop, with the embedded camera and have a great videoconferencing experience.

If you want more, then you need to aim for an i5 or i7 processor machine with windows 7 and with the best of breed camera (Logitech 9000 or Microsoft Lifecam Cinema HD).

To end with a personal note, I am attending almost all my meetings from my MacBook Pro, and I would not trade it for any other machine. I am more than happy with sending VGA, and I have to say, that – sometimes – I would even prefer sending less… like CIF, god forgive!

I was never told “you need to shave” until high definition arrived. I was never told “gosh you look tired” in the CIF days. Remember, with desktop video conferencing, you are right in front of your camera, so your audience WILL see that you were partying last night. But that’s an issue for a different kind of post…

Vincent Chavy

Director of product management, in charge of the software products at RADVISION's Video Business Unit.
Tags: , , , , , , , , , , , , , , , , , , ,
Tweet this Print

2 Responses to Ask The Expert: The Perfect Desktop Conferencing Machine

  1. Thanks for the post Vincent. This is the best I’ve seen by far!

    Quick question: if you are using a non-icore processor laptop like a Dell XPS, does it make any material difference to use an external Logitech 9000 camera or better just to use the internal camera?

    And what about the claims of some vendors to get better quality using lower processing power with SVC (I think you know who I’m referring to). Is there any merit to this claim or is the quality difference just related to better network handling over lossy networks?

    Scott

  2. Hi Scott,

    Thank you for the comment. Let me try to answer your questions:

    Q> If you are using a non-icore processor laptop like a Dell XPS, does it make any material difference to use an external Logitech 9000 camera or better just to use the internal camera?

    A> Your Dell XPS laptop will most likely not have enough processing power to encode / decode HD 720p @ 30 fps. So sending VGA and receiving 720p @ 30 fps is probably the best your laptop will be able to handle. In that case, using the Logitech 9000 or the internal camera really comes down to the image quality that both camera are producing. I am pretty sure that the Logitech will produce better result (because its lens is just really good) but has the obvious disadvantage to be an external camera :)

    Q> And what about the claims of some vendors to get better quality using lower processing power with SVC (I think you know who I¹m referring to). Is there any merit to this claim or is the quality difference just related to better network handling over lossy networks?

    A> No I really do not see who you are referring to :) I am not a Codec expert, but to me saying that SVC gives better quality with lower processor usage is pushing it. SVC is a more complex codec so guess what? It takes more CPU to encode an image! So if you don’t have enough CPU you might be compromising resolution or frame rate in order to make SVC work. However, it is true that as the processors get faster and codecs get super optimized the increase in performance and/or the decrease in quality is not that significant. This is a small price to pay for having scalability, flexibility and error resiliency.

    So I am all for H.264/SVC (and we actually using it ourselves!) – not to save CPU, but to deliver better video quality over unmanaged lossy networks.

    Thank you and have a great day!

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>