How I Got Skype High Quality Video Working

Ever since Eli was born, we've been skyping with my parents regularly.  My parents supposedly bought a high quality webcam, but we weren't seeing them great.  And I know my built-in laptop cam wasn't up to par, so a few days ago I set out to make it all work.

Skype says this is what you need to make it work: 
I'm not sure if Skype actually checks the drivers to make sure you have one of these webcams, but my parents actually did have one and so I bought one too.  I actually bought this one, which has auto face-tracking that I figure would be good fit when Eli gets a bit older.  However, once I set it all up, neither direction was what you would call high quality. Mine was certainly better than before, but that was mainly due to the lighting adjustments in the software that came with the webcam.

Anyway, after a lot of messing around, I did get it to work as much as I think possible.  Here's how:

  1. Know that Skype "ramps up" to high quality.  This wasn't obvious to me initially and caused a lot of time wasting.  In particular, Skype apparently does a lot of internal calculations to see what it can send over time.  It starts off lower, and then slowly increases the video quality, and in turn, CPU & bandwidth used.  So just know that if you don't see it right away, give it a minute or so and see if it improves.

  2. Turn on "technical info". On windows this is under Tools->Opotions->Advanced->Advanced Settings.  Once you do this, initiate a video call and then mouse over the incoming video window.  A pop-up should appear with all sorts of debugging info that will help you diagnose what is between you and the high quality video.  I'm not sure what it all means, but I think you want to concentrate on a few things.

    First, look on the bottom where it says "problems" and then gives you some codes.  The goal is to get rid of all of these codes.  BW stands for BandWidth, and on mine it was critical, i.e. BW_Critical.  

    The next thing to look for is the video sent and video recv lines.  You want to send and receive at 640x480 at a decent frames per sec (FPS>=15).  It turns out my parents were sending at 320x240 and both of our FPS were low.

    Finally, look for Relays.  You want this to be 0.  When it is not, you do not have a direct connection with your video partner.  Instead, your connection is routed through other computers.  I did not have a direct connection, and this turned out to be causing the BW_Critical.

  3. Force 640x480.  I was sending at 640x480, but as I said, my parents were not.  Turns out while they have a decently fast computer, their processor isn't enough for Skype to trigger the attempt to send video in high quality. After a lot of searching and messing around, I found the solution.  You want to put this in your config.xml file:


    On Windows XP, this file lives in Documents and Settings/Login Name/Application Data/Skype/Profile Name/. In general on Windows, you want to find your Application Data folder (on Vista I think replace Documents and Settings with Users) and then follow the same skype path.

    After I did this, my parents were sending at 640x480. It turns out their processor was fast enough, and we monitored the CPU usage via the technical call info I talked about above.  (You could also do this with the task manager.)

  4. Open the incoming port on your firewall.  Go back to Tools->Options->Advanced, but this time select Connection.  There is a port # at the top.  I opened this port on my firewall and forwarded it to that machine.  I also unchecked the box "Use port 80 and 443..." to make sure it was working. Also, if you check "Enable uPnP" you might get this port forwarding set up automatically.  Also be aware of any software firewalls you have, and to make exceptions for skype within them.  Once I did all that, Relays were now 0, i.e. we had a direct connection.

  5. Plug the webcam directly into the computer.  I was using a USB hub. Apparently the newer high quality webcams can transfer a lot of stuff and a shared USB hub can become the limiting factor. Similarly, if you have a lot of USB devices in use, even directly connected to the computer, try unconnecting some of them.  You might be being limited by your comptuer's USB bus.

  6. Check your bandwidth speed.  You can do so here.  I have a great connection due to Verizon FIOS.  My parents, less so.  Turns out, after all the above, I started sending awesome video, and it was transferring at about 500Kbits/sec!  My parents increased their quality as well, but their broadband connection caps at about 150Kbits/sec, and so that became the limiting factor.  This showed up in the technical call info problems as BW_Low.  They are now looking to upgrade their connection.  But if you notice quality does get better, but it is still sort of blurry, check your bandwidth.  You can see how much bandwidth skype is currently using by again looking at that technical call info.  Again, mine capped around 500Kbits/sec, so I suspect you should expect something similar.

Well, that's it.  It was definitely worth it.  My parents can now see Eli probably 10 times better, and soon he will be able to see them the same.


If you have comments, hit me up on Twitter.
I'm the Founder & CEO of DuckDuckGo, the search engine that doesn't track you. I'm also the co-author of Traction, the book that helps you get customer growth. More about me.