>>/10148/
I dunno wtf a 9xbuddy is, but youtube-dl is the best tool for such. Works native on Linux, works through cygwin ( http://cygwin.org/ ), probably works on windows native (run pip.exe install -U youtube-dl)

Also get ffmpeg, for Linux your distribution has it, otherwise there's a windows pre-compiled static build for this.
You can run the windows native apps through cygwin, makes it easier, but can also just use cmd.exe on winblows.

Youtube and similar sometimes have video in one stream and audio in a different stream of a different format. Youtube-dl will combine these into an "mkv" (basically just a layered format for other formats) which you will want to convert to mp4 or webm for viewing.
Basic steps I use are:

1. ffmpeg -i input_file.mkv

This will produce a bunch of output, in the "video" layer section, look for a line like this:

  Duration: 00:00:59.04, start: 0.000000, bitrate: 680 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 547 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc 

I've bolded the important parts. You can scale to a different resolution by finding the ratio and multiplying.

For example, if you have a resolution of 1920x1080 on the original, do 1080 / 1920 = .5625, multiply that by 1280 (new width) to get 720 (new height). So 1280x720 is same aspect ratio as 1920x1080.

The general form for a conversion is: 
    ffmpeg -i input.mkv (OPTIONS HERE) output.mp4

to make an mp4. To change resolution (greatly increases quality with a lower bitrate) you would do:
  -s 1280x720
to scale to 1280x720.

The bitrate is more important, and the default 200kb/s is garbage

Take note of the original bitrate from earlier in this step, that's your maximum. For a 1280x720 video, I tend to aim around 600k for good quality.
To specify this, add:
  -b:v 600k

A 1920x1080 to 1024x720 is a difference of 225% in number of pixels. So there's roughly a 225% less bitrate requirement for same quality. That's why I tend to scale, but you can disregard that and just use a static bitrate around 500k - 800k if you want.

And that's it! If you want to get fancy, you can do two-pass encoding. This will produce higher quality at smaller, by running through the conversion once and noting information which can be then used on a second pass.

Just add the flag "-pass 1" (the output from this will be useless, and an ffmpeg2pass-0.log will be created -- this contains the magic info).
After that job completes, run the same command but with "-pass 2" and you'll get a good two pass output.

As a script:

  for i in '1' '2';
  do
    ffmpeg -y -i input.mkv -s 1280x720 -b:v 600k -pass "${i}" output.mp4;
    sync;
  done

^ The above will do a two pass conversion on a file.