Question / Help Nvidia NVENC not showing up

Sanyeri

New Member
So I have this problem of Nvidia NVENC not showing up on OBS 20.1.0 Linux Mint 18.2 Cinnamon, even tho I have Gigabyte Geforce GTX 1050 Ti. I have few screenshots where you can see the encoder not showing up, my system info, and finally I got a screenshot of something that has something to do with NVIDIA but I suck at that kind of troubleshooting so please help. :( (And I included some kind of a log file if you can see something in it that I didn't.)
 

Attachments

  • obsENKOODERI.png
    obsENKOODERI.png
    121.3 KB · Views: 323
  • terminalOBS.png
    terminalOBS.png
    305.5 KB · Views: 293
  • systemINFO.png
    systemINFO.png
    202.6 KB · Views: 228
  • 2017-11-04 20-50-12.txt
    2.8 KB · Views: 47

Fenrir

Forum Admin
You need to compile your FFmpeg to support nvenc. Most do not as it is considered non-free, IIRC.
 

Sanyeri

New Member
You need to compile your FFmpeg to support nvenc. Most do not as it is considered non-free, IIRC.
Hello, thanks for the quick answer. I tried my best to follow the instructions on https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu, but still I didn't have any results. After I did that, I rebooted my PC, and still didn't see any results. I removed OBS and re-installed it and while installing got that same terminal message as before, and no results. But does actually enabling NVENC make that big of a difference if I just leave the mystery unsolved?


-Sanyeri
 

Sanyeri

New Member
So while I'm running the script, i frequently (all the time non-stop) get this message (see image), and I don't even run the script to the end becouse I am pretty sure that it wont work just like that. So i'm assuming it's becouse it's 32bit stuff on my 64bit system? But shouldn't it still work? Should I just ignore all of those error messages or what should I do? =(
 

Attachments

  • wrongCLASS.png
    wrongCLASS.png
    288.4 KB · Views: 176

Sanyeri

New Member
So while I'm running the script, i frequently (all the time non-stop) get this message (see image), and I don't even run the script to the end becouse I am pretty sure that it wont work just like that. So i'm assuming it's becouse it's 32bit stuff on my 64bit system? But shouldn't it still work? Should I just ignore all of those error messages or what should I do? =(
Okay, so I googled my problem and came up with a solution from https://askubuntu.com/questions/454253/how-to-run-32-bit-app-in-ubuntu-64-bit and the script is currently running without that error. I'll give you an update after It's finished.
 

Sanyeri

New Member
Okay, so I googled my problem and came up with a solution from https://askubuntu.com/questions/454253/how-to-run-32-bit-app-in-ubuntu-64-bit and the script is currently running without that error. I'll give you an update after It's finished.
So while I was doing something else the bash window was closed so I assume the script was finished but after rebooting my machine didn't get any results. I re-installed OBS but still no results and the same "
/sbin/ldconfig.real: /usr/lib/nvidia-384/libEGL.so.1 is not a symbolic link

/sbin/ldconfig.real: /usr/lib32/nvidia-384/libEGL.so.1 is not a symbolic link" as before... maybe the bash window crashed for some reason without any message or I closed it by an accident...? Well, I'll probably just run the script once again and see what happens.

(edit. or maybe it's becouse I already tried different methods of compiling ffmpeg and have stuff already installed so... and when it asks whether to replace files witch already exists, I for the first one hit y (yes) and for the second one I hit a (all), and I don't actually know how to do this like when I hit all, does it do y or n or N (none) or rename or what or does it do it the same way I did with the first one? Since there are so many files that I can't be hitting y and enter to all of them.... this time I'll try to do the all for the first one.)


-Sanyeri
 
Last edited:

Sanyeri

New Member
So yeah, the compiling thingie didn't seem to work so I'm back at the starting line. What abount installing ubuntu-restricted-extras?
 

Fenrir

Forum Admin
Just so you're not waiting on me, I am not sure. This is a bit outside what I have personal experience with. I was able to compile ffmpeg with nvenc support without issues on my Xubuntu 16.04 system.
 

Sanyeri

New Member
Just so you're not waiting on me, I am not sure. This is a bit outside what I have personal experience with. I was able to compile ffmpeg with nvenc support without issues on my Xubuntu 16.04 system.
Hmmm.... Just wondering does nvenc make so big difference, like is there really any reason to even try anymore if it gets this complicated? Does it affect the performance so greatly?
 
Hmmm.... Just wondering does nvenc make so big difference, like is there really any reason to even try anymore if it gets this complicated? Does it affect the performance so greatly?

It depends on your hardware specs. If you are on hardware that suffers from software based encoding (i.e. you start dropping frames), then yes, hardware encoding is necessary as it releaves the pressure off your CPU and my personal experience it looks just as good as software encoding for most use cases.
 

Sanyeri

New Member
OH GOD BLESS! I switched to Kubuntu for other reasons and BOOM!, also NVENC is showing up now :). Thx everybody for the help, I really appreciate it.


-Sanyeri
 
There is definitely something wrong with the obs build provided on ppa:obsproject/obs-studio. Currently you don't need to rebuild ffmpeg to support nvenc (there is no --enable-nvenc option when you run ./configure --help from ffmpeg source tree root any more, there are flags to disable it only). Thus ubuntu's native ffmpeg has nvenc supported. So currently I'm in the state where obs does not show nvidia hardware acceleration available even though despite what I said above I did try to compile ffmpeg from source with those "needed" flags. So apparently there seems to be a bug in obs source code.
 
For those who comes here through googling. As of 17th of February 2018 obs build provided at ppa:obsproject/obs-studio as well as natively packaged ffmpeg build both have issues causing unavailability of nvidia hardware acceleration in obs. So I ended up building ffmpeg and obs from source which fixed the issue.
 

Johan Blome

New Member
Ok. I download the cuda package, installed it, build ffmpeg, build obs. Still no option...
I have no problem transcoding using hw in command line ffmpeg.
How do I debug this? What is obs triggering on?
I am not at home at the moment, so I cannot ad a log, sorry.
 

Johan Blome

New Member
I managed to get hvenc to work locally in the build directory...
I have instralled the exact same build binary (make install).
For some reson different libraries are opened when obs is run:
./obs:
lsof -p 3707|grep av
obs 3707 johan mem REG 8,2 756072 658518 /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
obs 3707 johan mem REG 8,2 704128 658514 /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
obs 3707 johan mem REG 8,2 2369400 13440970 /usr/local/lib/libavfilter.so.7.12.100
obs 3707 johan mem REG 8,2 83488 13440988 /usr/local/lib/libavdevice.so.58.1.100
obs 3707 johan mem REG 8,2 2365280 13440973 /usr/local/lib/libavformat.so.58.9.100
obs 3707 johan mem REG 8,2 424792 13440985 /usr/local/lib/libavutil.so.56.7.101
obs 3707 johan mem REG 8,2 13247824 13440976 /usr/local/lib/libavcodec.so.58.11.101


obs:
obs 3760 johan mem REG 8,2 756072 658518 /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
obs 3760 johan mem REG 8,2 704128 658514 /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
obs 3760 johan mem REG 8,2 137208 13243039 /usr/lib/x86_64-linux-gnu/libavresample-ffmpeg.so.2.1.0
obs 3760 johan mem REG 8,2 18608 13248048 /usr/lib/x86_64-linux-gnu/libavc1394.so.0.3.0
obs 3760 johan mem REG 8,2 1716576 13242455 /usr/lib/x86_64-linux-gnu/libavfilter-ffmpeg.so.5.40.101
obs 3760 johan mem REG 8,2 186496 13314660 /usr/lib/x86_64-linux-gnu/libavdevice-ffmpeg.so.56.4.100
obs 3760 johan mem REG 8,2 166208 13249207 /usr/lib/x86_64-linux-gnu/libwavpack.so.1.1.7
obs 3760 johan mem REG 8,2 374808 13249675 /usr/lib/x86_64-linux-gnu/libavutil-ffmpeg.so.54.31.100
obs 3760 johan mem REG 8,2 2090144 13249680 /usr/lib/x86_64-linux-gnu/libavformat-ffmpeg.so.56.40.101
obs 3760 johan mem REG 8,2 12030904 13250771 /usr/lib/x86_64-linux-gnu/libavcodec-ffmpeg.so.56.60.100
obs 3760 johan mem REG 8,2 2365280 13440973 /usr/local/lib/libavformat.so.58.9.100
obs 3760 johan mem REG 8,2 424792 13440985 /usr/local/lib/libavutil.so.56.7.101
obs 3760 johan mem REG 8,2 13247824 13440976 /usr/local/lib/libavcodec.so.58.11.101


How can this be? Why are two similar libs loaded (and with different versions...).
Using nvenc I can now stream and record locally without ANY cpu hit! Feels like magic :)
However, system wide installation is not ok yet.
Johan
 
Top