NVENC

If you have a suggestion for a feature, post it here
Post Reply
Vallimar
Posts: 36
Joined: Fri Oct 04, 2013 1:15 pm

NVENC

Post by Vallimar » Sat Mar 07, 2015 4:35 pm

FFmpeg just released version 2.6 which includes support for nvenc.
Any chance of getting some experimental support going?

User avatar
SubJunk
Lead Developer
Posts: 2943
Joined: Sun May 27, 2012 4:12 pm

Re: NVENC

Post by SubJunk » Fri Mar 13, 2015 2:11 pm

Looks promising. The first step would be to get the nvenc library added to the versions of FFmpeg at http://ffmpeg.zeranoe.com/builds/ and then we can look at adding support in UMS

User avatar
SubJunk
Lead Developer
Posts: 2943
Joined: Sun May 27, 2012 4:12 pm

Re: NVENC

Post by SubJunk » Fri Mar 13, 2015 2:12 pm

Actually maybe the support is already in that version, can you check?

Vallimar
Posts: 36
Joined: Fri Oct 04, 2013 1:15 pm

Re: NVENC

Post by Vallimar » Fri Mar 13, 2015 11:52 pm

They won't be added to there as it requires ffmpeg be compiled with the nonfree option enabled, which
would disallow public redistribution. I always use my own builds, so that isn't a concern for me personally.

ExSport
Posts: 596
Joined: Wed Oct 10, 2012 1:57 am

Re: NVENC

Post by ExSport » Sat Mar 14, 2015 9:10 am

What I found on NVIDIA web it is distributed free with no limitation to be implemented in other projects, if I remember right.
In past it required some key or what but final version can use up to 2 streams at a time without any license/key or what.
Or maybe I understood it wrongly...read it on phone in hurry so everyting is possible 8-)

Vallimar
Posts: 36
Joined: Fri Oct 04, 2013 1:15 pm

Re: NVENC

Post by Vallimar » Sat Mar 14, 2015 11:17 am

That may be, but ffmpeg itself requires it be compiled as nonfree when enabling nvenc. This changes
their license such that any binaries compiled with it enabled cannot be redistributed. Support could still be
added for folks that compile from source, but that is up to these fine developers to decide.

sofakng
Posts: 3
Joined: Fri Mar 08, 2013 7:44 am

Re: NVENC

Post by sofakng » Thu Jun 11, 2015 6:23 am

Has there been any more information/progress on this request?

I've compiled ffmpeg from source, and it's completely amazing. On a simple test, ffmpeg was encoding at 30 FPS but nvenc was encoding at 300+ fps. (yes, three hundred) That was using a GTX 980 and a Core i5-2500k CPU.

Is it possible to use UMS with my custom compiled ffmpeg to enable nvenc? I'd also like to add SVP/Interframe frame-doubling as well but use the GPU since it's so incredibly fast.

ExSport
Posts: 596
Joined: Wed Oct 10, 2012 1:57 am

Re: NVENC

Post by ExSport » Tue Jun 23, 2015 3:04 am

It seems it is nothing against to use freely distributed Nvidia NVENC in ffmpeg:
http://clojurehackers.com/p/Brainiarc7/ffmpeg_libnvenc
https://github.com/Brainiarc7/ffmpeg_libnvenc
http://ubuntuforums.org/showthread.php?t=2265485
http://blog.mediacoderhq.com/mediacoder-nvenc/

EDIT: OK here is some info about licensing
https://ffmpeg.zeranoe.com/forum/viewtopic.php?t=2308
http://emby.media/community/index.php?/ ... /?p=166981

QSV (Intel) + NVENC (Nvidia) ffmpeg build howto:
http://emby.media/community/index.php?/ ... /?p=167070
https://github.com/MediaBrowser/MediaBr ... Tanscoding

Maybe the cleanest path to go is to build the binary after every UMS install locally? 8-)
Build script for WIN:
https://github.com/mjb2000/media-autobuild_suite
Win Binary:
https://github.com/mjb2000/FFmpeg/relea ... ffmpeg.exe

Anyway here is discussion that using a header doesn't break the possibility to distribute binary (not read whole thread 8-) ):
http://comments.gmane.org/gmane.comp.vi ... vel/186076

Not the coder but I understand this as a "license restriction" (found in latest ffmpeg code) so compiling locally is only way maybe :idea: :

Code: Select all

die_license_disabled nonfree nvenc

sofakng
Posts: 3
Joined: Fri Mar 08, 2013 7:44 am

Re: NVENC

Post by sofakng » Tue Jun 23, 2015 7:18 am

Yeah, regardless of the licensing I think it would be great for UMS to allow custom-compiled binaries and then use custom options (for NVENC, etc)...

Post Reply