Number one contributer would be your available bandwidth.
The more you have the better it's going to stream. That's not to say it's impossible to stream at lower bandwidths. At the lower bandwidths stuff like latency and dropped packets come into effect, in essence the quality of the bandwidth is also important. See Pingtest.net.
That's simply getting the video to your computer. For 360p you'll need at minimum about 3Mb for smooth streaming. 480p you'll want about 5Mb. I honestly don't see a point in streaming 720p or 1080p on a residential line.
If (and I'm guessing you are) using a Flash based player, it's going to burn a lot of CPU cycles. Depending on the browser it could also hoard RAM. I'm not sure if a decent or higher end GPU would help, and a HDD would probably be a non-issue unless you're caching to disk.