Handbrake is a great option that works on PC/Mac/Linux.

I also use a Mac program called Video Monkey. It allows me to convert video files into different formats but more importantly, different sizes. I use it to recode movies to smaller file sizes to fit on my iPhone for long trips. Then I can keep TV shows to < 80 MB for 30 minutes or < 150 MB for movies. Resolution can be dialed down since the screen is so small.