Question: Why doesn't OBS use newer ffmpeg libraries? And will hardware accelerated encodeing (ffmpeg -hwaccel options) ever be added?

HunterAP23

New Member
Just a couple of questions I was curious about. First, how come OBS doesn't use ffmpeg libraries from something like the newest stable release of ffmpeg? I understand it requires viewing ffmpeg change logs and modifying some library importing code, but it should be a fairly easy feat to do. I'm not sure if newer ffmpeg builds have any sort of optimizations for better performance, but I'm sure it does help with fixing bugs and adding some features.

The second question is if things like ffmpeg's hardware acceleration will ever be usable for video encoding? I know OBS can already utilize Nvidia GPU's Nvenc encoders in H264 and H265/HEVC variants, but I'm asking about ffmpeg's hwaccel command specifically. For example, my Windows 10 system with a GTX 1080 supports hwaccle options in ffmpeg such as dxva2, qsv, d3d11va, cuda, and cuvid. dxva2 is Windows DirectX 9, QSV is Intel QuickSync, d3d11va is DirectX 11, and Cuda + Cuvid are Nvidia. In an ffmpeg encode test, using hwaccel options of cuda or cuvid allows for faster decoding and encoding, which could translate to possibly better performance in OBS recordings when using the GPU encoder.


(Small note, I'm using a Ryzen R7 2700X and yet ffmpeg is stil lshwoing QSV as a possible hardware acceleration option, so they still have bugs like that. Thought this was kind of funny).
 

Osiris

Active Member
OBS already has hardware encode options (NVENC, QSV, AMD AMF) and the only one that uses ffmpeg for that is NVENC. The only thing that could really be improved is supporting hardware accelerated decoding in the media source.
 
Top