I like Open Broadcaster Software, but if you have a recent enough Nvidia graphics card, you should definitely use Shadowplay
OBS is free and open-source, and if you do have an appropriate graphics card, Shadowplay is also free, but it doesn't work with any other cards