jellyfin / jellyfin-ffmpeg

FFmpeg for Jellyfin
https://jellyfin.org
Other
436 stars 118 forks source link

Please add mfx support for QSV #351

Closed MekayelAnik closed 4 months ago

MekayelAnik commented 4 months ago

Please add MFX support for QSV. This can be done by: apt-get install libmfx-dev -y and then simply configuring FFmpeg at compilation as:

./configure  \
--enable-libmfx

Thanks in advance. I hope you will be add this in the future update. Regards

gnattu commented 4 months ago

I believe it is intentionally disabled in favor of libvpl.

Can you specify a use case where libvpl cannot be used but libmfx can?

nyanmisaka commented 4 months ago

Not an issue. MFX is deprecated in favor of VPL. VPL loader is backward compatible with MFX runtime.

MekayelAnik commented 4 months ago

Actually I am using jellyfin-ffmpeg in my docker container image which can be found here " mekayelanik/ispyagentdvr:gpu-hwaccel-latest for robust HWACCEL Support that is available with jellyfin-ffmpeg. In that image when trying to use the QSV then there is an error calling for mfx support not present. Therefore I am requesting, if there is no probability of breaking issues arising from this addition, please add this support. Or there is a way to use vpl instead of mfx explicitly? Thanks your rapid response. Regards

nyanmisaka commented 4 months ago

https://jellyfin.org/docs/general/administration/hardware-acceleration/intel#acceleration-methods

jellyfin-ffmpeg6 support Intel QSV on Broadwell(2015) and newer processors. If not, then it must be a configuration issue on your side.

End users should not care about MFX or VPL because Intel has considered seamless compatibility between them.

MekayelAnik commented 4 months ago

Maybe there is something with explicit use of MFX. The encoder is skipping the QSV as

no supported profile found

If enabling mfx doesn't break jellyfin-ffmpeg, can u please enable it?

nyanmisaka commented 4 months ago

That means the hardware is incapable of doing the job that you requested, such as encoding 10-bit video on Skylake, which is not supported at all.

Not only the 12th+ Gen Intel processors requires VPL, but also Arc discrete GPU requires VPL to do our AV1 encoding. MFX and VPL are mutually exclusive at build time. So If you insist on using MFX, download jellyfin-ffmpeg5 and call it a day.