the changes i made are in the dev build i posted last night
I now have managed to get NVENC working for hardware encoding of h264 on certain nVidia graphics cards
I couldn't find a definitive list of cards but apparently these are Kepler and Maxwell architectures. So you'll have to check if your card supports NVENC technology (which is independent from CUDA technology).
If you have a compatible card, before you try this out, make sure you update your drivers to the latest version from nVidia's website. (My initial false start with libnvenc was due to using out of date drivers).
For reference, my GTX660 does 1080p at around 270fps, dropping to around 210fps once ffmpeg is also encoding audio and resizing the video.
In order to try out libnvenc...
Shutdown MediaBrowser Server Update encoding.xml and set the h264 encoder to libnvenc Download this ffmpeg.exe and replace it in your %APPDATA%\MediaBrowser-Server\config\[DATE] folder Download my version of MediaBrowser.Api.dll and replace the existing one your %APPDATA%\MediaBrowser-Server\System You'll notice you are replacing a MediaBrowser dll in this process. I built this DLL on dev version 3.0.5492.946, so I'm not sure if this will cause any issues in future versions (and remember this dll will get replaced if MB gets updated).
If a few people could test it out I will submit a pull request to Luke and we can see if we can get this added permanently.
NOTE to QuickSync users
The above ffmpeg includes both QSV the NVENC, so you can easily switch between the two.
My updated MediaBrowser.Api.dll also includes the required height and width rounding functions which are required for QuickSync compatibility, so this should help those who are waiting for the rounding to be released in the main dev build.
This has been possible thanks for the code I obtained here: https://github.com/B...ffmpeg_libnvenc
This uses the NVIDIA Video Codec SDK and CUDA Toolkit - Can someone review the license(s) and confirm that it is OK for ffmpeg.exe to be distributed as a binary, or what license details we might need to include? (I have no idea about this type of thing!).
Edited by mjb2000, 27 January 2015 - 02:30 PM.