I have a web project I am working on that requires transcoding of multiple short video clips (6-10 seconds) uploaded by users into a web friendly H.264 format on my linux server. I have been able to enable NVIDIA NVENC hardware acceleration with ffmpeg and a 4 year old GeForce GTX 670, and I'm getting hardware encoding speeds twice that of my software encoding (Xeon E5-1620 v3). With an $800 video card budget, I'd like to be able to transcode these short video clips as fast as possible because I will have multiple users uploading them simultaneously.
The NVENC engine does have licensing limitations when implemented on a consumer level NVIDIA card: only 2 video transcoding threads can be run simultaneously, even if you have multiple cards. If I decide to go with one of the pricy quadro card line, then I am only limited by the other hardware elsewhere in my system in terms of how many threads I can run. However, with my specific project I'm a lot better off transcoding these clips in a series rather than parallel because the clips will be viewed in the order they're uploaded. Clips later in the queue can be transcoded as earlier clips are viewed. If clips are transcoded in parallel on the same card, performance is inversely proportional to the number of simultaneous threads.
Having stated this, my plan is to set up two NVIDIA cards and run a single thread on each one to maximize throughput. The NVIDIA codec SDK is vague on NVENC performance difference between various cards, but it seems that there is a major difference between GPU generations Maxwell Gen 2> Maxwell Gen 1> Kepler. I can find no reliable benchmarks for NVENC encoding (opposed to CUDA benchmarking, which is easy to find).
In the absence of hard benchmarking data comparing various cards, what features of the currently available cards would have to largest impact on single thread NVENC encoding speed? Since the actual GPU is not utilized fully during transcoding, does GPU and memory clock speed affect this function much? I have $400/card to spend, but if the entry level Maxwell Gen 2 GeForce GTX 960 is as good as the more recent cards, then I will put extra money into other aspects of the server (CPU/RAM/SSD etc). I know this might seem like a subjective question (what's best), but I am trying to make a self-educated guess based on an understanding of the transcoding hardware.