Why is the quality of Internet video chat, e.g., Skype, so poor?

One of the changes from having a child in the house is that friends and relatives want to have video chats with me whereas previously they were content to talk by phone (or not to talk at all!). I’ve tried Skype and Facetime and Google Chat on computers ranging from a 6-core monster to an iPad 2. Whether hardwired to the 5/15 Mbps Verizon FiOS connection or connected via 802.11n, the quality is almost always terrible, with jerky video and unreliable audio.

I can’ t figure out why this is. A reasonable voice phone call can be had with a 12 kbit/second connection. The same computers and Internet connection are used very successfully to stream high quality videos down from YouTube and NetFlix. The same network was used very successfully with Vonage for smooth voice calls. It can’t be a server issue, I don’t think, because these services should be peer-to-peer. I don’t think it is a too-hard-to-compress issue. The 6-core machine can compress a 1080p AVCHD video into a 720p .mp4 file in about 50% of real-time (i.e., can process 2 minutes of video in 1 minute), so presumably even a single CPU core should be able to do compression on the low-resolution videos that are standard for these services.

Why is it that the golden age of video conferencing is not yet upon us?

27 Comments

  1. cthrall

    February 4, 2012 @ 5:41 pm

    1

    I think Skype traffic is routed through multiple nodes, so even if you had 25/25 Fios at each end it won’t utilize the connection. Details here: https://support.skype.com/en-us/faq/FA10983/What-are-P2P-communications

    Also, you really need QOS configured correctly in your network for your time sensitive packets to get priority, and most of the time you have to call your ISP and convince them to get that done. In fact, if you don’t have business class service, they probably won’t do it.

    If you have everything configured correctly, a call on a VOIP phone can be the clearest call ever, just as good as landline to landline.

  2. Trekker

    February 4, 2012 @ 5:57 pm

    2

    I’m on FIOS (35/35) and my parents are on VDSL (3/0.7). We’re able to video chat at very good resolution (looks close to 720) with flawless audio using Google Video Chat. We both have Logitech C910 cameras. Skype has proven to be problematic with audio synchronization problems and shifting in/out from HD. The difference is pronounced enough that I almost suspect some problems along the route depending on the protocol that the carriers detect.

  3. Pedro Vera

    February 4, 2012 @ 6:02 pm

    3

    Are the machines at the other end of the conversation as capable as yours? What about their broadband? Are you using a router that could be throttling or messing those video streams?

  4. Arthur A. Gleckler

    February 4, 2012 @ 6:04 pm

    4

    It’s possible that your problems are related to what has been called “buffer bloat.” Here’s an article on the subject:

  5. Arthur A. Gleckler

    February 4, 2012 @ 6:04 pm

  6. Phil

    February 4, 2012 @ 9:40 pm

    6

    I’ve long wondered the same thing. I’ve also wondered how Polycom et al can get away with charging hundreds or thousands of dollars for what Skype does for free.

    We tried Skype for years at my company, then caved and bought the Polycoms. They are vastly, almost unbelievably, superior.

    They just work. None of the inevitable no-audio problems that you get with Skype. No drop-outs. No stuttering or tearing. No bizarre echoes. No latency issues. It’s a great experience even between Toronto and Western Australia, ~300ms r/t. It’s transformed our business.

    Maybe these proprietary codecs really are that much better? I have no idea. But it’s another data point.

  7. Matt

    February 5, 2012 @ 2:42 am

    7

    Have you tried Google+ hangouts? I’ve found the quality to be good. The tech is discussed here:

    https://plus.google.com/111091089527727420853/posts/bMYdBt4bDH5

  8. atp

    February 5, 2012 @ 5:53 am

    8

    I don’t know the true answer, but network latency induced by bufferbloat is what I immediately thought of too. The people seriously working on the problem appear to congregate here: http://www.bufferbloat.net/

    That of course cannot explain why Polycom would work much better than Skype over the same network; figuring out what the real differences are there would make a good article. Perhaps the true problem has little or nothing to due with latency.

    Btw, the BufferBloat folks’ Cerowrt sub-project sounds useful in itself; they’ve standardized on the (now $100) Netgear N600 WNDR3700v2 router as their fully open source test-bed:

    http://lwn.net/Articles/453950/
    http://wiki.openwrt.org/toh/netgear/wndr3700
    http://www.smallnetbuilder.com/wireless/wireless-reviews/31396-netgear-wndr3700v2-n600-wireless-dual-band-gigabit-router-reviewed
    http://www.newegg.com/Product/Product.aspx?Item=N82E16833122326
    http://www.netgear.com/home/products/wirelessrouters/high-performance/WNDR3700.aspx

  9. Bas Scheffers

    February 5, 2012 @ 6:16 am

    9

    One easy way that normally increases Skype quality straight away it choosing your own port in settings and then forwarding that port on your router. Obviously, you’ll need to fix the private IP on the computer you are using.

    I quite regularly have long conversations between Australia and the Netherlands with zero noticeable latency and, while nowhere near what is promised in the commercials, quite good video quality and no audio dropouts.

  10. Rob Sama

    February 5, 2012 @ 9:40 am

    10

    I have FIOS 20/20 in belmont and have no issues with FaceTime. I only use Skype for for voice really, but the few times I’ve used it it’s worked well. Skype voice does occasionally have issues. I have to use it to place phone calls since AT&T wireless can’t provide a reliable signal to Belmont.

  11. Scott Smith

    February 5, 2012 @ 10:37 am

    11

    You didn’t mention your connection type. Are you wireless? I understand from watching TWiT shows that Skype over wireless fails every time.

  12. Johnathan Rabkin

    February 5, 2012 @ 11:43 am

    12

    Skype must take into account people who have very modest and inconsistent bandwidth, as well as high-speed connections. Such a middle-of-the-road solution will probably under-perform at either end of the bandwidth spectrum in favor of performing adequately in most situations. If high-performance Internet was a given, you could probably find a very high-quality solution to match.

  13. philg

    February 5, 2012 @ 12:26 pm

    13

    Scott: As noted in the original posting, I have tried this with a variety of devices, both wired and wireless. The one thing that is consistent is inconsistency. I find this especially odd for audio because, as noted above, a Vonage VoIP phone, worked great for three years on the same network.

    Jonathan: Your theory sounds good except that Skype does not perform adequately in hardly any of the situations where I’ve tried it! My requirements are not very strict. I would be happy with a smooth 240p video stream of the same quality that I get from the lowest quality YouTube videos and with an audio connection comparable to what I had with Vonage. Given that Skype takes a while to establish a video call, I would have thought in any case that one of the things it did was test the end-to-end bandwidth and pick an appropriate video quality.

  14. Colin

    February 5, 2012 @ 10:34 pm

    14

    How much jitter does this test show? Overall line quality?

    Where/how far away is the other end?

    What are you using for a firewall/router?

  15. Colin

    February 5, 2012 @ 10:34 pm

    15

    Link would help:

    http://pingtest.net/

  16. philg

    February 5, 2012 @ 11:33 pm

    16

    I tried PingTest: Got a 29 ms ping time with jitter 3 ms. Overall line quality “B*”. The server was in Maine, 200 miles away. The * is because the system was unable to test packet loss.

    The network config is the Verizon Actiontec router and then a Netgear router behind it. After that, CAT5 wire.

  17. Tom Welsh

    February 6, 2012 @ 8:35 am

    17

    I suspect that Windows’ process scheduling leaves a great deal to be desired. I have noticed interruptions and jerky sound even when playing music from files on a (fast) local hard drive. It seems very sad that, even with 8 cores and 6GB RAM, Windows cannot manage to perform a fairly easy quasi real-time task adequately.

  18. philg

    February 6, 2012 @ 9:04 am

    18

    Tom: Thanks for the explanation. I hadn’t realized that my iPad was running Microsoft Windows and that’s why it can’t Skype properly.

  19. Brittany

    February 6, 2012 @ 11:48 am

    19

    It may be less you and your computer and more the applications you are using. If you’re looking for a free option look for one that has a purchase option as well as a some what limited free option such as IOCOM. Generally these work a bit better because they offer the same software as their paid version but for free. I would also recommend using a wired connection for consistency.

  20. Dan Lyke

    February 6, 2012 @ 4:57 pm

    20

    I can’t speak to video, but for audio at a geographically distributed (Thailand to Texas) company a few years ago we used TeamSpeak, a conference-call system that was (and may still be) marketed primarily to video gamers, and it worked really well. Skype degraded rapidly with more callers, and was always somewhat flakey.

  21. Joshua Levinson

    February 6, 2012 @ 6:59 pm

    21

    Here’s another vote for bufferbloat. It sounds like you’ve tried multiple operating systems, devices, and local network connections, but, unless you’ve left some out, they’re all still using the same internet connection (FiOS, right?).

    It may be that you’re connected to a router one or two hops up that may be dropping packets, but has a sufficiently large input buffer that the packet rejection doesn’t happen nearly quickly enough. This will translate into TCP windows that are much too high, and also cause the bad router to be scored too highly when other routers decide where to send their packets.

    Have you tried using any of the same devices through an entirely ISP? Say a wireless provider, or somebody you know who is on Comcast, for example? The next door neighbor on FiOS won’t be sufficient here, since they’ll almost definitely be in the same network path.

  22. Colin

    February 6, 2012 @ 7:21 pm

    22

    Ping time seems long, but may be due to congestion. I just ran it and got this:

    http://www.pingtest.net/result/56287610.png

    200 miles, 18ms ping, 1 ms jitter.

    PS I presume you mean Netgear switch and you are not double-NATing…..

  23. Dan Weber

    February 7, 2012 @ 12:53 pm

    23

    I’ve used Skype perfectly with a crappy netbook running Windows XP. If it makes the connection things usually work great, the audio and video are fine. My parents use it with yet another grandchild easily, too.

    I’ve also sometimes had problems connecting, and we can occasionally have the picture freeze going in one direction or the other. But about 90% of the time things are great.

    I didn’t do anything special to set up my network (although my edge devices were built by my employer and I have root access so I could do whatever I wanted, including QoS, to set them up — but, again, there’s nothing special being done to work with Skype).

  24. Dan Maas

    February 7, 2012 @ 6:02 pm

    24

    I’m wondering if it has to do with poor hardware or misconfigured software on the other end of the connection. Every time I Skype with my friend across town he sounds like Neil Armstrong reporting in from the moon, and I know it’s because of the low-quality microphone and barely-hobbling-along Windows installation on his laptop.

  25. davep

    February 7, 2012 @ 7:29 pm

    25

    Skype audio works fine for me usually. I use it to talk to people in Germany regularly and for work conference calls. Sometimes, doing heavy things with the network cause audio problems.

  26. arbitrage

    February 8, 2012 @ 2:08 am

    26

    philg – This has been well discussed and well known issue. You have to configure skype correctly since it is not a p2p protocol – there is tremendous routing happening. Think flying direct via southwest (what you think is happening) vs multiple connections through hub airports (what is really happening). What happens – in broad strokes – is that skype routes through a relay node (also called a supernode) if you are behind a firewall. Which most of us sitting behind a router are. Of course the relaynodes are just some poor schmucks skype client with a public ip and your resulting experience become dependent on a variety of factors.

    So if the supernode is overloaded you suffer. The most obvious fix is to do port forwarding which is not non-trivial and if both sides do that, you will see a quantum jump in quality. If one side does it it can also improve quality from intolerable to pretty good.

    One other hack is go HD which used to require hacking skype config flies. I am not sure if skype is HD by default by now and this is no longer needed. I moved everything to Linux and no longer use skype but google talk and the quality is good enough to not bother.

    Some links:

    http://blog.benpowell.co.uk/2007/08/i-dont-want-to-be-skype-supernode.html
    http://www.gabrielweinberg.com/blog/2009/04/how-i-got-skype-high-quality-video-working.html
    http://digg.com/news/story/Get_Crystal_Clear_Skype_Calls

    Some of these links are old so you have to make sure that the quality configs are still valid.

    :)

  27. philg

    February 8, 2012 @ 11:40 pm

    27

    I just tried Skype from my laptop here at the Caribe Hilton in San Juan. Performance was terrible (we eventually had to shut down video altogether in order to have some hope of working audio), but the (wired) connection in the room ($8/night) has been slow and unreliable even with Gmail, so I wasn’t too surprised. I swear that I had a vastly better Internet connection in 2000 in a hotel in Singapore than I do today at the Hilton, 12 years later.

Log in