Since no dev has chimed in yet, I did some investigation of my own. If I understand correctly, OBS uses the FFmpeg that I have installed - the following seems to agree:
Code:
[koz@Sebastian ~]$ ldd $(which obs)
linux-vdso.so.1 (0x00007ffc247f8000)
libQt5Svg.so.5 => /usr/lib/libQt5Svg.so.5 (0x00007f4fb5c4f000)
libobs-frontend-api.so.0 => /usr/lib/libobs-frontend-api.so.0 (0x00007f4fb5c47000)
libavcodec.so.58 => /usr/lib/libavcodec.so.58 (0x00007f4fb46ef000)
libavutil.so.56 => /usr/lib/libavutil.so.56 (0x00007f4fb45d4000)
libavformat.so.58 => /usr/lib/libavformat.so.58 (0x00007f4fb4370000)
libcurl.so.4 => /usr/lib/libcurl.so.4 (0x00007f4fb42e4000)
libQt5X11Extras.so.5 => /usr/lib/libQt5X11Extras.so.5 (0x00007f4fb42db000)
libQt5Widgets.so.5 => /usr/lib/libQt5Widgets.so.5 (0x00007f4fb3c44000)
libobs.so.0 => /usr/lib/libobs.so.0 (0x00007f4fb3b79000)
libQt5Gui.so.5 => /usr/lib/libQt5Gui.so.5 (0x00007f4fb3597000)
libQt5Core.so.5 => /usr/lib/libQt5Core.so.5 (0x00007f4fb301f000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f4fb2e37000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f4fb2cef000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f4fb2cd5000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f4fb2cb4000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f4fb2af1000)
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f4fb5f2f000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f4fb28da000)
libswresample.so.3 => /usr/lib/libswresample.so.3 (0x00007f4fb28ba000)
libvpx.so.6 => /usr/lib/libvpx.so.6 (0x00007f4fb2596000)
libwebpmux.so.3 => /usr/lib/libwebpmux.so.3 (0x00007f4fb258a000)
libwebp.so.7 => /usr/lib/libwebp.so.7 (0x00007f4fb251a000)
liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f4fb22f4000)
libdav1d.so.1 => /usr/lib/libdav1d.so.1 (0x00007f4fb21db000)
libopencore-amrwb.so.0 => /usr/lib/libopencore-amrwb.so.0 (0x00007f4fb21c5000)
libaom.so.0 => /usr/lib/libaom.so.0 (0x00007f4fb1d6e000)
libgsm.so.1 => /usr/lib/libgsm.so.1 (0x00007f4fb1b62000)
libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0x00007f4fb18e9000)
libopencore-amrnb.so.0 => /usr/lib/libopencore-amrnb.so.0 (0x00007f4fb18be000)
libopenjp2.so.7 => /usr/lib/libopenjp2.so.7 (0x00007f4fb1861000)
libopus.so.0 => /usr/lib/libopus.so.0 (0x00007f4fb1803000)
libspeex.so.1 => /usr/lib/libspeex.so.1 (0x00007f4fb17e6000)
libtheoraenc.so.1 => /usr/lib/libtheoraenc.so.1 (0x00007f4fb15a7000)
libtheoradec.so.1 => /usr/lib/libtheoradec.so.1 (0x00007f4fb138d000)
libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00007f4fb1161000)
libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x00007f4fb0eb8000)
libx264.so.157 => /usr/lib/libx264.so.157 (0x00007f4fb0bed000)
libx265.so.176 => /usr/lib/libx265.so.176 (0x00007f4faf96b000)
libxvidcore.so.4 => /usr/lib/libxvidcore.so.4 (0x00007f4faf65a000)
libva.so.2 => /usr/lib/libva.so.2 (0x00007f4faf635000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f4faf630000)
libva-drm.so.2 => /usr/lib/libva-drm.so.2 (0x00007f4faf62b000)
libva-x11.so.2 => /usr/lib/libva-x11.so.2 (0x00007f4faf623000)
libvdpau.so.1 => /usr/lib/libvdpau.so.1 (0x00007f4faf61c000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f4faf4dc000)
libdrm.so.2 => /opt/amdgpu/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f4faf2c7000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007f4faf15f000)
libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f4faf14c000)
libmodplug.so.1 => /usr/lib/libmodplug.so.1 (0x00007f4faefc1000)
libbluray.so.2 => /usr/lib/libbluray.so.2 (0x00007f4faef6f000)
libgmp.so.10 => /usr/lib/libgmp.so.10 (0x00007f4faeedb000)
libgnutls.so.30 => /usr/lib/libgnutls.so.30 (0x00007f4faed1a000)
libssh.so.4 => /usr/lib/libssh.so.4 (0x00007f4faec93000)
libnghttp2.so.14 => /usr/lib/libnghttp2.so.14 (0x00007f4faec6b000)
libidn2.so.0 => /usr/lib/libidn2.so.0 (0x00007f4faec4c000)
libssh2.so.1 => /usr/lib/libssh2.so.1 (0x00007f4faec19000)
libpsl.so.5 => /usr/lib/libpsl.so.5 (0x00007f4faec06000)
libssl.so.1.1 => /usr/lib/libssl.so.1.1 (0x00007f4faeb76000)
libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x00007f4fae8a1000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00007f4fae851000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x00007f4fae764000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00007f4fae72e000)
libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x00007f4fae728000)
libxcb-xinput.so.0 => /usr/lib/libxcb-xinput.so.0 (0x00007f4fae703000)
libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007f4fae6b9000)
libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007f4fae6b4000)
libpulse.so.0 => /usr/lib/libpulse.so.0 (0x00007f4fae661000)
libjansson.so.4 => /usr/lib/libjansson.so.4 (0x00007f4fae650000)
libswscale.so.5 => /usr/lib/libswscale.so.5 (0x00007f4fae5c3000)
libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f4fae530000)
libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f4fae4f8000)
libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007f4fae40a000)
libicui18n.so.64 => /usr/lib/libicui18n.so.64 (0x00007f4fae115000)
libicuuc.so.64 => /usr/lib/libicuuc.so.64 (0x00007f4fadf3b000)
libdouble-conversion.so.3 => /usr/lib/libdouble-conversion.so.3 (0x00007f4fadf24000)
libzstd.so.1 => /usr/lib/libzstd.so.1 (0x00007f4fade7c000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f4fadd5a000)
libsoxr.so.0 => /usr/lib/libsoxr.so.0 (0x00007f4fadae6000)
libogg.so.0 => /usr/lib/libogg.so.0 (0x00007f4fad8dd000)
libmvec.so.1 => /usr/lib/libmvec.so.1 (0x00007f4fad8b1000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x00007f4fad89c000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007f4fad696000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f4fad66c000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f4fad623000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f4fad555000)
libp11-kit.so.0 => /usr/lib/libp11-kit.so.0 (0x00007f4fad424000)
libunistring.so.2 => /usr/lib/libunistring.so.2 (0x00007f4fad0a4000)
libtasn1.so.6 => /usr/lib/libtasn1.so.6 (0x00007f4fad08e000)
libnettle.so.7 => /usr/lib/libnettle.so.7 (0x00007f4fad054000)
libhogweed.so.5 => /usr/lib/libhogweed.so.5 (0x00007f4fad019000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007f4fad00e000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x00007f4facfff000)
libkeyutils.so.1 => /usr/lib/libkeyutils.so.1 (0x00007f4facff8000)
libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007f4facfdf000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f4facfd8000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f4facfd0000)
libelogind.so.0 => /usr/lib/libelogind.so.0 (0x00007f4facf47000)
libpulsecommon-12.2.so => /usr/lib/pulseaudio/libpulsecommon-12.2.so (0x00007f4facec3000)
libGLX.so.0 => /usr/lib/libGLX.so.0 (0x00007f4face90000)
libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0 (0x00007f4facdd2000)
libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007f4facdad000)
libicudata.so.64 => /usr/lib/libicudata.so.64 (0x00007f4fab369000)
libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f4fab2f6000)
libgomp.so.1 => /usr/lib/libgomp.so.1 (0x00007f4fab2bd000)
libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f4fab28e000)
libuuid.so.1 => /usr/lib/libuuid.so.1 (0x00007f4fab285000)
libffi.so.6 => /usr/lib/libffi.so.6 (0x00007f4fab27a000)
libsndfile.so.1 => /usr/lib/libsndfile.so.1 (0x00007f4fab1fe000)
libasyncns.so.0 => /usr/lib/libasyncns.so.0 (0x00007f4fab1f6000)
libFLAC.so.8 => /usr/lib/libFLAC.so.8 (0x00007f4fab1b5000)
According to my system-wide FFmpeg installation, it
was compiled with the VP9 option:
Code:
[koz@Sebastian ~]$ ffmpeg -version
ffmpeg version n4.2 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.1.0 (GCC)
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
This is doubly confirmed by the fact that, using FFmpeg from the command line, I can encode VP9 using hardware encoding (vp9_vaapi) just fine. This doesn't appear to be FFmpeg-related to me.