Since this question got a lot of attention, I feel that I should share my favorite screen recording software which isn't free but fulfill all other requirements and has many other useful features: TechSmith Camtasia
- Mac and Windows (FYI Camtasia for Windows vs. Camtasia for Mac)
- saves file locally or directly uploaded to a website (FTP, YouTube, Google Drive, etc.)
- no limit of video length or video resolution
- work with multi-monitor (the video area can even span on several monitors)
- save as GIF:
- Demo:
- lots of post-processing options:
For a more thorough description, see the list of all features.