Closed xarblu closed 1 week ago
@xarblu Do you have a sample clip that can reproduce the problem?
@xarblu Do you have a sample clip that can reproduce the problem?
https://github.com/user-attachments/assets/a0a6b466-fef1-49a8-a3e7-1b7a4f4bde9a
This clip reliably reproduces the issue for me. If you want I can also provide a screen recording to show what it looks like.
This seems to be an issue in ffmpeg6, can you upgrade to jellyfin 10.9.9 and try out the ffmpeg7 we are working on?
FFmpeg7 seems to fix this issue, thanks!
Should this be closed then or does it depend on the ffmpeg7 PR?
FFmpeg7 seems to fix this issue, thanks!
Should this be closed then or does it depend on the ffmpeg7 PR?
You can keep this open until jellyfin-ffmpeg7 is released.
Not directly the issue, but in July Intel devs finally enabled advanced hw-deinterlace(ADI) in iHD (intel-media-driver). It had forever been enabled in the i965 intel-vaapi-driver and the quality was excellent. Now the iHD is no more limited to BOB, but can also do Motion Adaptive (MADI) and Motion Compensated (MCDI) in hardware. The relevant commit: https://github.com/intel/media-driver/commit/8017d9c9246ce1960e5beb7d2db040935a246272 . Ffmpeg should already be able to handle this, as it was enabled long ago in the old vaapi-driver. Howver, AFAIK vpp_qsv only has "MFX_DEINTERLACING_ADVANCED" but still better than BOB. I hope to see this eventually also in Jellyfin... (dreaming of a fully GPU transcode pipeline without memcopies).
Not directly the issue, but in July Intel devs finally enabled advanced hw-deinterlace(ADI) in iHD (intel-media-driver). It had forever been enabled in the i965 intel-vaapi-driver and the quality was excellent. Now the iHD is no more limited to BOB, but can also do Motion Adaptive (MADI) and Motion Compensated (MCDI) in hardware. The relevant commit: intel/media-driver@8017d9c . Ffmpeg should already be able to handle this, as it was enabled long ago in the old vaapi-driver. Howver, AFAIK vpp_qsv only has "MFX_DEINTERLACING_ADVANCED" but still better than BOB. I hope to see this eventually also in Jellyfin... (dreaming of a fully GPU transcode pipeline without memcopies).
This is a limitation caused by the mis-alignment between iHD driver and VA-API interface definition, not sure why they delayed it for so long. We just need to update iHD and VPL runtime to 24.3.1+ in our next release. As for the zero-copy pipeline, we have supported it for years.
This issue respects the following points:
Description of the bug
When QSV is chosen as hardware acceleration (de- & encoder) the produced video stream is "choppy" (looks like low fps)
Reproduction steps
What is the current bug behavior?
The video playback stutters/has low fps.
What is the expected correct behavior?
Should play back smooth.
Jellyfin Server version
10.9.8+
Specify commit id
No response
Specify unstable release number
No response
Specify version number
No response
Specify the build version
10.9.8
Environment
Jellyfin logs
FFmpeg logs
Client / Browser logs
No response
Relevant screenshots or videos
No response
Additional information
For testing I copied the FFmpeg command and had it write to a .mkv, then findings being:
deinterlace_qsv=mode=2
: output with double fps, progressive frames, stutteringdeinterlace_qsv
: output of same fps, also progressive frames, no stutteringI'm no expert on the QSV stack but could it be possible that
deinterlace_qsv=mode=2
isn't necessary here and deinterlacing is already covered bycodec_qsv
decoding?