Every article tag can be clicked to get a list of all articles in that category. Every article tag also has an RSS feed! You can customize an RSS feed too!
We do often include affiliate links to earn us some pennies. See more here.
I had been meaning to try out Nvidia's NVENC for a while, but I never really bothered as I didn't think it would make such a drastic difference in recording gaming videos, but wow does it ever!

I was trying to record a game recently and all other methods I tried made the game performance utterly dive, making it impossible to record it. So I asked for advice and eventually came to this way.

What is NVENC?
It essentially takes away video encoding from the CPU and does it on the GPU instead, and it's supported on Nvidia Kepler (600) and above.

Pairing up the awesome open source OBS Studio [Official Site] and compiling FFMPEG with support for Nvidia's NVENC is actually pretty amazing.

Note: While I have fully tested it myself, I am not responsible if you manage to break anything doing it.

After following this guide (copied below in case it vanishes, thanks Dan).

I've done a minor edit to the start, as the filename wget downloads is different to what the guide said.
Spoiler, click me
# Download and unzip the NVIDIA Video Codec SDK from https://developer.nvidia.com/nvidia-video-codec-sdk
wget https://developer.nvidia.com/video-sdk-601
unzip unzip video-sdk-601

# Copy the headers files from the SDK so FFmpeg can find them
sudo cp nvidia_video_sdk_6.0.1/Samples/common/inc/*.h /usr/local/include/

image
# Make sure "Source code" is enabled in System Settings... -> Software & Updates
# Download the build dependencies for FFmpeg
sudo apt-get build-dep ffmpeg

# Install libfdk_aac
sudo apt-get install libfdk-aac-dev

# Download the source for the exact version of FFmpeg you already have installed (not as root)
apt-get source ffmpeg

# Go into the ffmpeg source you just downloaded
cd ffmpeg-2.8.6

# Find out the exact command the ffmpeg was originally built with
ffmpeg -buildconf

# Copy the single line "configuration:" and pass it to ".configure" but add "--enable-nonfree --enable-nvenc --enable-libfdk-aac" on the end
# Mine looks like this:
./configure --prefix=/usr --extra-version=1ubuntu2 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv --enable-nonfree --enable-nvenc --enable-libfdk-aac

# Now build it
make

# And finally install it over the original
sudo make install
It will take a few minutes to compile, but once that's done, you're pretty much set.

I was able to quite easily get FFMPEG sorted with NVENC and hook it into OBS Studio. I'm sure there's probably better guides (share them in the comments!), but I have yet to find one that makes it so damn simple to do. You don't even need to do much with OBS Studio, other than change the "Encoder" dropdown once this is sorted:
image

Note: You shouldn't need to re-compile OBS Studio, as the guide above uses the same version of FFMPEG as you have already.

What I love about OBS Studio, is it also has custom hotkeys you can set yourself like so:
image
I have it set so pressing "=" will start or stop recording, which is damn handy as practically no games use that button, if they do, i can simply go back and quickly change the key again.

OBS Studio also has profile support, so you can have one profile for recording and one for livestreaming, which is really useful. They ideally need to roll more of the settings into profiles, as currently the amount that's stored per-profile is limited.

I hope this will help some of you when recording or livestreaming games on Linux. Article taken from GamingOnLinux.com.
Tags: Editorial, HOWTO
3 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
44 comments
Page: «4/5»
  Go to:

Grimfist Oct 28, 2016
Ah cool, thanks for the guide, was just setting up OBS on my Ubuntu machine to start streaming, and really wondered why I can't use gpu encoder in OBS like on Windows. Thanks Liam!

Now there is only one question left, does anyone know of a software tool which let's me configure the zoom of my webcam? Because my facecam captures a lot of my room and my face is to small. On windows I can just zoom in the capture settings of OBS, on Linux this option is missing, and Video4Linux2 doesn't have a zoom option. Some advice would be cool
fabertawe Oct 28, 2016
This was rather easy to install for me on Arch. Two AUR packages - nvidia-sdk and ffmpeg-nvenc. A very quick build later and it's working with obs-studio. No audio though as ALSA recording doesn't appear to work for me.

TheDaftRick - same here, I can only use simple mode.
NovenTheHero Oct 28, 2016
I usually use checkinstall to build my deb files. Should I use this instead:

debuild -us -uc -b

What are the advantages of both methods?
Aimela Oct 28, 2016
Quoting: staticx27<Cut for length>

Seems that neither method works for me. It just refuses to install.


Last edited by Aimela on 28 October 2016 at 4:03 pm UTC
pete910 Oct 28, 2016
View PC info
  • Supporter Plus
I rebuilt ffmpeg src rpm for magiea so I could use OBS with nvenc, That's what I recorded the Rocket League matches with.

I've found OBS can be a little unstable with it though. Have to be careful what settings you change .
Stebs Oct 28, 2016
Quoting: GuestIf you set output mode to Advanced and try to select nvenc there, does OBS crash for anyone else?

It works fine for me in simple mode, but crashes when selecting nvenc in advanced mode.
Yes, same here too. So I just use simple mode until this is fixed...
Trollwut Oct 28, 2016
Quoting: Stebs
Quoting: GuestIf you set output mode to Advanced and try to select nvenc there, does OBS crash for anyone else?

It works fine for me in simple mode, but crashes when selecting nvenc in advanced mode.
Yes, same here too. So I just use simple mode until this is fixed...

Unfortunatelly it also crashes for me when selecting it in simple mode. Exactly when I click it. :/

Arch user. Does anyone knows what may be the problem?
FlYeRoNe Oct 28, 2016
Hi Guys,

I hope someone of you can help me. I have tried the Autoscript from the 3 post of the user "kellerkindt". Well and as so often it does not work with me again. What is the problem, and how can I fix it so the script goes through without problems?



Hope you can help me!
boltronics Oct 29, 2016
Quoting: KithopYeah, just an FYI - if you're on a Debian-derivative (e.g. Ubuntu) and want proper ffmpeg packages?

I second this if the alternative is installing to /usr, although I usually build with pbuilder instead so I'm always building in a somewhat isolated clean environment. For personal use debuild should be fine.

My recording tool of choice is vokoscreen (which is also just a frontend for ffmpeg) and I make any final edits in OpenShot. I've never had the desire to live stream.
Seegras Oct 29, 2016
Quoting: dubigrasuYou can see it unboxed and tested by Penguin Recordings here:
View video on youtube.com
View video on youtube.com
Interesting. The hardware seems to be great -- with OBS, because a software such as Media Express which outputs as MJPEG AVI, and has no keyboard-shortcuts is obviously unusable.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.