HACKER Q&A
📣 tomrod

How to diagnose why streaming video to a PC is so choppy?


I've noticed for the past several years that video appears really choppy when streamed to a PC (but not to a TV or Tablet/Phone).

I'm sure it can be a variety of things, but I've noticed it on all major platforms -- Windows, MacOS, several flavors of different Linux distributions, on several programs.

I figure it could be codecs or similar. But that's not yet in my skillset how to determine those (and whether that is a fruitful target for investigation).

It happens on all kinds of internet feeds and connections (wired & wifi).

I'm curious how you as a tinkering hacker would approach this!


  👤 vivegi Accepted Answer ✓
Check if the underlying stream has multiple resolutions of the video stream encoded. For eg: HLS and MPEGDASH both have this feature so that you can watch the streams at an adaptive bitrate on devices with different resolutions/bandwidth characteristics. You can do this with a network tracer (or if you are using a web-based player, using devtools) that logs all the URLs.

For HLS there is a master.m3u8 file that is the index file (accessed over HTTP/HTTPS) that is loaded first. It will have links to the multiresolution streams. You can then find out which resolution stream is actually being loaded and then compare it with the device resolution.

One of the major causes for the video being choppy is due to a suboptimal resolution file being loaded. Another reason is the player that you are using. If it does not have the right adaptive bitrate algorithm implementation, it may be causing the wrong res file to be playing exacerbating the problem.

These are just my guesses.


👤 minhmeoke
Check if your computer is running any disruptive background processes, or if there is some kind of I/O bottleneck (for example, if you fill up a hard disk or SSD, write performance will suffer).

On Linux you can do this by installing htop and iotop, on Windows you can use this using the Task Manager, I'm not sure about Mac. You can also use something like Fraps (https://fraps.com/) to check your framerate.

Also, what graphics cards and cooling solution do you have? If the computer is not getting adequate ventilation and there is a buildup of heat, then the processor may throttle, resulting in dropped frames.


👤 GeneticGenesis
Super interesting, it really depends on what you mean by "choppy".

Are you seeing the video re-buffer (a loading spinner re-appearing), or just the video looking stuttery?

My video engineer gut tells me that this is a frame rate conversion issue - do you know what frame rate your graphics card is outputting to your display, and do you happen to know the frame rate of the content that you're seeing issues with (or more generically, what type of content is it - film? TV) ?


👤 night-rider
I prefer all my media to be watched offline and avoid streaming as it complicates things. For example if I want to watch some Netflix show I torrent a copy of it, then upload it into VLC Player via iTunes, and watch it on my iPad Pro. This also saves some power since the wifi doesn't have to be very active during the duration of watching. Downloading it for offline viewing uses some amount of power, but not as much as streaming.