If you just want to record incidents in the game as and when they happen, then I think something like shadowplay (for nvidia) or game DVR (for AMD) is what you want.
These utilize the gpus built in hardware h264 video encoding capabilities, which aren't being used during gaming, thus the impact to your games performance while recording is very low.
They're also free to use and the video quality is typically very high. They work by recording the last 10 or so minutes of gameplay constantly and when you get RDM'd or something and want to capture it, you press a hotkey and it'll flush those recorded minutes of play to disk.
If you want to record the entire session of gameplay, or stream, then there are multiple choices. I'd imagine the best solution is one similar to the one I currently use when I stream. I have an avermedia extremecap u3 and a live gamer hd card that I use on a 2nd pc, to capture all the video output from my gaming pc. This captures everything you do with zero performance impact on the gaming machine as it's not doing any recording, another machine is. Obviously this requires 2 pcs and some expensive hardware so this might not something you want to do.
Alternatively you can use shadowplay again (I presume the AMD offering can do the same) to constantly record, however this is pretty demanding in terms of disk space. At 60fps/50Mbps/1080p shadowplay typically uses 3.5-4GB of data for 10mins of game play. So a 4hr gaming session would use anywhere from 85-100GB of data.
You can always reduce the quality of the recording, but obviously this is dependent on what you want the video for, if you're just trying to capture incidents, I think the rolling 10mins of video is the best solution and at that point, the quality is quite useful for seeing everything that happened as you see it, if you're uploading to youtube for a lets play or something, again you want a high quality setting and you're going to edit the video anyway, so the size isn't probably that much of an issue. If you're streaming, then a 2 pc setup is probably what you want to aim for anyway.
That's my view on it anyway