I started out using FRAPS (the full paid version, not the free 30 second at a time version). However, it was just creating too large of video files so I looked for a less demanding alternative. Currently I'm using the free built-in video capturing with my Nvidia GPU (Shadowplay through the GeForce Experience app). I find it good enough in quality at 1080p but not an insane amount of hard drive space.
But to answer your question, there really is no one single best one out there. You just need to research them and find out which one best matches what you are looking for. Here's a good reference to many options, some free, others not. Also keep in mind some of these run off the GPU so you will notice an FPS hit when using them (like FRAPS and Shadowplay). But if you have a beefy enough GPU(s) then it's a non-issue: https://beebom.com/best-game-recording-software/
Side note: some of these have built-in encoding (MPEG, AVI, WMV, etc.) but others do not which generally means you will need your own video editing software on the side to encode for Youtube or Facebook video compatibility. I use Sony Vegas Studio for that.