Closed allthesebugsv2 closed 2 years ago
Got the same issue since last update, was working perfectly before
Switching back to v10.7.2, and the HW encoding works again. But installing Jellyfin 10.7.5 outside of LS Docker works perfectly
Probably an upstream error, as I've got the same using the Jellyfin image. Created this issue jellyfin/jellyfin#5993
@foux I think your error might be a different one as your error message is not the same Also, I get the same results on previous Jellyfin versions.
We have the same problem
@foux 我认为您的错误可能是不同的,因为您的错误消息并不相同 此外,在以前的Jellyfin版本中,我得到的结果也是相同的。
same problem here
This issue should have been fixed in jellyfin-ffmpeg 4.3.2-1 with an updated libva 2.11. https://github.com/jellyfin/jellyfin-ffmpeg/issues/68
Does the 10.7.5 image still contain the old version of jellyfin-ffmpeg?
That's what the jellyfin repo provided as jellyfin-ffmpeg is a dependency of jellyfin
But it has been upgraded to 4.3.2-1 since April 23. https://repo.jellyfin.org/releases/server/ubuntu/versions/jellyfin-ffmpeg/4.3.2-1/
Depends: jellyfin-server, jellyfin-web, jellyfin-ffmpeg (>= 4.2.1-2)
jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb 23-Apr-2021 17:28
Here's the latest package check build log and when we requested jellyfin 10.7.5-1, repo provided jellyfin-ffmpeg 4.3.1-4-focal https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-jellyfin/detail/master/295/pipeline/123#step-136-log-226
For Debian based Jellyfin, the 10.7.5 installation provides jellyfin-ffmpeg-4.3.2-1, which is the one working with QSV. For Ubuntu based Jellyfin, it comes with 4.3.1-4 which has only VAAPI, I can confirm that manually upgrading to 4.3.2-1 on Ubuntu 20.04 allowing me to use QSV properly, please refer to this post.
I can confirm that deleting the outdated library file according to #107 and then installing jellyfin-ffmpeg_4.3.2-1-focal fixes QSV for me
I hard to hardcode the tag 10.7.2-1-ls110
to get QSV to work again
Thanks @allthesebugsv2, my fix in #107 was working until now but this morning it broke again. I can confirm that upgrading jellyfin-ffmpeg manually to 4.3.2-1 focal does indeed solve the problem, I hope this can be packaged in the next version of the image or it's going to break again on every update.
For those looking for it, here's how you manually upgrade it :
docker exec -it jellyfin /bin/bash
wget https://repo.jellyfin.org/releases/server/ubuntu/versions/jellyfin-ffmpeg/4.3.2-1/jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb
dpkg -i jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb
That's coming from the official jellyfin repo so it should be safe, but you'll have to do that after each update until this new version is packaged into the docker image upstream.
Thanks @allthesebugsv2, my fix in #107 was working until now but this morning it broke again. I can confirm that upgrading jellyfin-ffmpeg manually to 4.3.2-1 focal does indeed solve the problem, I hope this can be packaged in the next version of the image or it's going to break again on every update.
For those looking for it, here's how you manually upgrade it :
docker exec -it jellyfin /bin/bash wget https://repo.jellyfin.org/releases/server/ubuntu/versions/jellyfin-ffmpeg/4.3.2-1/jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb dpkg -i jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb
That's coming from the official jellyfin repo so it should be safe, but you'll have to do that after each update until this new version is packaged into the docker image upstream.
Interesting fact is, Jellyfin on Debian has a newer FFMPEG version than Ubuntu, which makes me feeling weird.
i have the same problem
Still happening. Or rather again? (did an update to container)
To fix inability to transcode update jellyfin-ffmpeg to 4.3.2-1
.
My Linuxserver Jellyfin container didn't have wget
installed, so we can use curl
:
docker exec -it jellyfin /bin/bash
curl -LO https://repo.jellyfin.org/releases/server/ubuntu/versions/jellyfin-ffmpeg/4.3.2-1/jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb
dpkg -i jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb
https://blog.linuxserver.io/2019/09/14/customizing-our-containers/
By creating a 'custom-cont-init.d' folder in the /config directory, and then inside that folder creating a bash script with the curl and dpkg commands, it will be executed everytime you recreate the image. I.e. you don't have to manually update ffmpeg.
Hi,
Thanks @FrederikHaa, I wasn't aware of that feature, it works like a charm. This issue though should stay open as this is only a workaround, the version of ffmpeg shipping in the container image should still be fixed.
We install the version jellyfin sets as a dependency, it's not something we control.
version of ffmpeg shipping in the container image should still be fixed
We install the version jellyfin sets as a dependency, it's not something we control.
version of ffmpeg shipping in the container image should still be fixed
Can we please get a link to the place we need to submit this issue to?
Already reported here https://github.com/jellyfin/jellyfin/issues/5993
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Looks like there's a new problem that requires downgrading the driver, here's a updated script for anyone who started having problems again recently :
$ cat /config/custom-cont-init.d/update-ffmpeg.sh
#!/bin/bash
echo "**** Updating ffmpeg ****"
cd /tmp
curl -LO https://repo.jellyfin.org/releases/server/ubuntu/versions/jellyfin-ffmpeg/4.3.2-1/jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb
dpkg -i jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb
echo "**** Downgrading intel drivers ****"
curl -LO https://repositories.intel.com/graphics/ubuntu/pool/main/i/intel-media-driver-non-free/intel-media-va-driver-non-free_21.2.2+i593~u20.04_amd64.deb
dpkg -i intel-media-va-driver-non-free_21.2.2+i593~u20.04_amd64.deb
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Still an issue.
The solution to this seems like it would be to compile an ffmpeg specifically for the drivers this image ends up using so that we know for sure it'll always have the right hwaccel drivers and ffmpeg version.
Here’s an updated script for the unstable tag (10.8.0), for some reason a dependency for the driver is missing with default install.
#!/bin/bash
echo "**** Updating ffmpeg ****"
cd /tmp
curl -LO https://repo.jellyfin.org/releases/server/ubuntu/versions/jellyfin-ffmpeg/4.3.2-1/jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb
dpkg -i jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb
echo "**** Fixing intel drivers in place ****"
curl -LO https://repositories.intel.com/graphics/ubuntu/pool/main/i/intel-gmmlib/libigdgmm11_21.2.2+i620~u20.04_amd64.deb
dpkg -i libigdgmm11_21.2.2+i620~u20.04_amd64.deb
curl -LO https://repositories.intel.com/graphics/ubuntu/pool/main/i/intel-media-driver-non-free/intel-media-va-driver-non-free_21.2.2+i593~u20.04_amd64.deb
dpkg -i intel-media-va-driver-non-free_21.2.2+i593~u20.04_amd64.deb
@omeryagmurlu Another combination you could try is unstable (10.8.0) with @nyanmisaka's ffmpeg 4.4
and QSV 21.3.x
#!/bin/bash
cd /tmp
echo "**** Update drivers to 21.3.1 ****"
curl -s https://repositories.intel.com/graphics/intel-graphics.key | apt-key add -
echo 'deb [arch=amd64] https://repositories.intel.com/graphics/ubuntu focal main' > /etc/apt/sources.list.d/intel-graphics.list
apt-get update
apt-get install -y intel-media-va-driver-non-free unzip
echo "**** Update to jellyfin-ffmpeg_4.4 ****"
curl -Lo jellyfin-ffmpeg.zip https://nightly.link/nyanmisaka/jellyfin-ffmpeg/suites/3765849982/artifacts/92607185
unzip jellyfin-ffmpeg.zip
dpkg -i jellyfin-ffmpeg_4.4-1-focal_amd64.deb
any news?
this doesn't work, nothing does
dpkg -i intel-media-va-driver-non-free_21.2.2+i593~u20.04_amd64.deb
We still get spinning cirlce and this;
[h264_qsv @ 0x557545827000] Error initializing the MFX video decoder: invalid video parameters (-15) Error while decoding stream #0:1: Invalid argument
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This issue is still relevant.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Still an issue
definitely still an issue
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Still happening
Still happening on latest 10.8
.
10.8 from linuxserver solves it from me, the updated ffmpeg and libs are working as expected
Still happening on latest
10.8
.
This shouldn't be an issue in 10.8 and jellyfin-ffmpeg5.
Can confirm this is working (though not tested on TrueNAS Scale)
Still happening on latest
10.8
.This shouldn't be an issue in 10.8 and jellyfin-ffmpeg5.
So I have an older jellyfin-ffmpeg
in the latest Linuxserver Docker of Jellyfin 10.8
?
root@Jellyfin:/# /usr/lib/jellyfin-ffmpeg/ffmpeg
ffmpeg version 4.4.1-Jellyfin Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
jellyfin:
container_name: jellyfin
devices:
- /dev/dri:/dev/dri
environment:
- PUID=1000
- PGID=100
- JELLYFIN_PublishedServerUrl=192.168.1.4
hostname: Jellyfin
image: linuxserver/jellyfin
Some HEVC content works, others show this:
[AVHWDeviceContext @ 0x55fb8014d8c0] Failed to get number of OpenCL platforms: -1001.
Device creation failed: -19.
Failed to set value 'opencl=ocl@va' for option 'init_hw_device': No such device
Error parsing global options: No such device
When it works it looks normal like this:
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_qsv))
Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Latest image has:
root@fa33318e74b6:/# /usr/lib/jellyfin-ffmpeg/ffmpeg
ffmpeg version 5.0.1-Jellyfin Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
Also shows it here: https://github.com/linuxserver/docker-jellyfin/blob/master/package_versions.txt#L39
Still happening on latest
10.8
.This shouldn't be an issue in 10.8 and jellyfin-ffmpeg5.
So I have an older
jellyfin-ffmpeg
in the latest Linuxserver Docker of Jellyfin10.8
?root@Jellyfin:/# /usr/lib/jellyfin-ffmpeg/ffmpeg ffmpeg version 4.4.1-Jellyfin Copyright (c) 2000-2021 the FFmpeg developers built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
jellyfin: container_name: jellyfin devices: - /dev/dri:/dev/dri environment: - PUID=1000 - PGID=100 - JELLYFIN_PublishedServerUrl=192.168.1.4 hostname: Jellyfin image: linuxserver/jellyfin
Some HEVC content works, others show this:
[AVHWDeviceContext @ 0x55fb8014d8c0] Failed to get number of OpenCL platforms: -1001. Device creation failed: -19. Failed to set value 'opencl=ocl@va' for option 'init_hw_device': No such device Error parsing global options: No such device
When it works it looks normal like this:
Stream mapping: Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_qsv)) Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Did you forget to remove the script in the cont init folder that updated ffmpeg to fix it on 10.7 ?
Good tip! I did try something like that before, but it seems my folders were empty where those scripts would have gone (custom-cont-init.d
, custom-services.d
).
I ended up completely wiping the container and image and re-downloading it from scratch. That seems to have worked.
ffmpeg version 5.0.1-Jellyfin Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
So if anyone has the same issues try that. However, it still fails even with this newest version.
ffmpeg version 5.0.1-Jellyfin Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3 --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-shared --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-static --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 57. 17.100 / 57. 17.100
libavcodec 59. 18.100 / 59. 18.100
libavformat 59. 16.100 / 59. 16.100
libavdevice 59. 4.100 / 59. 4.100
libavfilter 8. 24.100 / 8. 24.100
libswscale 6. 4.100 / 6. 4.100
libswresample 4. 3.100 / 4. 3.100
libpostproc 56. 3.100 / 56. 3.100
[AVHWDeviceContext @ 0x5606b8f7e180] Failed to get number of OpenCL platforms: -1001.
Device creation failed: -19.
Failed to set value 'opencl=ocl@va' for option 'init_hw_device': No such device
Error parsing global options: No such device
Sorry for the spam. Figured out the issue. I never had - DOCKER_MODS=linuxserver/mods:jellyfin-opencl-intel
in my Docker Compose.
This allows the VPP Tone mapping
to work (and my HDR HEVC transcode), but it looks a bit too dark. If I try to enable the other one (Enable Tone Mapping
), it tells me the video is incompatible again. Is this an intended limitation or if VPP works so should the second method?
Expected Behavior
QuickSync hardware acceleration should work.
Current Behavior
Videos are not playing with QuickSync enabled. After disabling hardware acceleration they work fine. VAAPI also works fine.
Steps to Reproduce
Note that I first had to delete the outdated library file according to #107
Environment
OS: Debian 11 (TrueNAS Scale) CPU architecture: Intel J5040 How docker service was installed: Comes preinstalled from the distro repo Docker Container Version Jellyfin 10.7.5 (last pulled on 5th May 21)
Command used to create docker container (run/create/compose/screenshot)
Docker logs
Error when trying to play a movie with