linuxserver / docker-jellyfin

GNU General Public License v3.0
673 stars 102 forks source link

Issues with HW acceleration #142

Closed Pl1997 closed 2 years ago

Pl1997 commented 2 years ago

linuxserver.io

I tried to install Jellyfin yesterday, in Docker, with this image, on my QNAP TS-251A (celeron N3060). I had a LOT of difficulties to make HW acceleration work, but I'm not sure if it is caused by one big issue or several smaller ones.


Expected Behavior

In a perfect world, HW acceleration should work out of the box by following README instructions

Current Behavior

I had to do a huge amount of trial and error in order to make it work, getting inspiration in older issues filed on this repository.

Steps to Reproduce

I started by installing in Docker the latest image, version 10.7.7-1-ls150. As soon as I tried to play something, the UI showed this error : This client isn't compatible with the media and the server isn't sending a compatible media format

For starters, I had to add a script to custom-cont-init.d in order to fix /dev/dri permissions (original idea by @fmanno in https://github.com/linuxserver/docker-jellyfin/issues/26#issuecomment-618089750_ , I only changed chmod 755 to chmod 777).

Then I got errors in the log about driver iHD failing to initiate (libva: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed.) After a bit of searching, I think that my processor might be too old for this driver (not completely sure). I chose to go with i965 driver so I added a first env variable in the container (not documented in README) : LIBVA_DRIVER_NAME=i965 .

Trying to make it work, I found out that the driver had been removed from the usual directory (#102), so I had to point the system to the driver embedded in FFMPEG, with an other env variable, not documented either : LIBVA_DRIVERS_PATH=/usr/lib/jellyfin-ffmpeg/lib/dri

(Side note, I ended up getting a bit better results by installing instead i965-va_drivers_shaders with a simple apt install i965-va-driver-shaders, in the container's — still based on latest image — console connected as root. After that I could get rid of the LIBVA_DRIVERS_PATH variable)

After that, I still couldn't get Jellyfin to transcode (still with the error about driver iHD failing to initiate in the logs... strangely, since I configured i965 as preferred driver). I finally managed to make it work by downgrading ffmpeg, as suggested by @lemystere in https://github.com/linuxserver/docker-jellyfin/issues/129#issuecomment-995212155_ .

Trying to get a better understanding of the issue, I managed to make it work with a prior version of the image (10.7.7-ls146, as suggested in #141), following all of above steps, but without downgrading ffmpeg. However I'm not sure whether the HW acceleration is effectively working, since although the video does play (instead of getting "This client isn't compatible with the media and the server isn't sending a compatible media format"), I do have a strange and never-seen-before message in Jellyfin logs : libva: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so has no function __vaDriverInit_1_0.

Environment

OS: QTS 5.0 CPU architecture: x86_64 How docker service was installed: Integrated in « Container Station » (official app by QNAP), managed via Portainer

Command used to create docker container (run/create/compose/screenshot)

I used the Portainer GUI to configure my installation, making sure that every parameter listed in your README was taken into account.

Here is a screenshot of the container details after install (please ignore the "LIBVA_DRIVERS_PATH_back variable, which is only a reminiscence from my debugging attempts — more on that below).

image image

Docker logs

I can provide any extra log you want, of any installation mentioned above (I kept all of them for future research/reference).

Here is the one from the first installation, following the README (without the extra ENVIRONMENT VARIABLES), but with the script fixing /dev/dri permissions at startup.


[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01-envfile: executing... 
[cont-init.d] 01-envfile: exited 0.
[cont-init.d] 01-migrations: executing... 
[migrations] started
[migrations] no migrations found
[cont-init.d] 01-migrations: exited 0.
[cont-init.d] 10-adduser: executing... 
usermod: no changes

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/

Brought to you by linuxserver.io
-------------------------------------

To support the app dev(s) visit:
Jellyfin: https://opencollective.com/jellyfin

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    911
User gid:    911
-------------------------------------

[cont-init.d] 10-adduser: exited 0.
[cont-init.d] 30-config: executing... 
[cont-init.d] 30-config: exited 0.
[cont-init.d] 40-gid-video: executing... 
[cont-init.d] 40-gid-video: exited 0.
[cont-init.d] 90-custom-folders: executing... 
[cont-init.d] 90-custom-folders: exited 0.
[cont-init.d] 99-custom-scripts: executing... 
[custom-init] files found in /config/custom-cont-init.d executing
[custom-init] fix-dri-permissions: executing...
Running: chmod 777 /dev/dri/*
[custom-init] fix-dri-permissions: exited 0
[cont-init.d] 99-custom-scripts: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[13:24:49] [INF] [1] Main: Jellyfin version: 10.7.7
[13:24:49] [INF] [1] Main: Environment Variables: ["[JELLYFIN_CACHE_DIR, /config/cache]", "[JELLYFIN_DATA_DIR, /config/data]", "[JELLYFIN_LOG_DIR, /config/log]", "[JELLYFIN_CONFIG_DIR, /config]"]
[13:24:49] [INF] [1] Main: Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg", "--webdir=/usr/share/jellyfin/web"]
[13:24:49] [INF] [1] Main: Operating system: Linux
[13:24:49] [INF] [1] Main: Architecture: X64
[13:24:49] [INF] [1] Main: 64-Bit Process: True
[13:24:49] [INF] [1] Main: User Interactive: True
[13:24:49] [INF] [1] Main: Processor count: 2
[13:24:49] [INF] [1] Main: Program data path: /config/data
[13:24:49] [INF] [1] Main: Web resources path: /usr/share/jellyfin/web
[13:24:49] [INF] [1] Main: Application directory: /usr/lib/jellyfin/bin/
[13:24:51] [INF] [1] Emby.Server.Implementations.AppBase.BaseConfigurationManager: Setting cache path: /config/cache
[13:24:51] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN addresses : [127.0.0.1/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16]
[13:24:51] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Defined LAN exclusions : []
[13:24:51] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using LAN addresses: [127.0.0.1/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16]
[13:24:51] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using bind addresses: []
[13:24:51] [INF] [1] Jellyfin.Networking.Manager.NetworkManager: Using bind exclusions: []
[13:24:51] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loading assemblies
[13:24:58] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: OMDb 10.7.7.0
[13:24:58] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: MusicBrainz 10.7.7.0
[13:24:58] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded plugin: AudioDB 10.7.7.0
[13:24:59] [INF] [1] Main: Kestrel listening on Any IP4 Address
[13:25:01] [WRN] [1] Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository: Using an in-memory repository. Keys will not be persisted to storage.
[13:25:01] [WRN] [1] Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager: Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits.
[13:25:01] [WRN] [1] Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager: No XML encryptor configured. Key {bd27022f-1a59-4506-a4f2-a3a7211547e7} may be persisted to storage in unencrypted form.
[13:25:02] [INF] [1] Emby.Server.Implementations.ApplicationHost: Running startup tasks
[13:25:02] [INF] [1] Emby.Server.Implementations.ScheduledTasks.TaskManager: Daily trigger for Extraire les images de chapitre set to fire at 01/22/2022 02:00, which is 12:34:57.3911759 from now.
[13:25:03] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Found ffmpeg version 4.4.1
[13:25:03] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available decoders: ["h264", "h264_qsv", "h264_cuvid", "hevc", "hevc_qsv", "hevc_cuvid", "mpeg2video", "mpeg2_qsv", "mpeg2_cuvid", "mpeg4", "mpeg4_cuvid", "msmpeg4", "vc1_qsv", "vc1_cuvid", "vp8_cuvid", "vp8_qsv", "vp9_cuvid", "vp9_qsv", "aac", "ac3", "flac", "mp3"]
[13:25:03] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available encoders: ["libx264", "h264_amf", "h264_nvenc", "h264_qsv", "h264_v4l2m2m", "h264_vaapi", "libx265", "hevc_amf", "hevc_nvenc", "hevc_qsv", "hevc_vaapi", "mpeg4", "msmpeg4", "libvpx", "libvpx-vp9", "aac", "ac3", "flac", "libmp3lame", "libopus", "libvorbis", "srt"]
[13:25:03] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available hwaccel types: ["vdpau", "cuda", "vaapi", "qsv", "drm", "opencl"]
[13:25:03] [INF] [1] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: FFmpeg: Custom: /usr/lib/jellyfin-ffmpeg/ffmpeg
[13:25:03] [INF] [1] Emby.Server.Implementations.ApplicationHost: ServerId: 67a0b2e2ec724b649dc0999391b8c3f5
[13:25:03] [INF] [1] Emby.Dlna.Main.DlnaEntryPoint: Registering publisher for urn:schemas-upnp-org:device:MediaServer:1 on 10.0.3.3/24
[13:25:03] [INF] [1] Emby.Server.Implementations.ApplicationHost: Executed all pre-startup entry points in 0:00:00.5719818
[13:25:03] [INF] [1] Emby.Server.Implementations.ApplicationHost: Core startup complete
[13:25:05] [WRN] [5] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://10.0.3.3:8096/dlna/67a0b2e2ec724b649dc0999391b8c3f5/description.xml to 10.0.3.1 in 0:00:01.1562726 with Status Code 200
[13:25:05] [WRN] [14] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://10.0.3.3:8096/dlna/67a0b2e2ec724b649dc0999391b8c3f5/description.xml to 10.0.3.1 in 0:00:01.1562603 with Status Code 200
[13:25:05] [WRN] [4] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://10.0.3.3:8096/dlna/67a0b2e2ec724b649dc0999391b8c3f5/description.xml to 10.0.3.1 in 0:00:01.1327712 with Status Code 200
[13:25:05] [WRN] [17] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://192.168.3.190:8096/system/info/public to 192.168.3.6 in 0:00:01.3219282 with Status Code 200
[13:25:05] [INF] [5] Emby.Server.Implementations.IO.LibraryMonitor: Watching directory /movies
[13:25:05] [INF] [1] Emby.Server.Implementations.ApplicationHost: Executed all post-startup entry points in 0:00:01.7988313
[13:25:05] [INF] [1] Main: Startup complete 0:00:18.2432491
[13:25:05] [INF] [5] Emby.Server.Implementations.ScheduledTasks.TaskManager: StartupTrigger fired for task: Mettre à jour les extensions
[13:25:05] [INF] [5] Emby.Server.Implementations.ScheduledTasks.TaskManager: Queuing task PluginUpdateTask
[13:25:05] [INF] [5] Emby.Server.Implementations.ScheduledTasks.TaskManager: Executing Mettre à jour les extensions
[13:25:06] [INF] [14] Emby.Server.Implementations.ScheduledTasks.TaskManager: Mettre à jour les extensions Completed after 0 minute(s) and 1 seconds
[13:25:07] [INF] [14] Emby.Server.Implementations.ScheduledTasks.TaskManager: ExecuteQueuedTasks
github-actions[bot] commented 2 years ago

Thanks for opening your first issue here! Be sure to follow the bug or feature issue templates!

Roxedus commented 2 years ago

We do not ask for logs or command to be offered on demand, please add them to the issue.

Pl1997 commented 2 years ago

We do not ask for logs or command to be offered on demand, please add them to the issue.

Sorry, I wanted to do well, by avoiding to add maybe unnecessary logs... I just added a log of an installation configured as the README says.

lemystere commented 2 years ago

Also, can you add the docker installation please.

Pl1997 commented 2 years ago

Also, can you add the docker installation please.

Sorry, I’m not sure to understand precisely what you’re asking for… About the main docker installation, it is the one provided by my NAS vendor (QNAP), and about the container installation in Docker, I didn’t use a docker compose or run file but the Portainer GUI, so I don’t really know what extra material I could provide

lemystere commented 2 years ago

Hell, you had to write things to install Jellyfin on Portainer, right ? This is important to know if you have the good config

Pl1997 commented 2 years ago

No I didn’t, unfortunately… The Portainer GUI provides a large set of various options and switches, I tweaked them to match the readme. More specifically, I chose the right image, I mounted /dev/dri as a device, I published the needed ports, I binded the paths to the library folders, and checked the option to restart unless stopped. At first, everything else remained default, I only added the environment variables for LIBVA in later attempts.

vidschofelix commented 2 years ago

i'm not 100% sure if my problem is connected and i'm not that deep into drivers and hardware accelleration, but since some days (not sure) my hardware acceleration also struggles. I had success by adding the non 'non-free', so the free intel va driver. Not sure why this works. inside the container: apt update && apt install intel-media-va-driver

before:

[AVHWDeviceContext @ 0x55cf2cdbc7c0] libva: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed Input #0, matroska,webm, from 'file:/data/movies/somemovie.mkv': Metadata: encoder : libebml v0.8.0 + libmatroska v0.9.0 creation_time : 2020-12-26T20:32:06.000000Z Duration: 01:29:28.94, start: 0.000000, bitrate: 6932 kb/s Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1036 [SAR 1:1 DAR 480:259], 24 fps, 24 tbr, 1k tbn, 48 tbc Stream #0:1(ger): Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 768 kb/s (default) Stream #0:2(ger): Subtitle: dvd_subtitle, 1920x1080 Stream mapping: Stream #0:0 (h264) -> format (graph 0) Stream #0:2 (dvdsub) -> scale (graph 0) hwupload (graph 0) -> Stream #0:0 (h264_vaapi) Stream #0:1 -> #0:1 (dts (dca) -> aac (native)) Press [q] to stop, [?] for help [matroska,webm @ 0x55cf2cddb480] sub2video: using 1920x1036 canvas Output #0, hls, to '/config/data/transcodes/3f2156af66c43a0a69fa28161c5d5e67.m3u8': Metadata: encoder : Lavf58.76.100 Stream #0:0: Video: h264 (High), vaapi_vld(tv, bt709, progressive), 1920x1036 [SAR 1:1 DAR 480:259], q=2-31, 6932 kb/s, 24 fps, 90k tbn (default) Metadata: encoder : Lavc58.134.100 h264_vaapi Stream #0:1: Audio: aac (LC), 48000 Hz, 5.1, fltp, 640 kb/s (default) Metadata: encoder : Lavc58.134.100 aac [h264_vaapi @ 0x55cf2ce15500] Failed to sync to output buffer completion: 5 (invalid VAContextID). Video encoding failed [h264_vaapi @ 0x55cf2ce15500] Failed to sync to output buffer completion: 5 (invalid VAContextID). [aac @ 0x55cf2ce16d80] Qavg: 65536.000 [aac @ 0x55cf2ce16d80] 2 frames left in the queue on closing Conversion failed!

after:

[AVHWDeviceContext @ 0x557f095b87c0] libva: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed Input #0, matroska,webm, from 'file:/data/movies/somemovie.mkv': Metadata: encoder : libebml v0.8.0 + libmatroska v0.9.0 creation_time : 2020-12-26T20:32:06.000000Z Duration: 01:29:28.94, start: 0.000000, bitrate: 6932 kb/s Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1036 [SAR 1:1 DAR 480:259], 24 fps, 24 tbr, 1k tbn, 48 tbc Stream #0:1(ger): Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 768 kb/s (default) Stream #0:2(ger): Subtitle: dvd_subtitle, 1920x1080 Stream mapping: Stream #0:0 (h264) -> format (graph 0) Stream #0:2 (dvdsub) -> scale (graph 0) hwupload (graph 0) -> Stream #0:0 (h264_vaapi) Stream #0:1 -> #0:1 (dts (dca) -> aac (native)) Press [q] to stop, [?] for help [matroska,webm @ 0x557f095d4a00] sub2video: using 1920x1036 canvas Output #0, hls, to '/config/data/transcodes/24d211b38e29d149c4c444f715f5968f.m3u8': Metadata: encoder : Lavf58.76.100 Stream #0:0: Video: h264 (High), vaapi_vld(tv, bt709, progressive), 1920x1036 [SAR 1:1 DAR 480:259], q=2-31, 6932 kb/s, 24 fps, 90k tbn (default) Metadata: encoder : Lavc58.134.100 h264_vaapi Stream #0:1: Audio: aac (LC), 48000 Hz, 5.1, fltp, 640 kb/s (default) Metadata: encoder : Lavc58.134.100 aac frame= 2 fps=0.0 q=-0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x
Unrepairable overflow! frame= 19 fps=0.0 q=-0.0 size=N/A time=00:00:00.85 bitrate=N/A speed=1.52x
frame= 35 fps= 33 q=-0.0 size=N/A time=00:00:01.36 bitrate=N/A speed=1.28x

So iHD_drv_video.so still fails, but it continues anyway... Strange :) Btw: CPU is i7-4790k

RHITNL commented 2 years ago

I think an updated version off ffmpeg is the reason. 10.7.7 is using 4.3.1 and newer versions of Jellyfin are using ffmpeg 4.4.1. After using an older container (jellyfin:10.7.7-1-ls146) the problem below is gone and video's play again. Stream mapping: Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_vaapi)) Stream #0:1 -> #0:1 (eac3 (native) -> aac (native)) Press [q] to stop, [?] for help Output #0, hls, to '/transcode/3fa08c11b2328a2288bcc8e9286a8f6c.m3u8': Metadata: encoder : Lavf58.76.100 Stream #0:0: Video: h264 (High), vaapi_vld(tv, progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 3360 kb/s, 23.98 fps, 90k tbn (default) Metadata: encoder : Lavc58.134.100 h264_vaapi Stream #0:1: Audio: aac (LC), 48000 Hz, 5.1, fltp, 640 kb/s (default) Metadata: encoder : Lavc58.134.100 aac frame= 1 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x [h264_vaapi @ 0x55dbb58f6c00] Failed to sync to output buffer completion: 5 (invalid VAContextID). Video encoding failed [h264_vaapi @ 0x55dbb58f6c00] Failed to sync to output buffer completion: 5 (invalid VAContextID). [aac @ 0x55dbb591f900] Qavg: 65536.000 [aac @ 0x55dbb591f900] 2 frames left in the queue on closing Conversion failed!

skoulof commented 2 years ago

Hello, I am running into similar problems with Hw acceleration. My install is jellyfin 10.7.7-1 with ffmpeg 4.4.1.1 My CPU is an i7-3820qm so I am trying to get the i965 drivers to work.

The device is properly mounted in the docker-compose, with drivers installed on the host.

The ffmpeg logs show : [AVHWDeviceContext @ 0x5635b72bc740] libva: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed [AVHWDeviceContext @ 0x5635b72bc740] Failed to initialise VAAPI connection: 1 (operation failed). Device creation failed: -5. [hevc_qsv @ 0x5635b7298600] No device available for decoder: device type qsv needed for codec hevc_qsv. Stream mapping: Stream #0:0 -> #0:0 (hevc (hevc_qsv) -> h264 (h264_qsv)) Stream #0:1 -> #0:1 (ac3 (native) -> aac (native)) Device setup failed for decoder on input stream #0:0 : Input/output error

Seeing that the va driver seemed to be iHD_drv_video I tried to et environment variables:

But that changed nothing and the error message remained, still mentioning libva: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed

I really have no idea how to make this work :/

Pl1997 commented 2 years ago

Hi @skoulof, unfortunately I can't help you much, but one thing I can tell you is that troubleshooting my own installation involved a lot of "vainfo" typing in the terminal. I had to install this command with apt install vainfo, then using it pointed me to the right direction, especially telling me which driver was being used by the system (very useful since there is obviously something strange with " iHD_drv_video" messages in the jellyfin logs). You should give it a try, it's harmless since it will only retrieve some info about your configuration.

Pl1997 commented 2 years ago

Also, did you try downgrading ffmpeg as suggested here ?

After that, I still couldn't get Jellyfin to transcode (still with the error about driver iHD failing to initiate in the logs... strangely, since I configured i965 as preferred driver). I finally managed to make it work by downgrading ffmpeg, as suggested by @lemystere in #129 (comment)_ .

Pl1997 commented 2 years ago

@Roxedus I just added some screenshots from Portainer providing more details about my configuration... If this is enough for you, could you please remove the "invalid" label ?

Thank you very much !

github-actions[bot] commented 2 years ago

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.

Pl1997 commented 2 years ago

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.

Hello, this issue is still not resolved, I'd like to avoid it being closed

github-actions[bot] commented 2 years ago

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.

Pl1997 commented 2 years ago

Hello, still not solved !...

alexchuvand commented 2 years ago

I am encountering the same problem, where out of the box using the image, HW acceleration does not work. From the logs the error is:

[AVHWDeviceContext @ 0x55a4c09f4680] libva: /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so init failed
[AVHWDeviceContext @ 0x55a4c09f4680] Failed to initialise VAAPI connection: 1 (operation failed).
Device creation failed: -5.

It should be using the other driver:

abc@00d62122f28b:/$ ls /usr/lib/jellyfin-ffmpeg/lib/dri/
i965_drv_video.so  iHD_drv_video.so

Running vainfo in the host machine:

~$ vainfo
error: can't connect to X server!
libva info: VA-API version 1.14.0
libva info: Trying to open /usr/local/lib/dri/iHD_drv_video.so
libva info: va_openDriver() returns -1
libva info: Trying to open /usr/local/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.14 (libva 2.14.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Desktop - 2.4.1
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
  Running an old i7-4770
alexchuvand commented 2 years ago

Ah, finally, I got hardware acceleration working out of the box 😹. In the jellyfin playback config, I chose "Video Acceleration API (VAAPI" instead of "Intel Quick Sync".

lemystere commented 2 years ago

@Pl1997 What is your output for this ?

sudo docker exec -it <Name of your Jellyfin container> /bin/bash
/usr/lib/jellyfin-ffmpeg/vainfo | grep iHD

And what is your ffmeg version ? You can check on your log of transcoding.

github-actions[bot] commented 2 years ago

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.

j0nnymoe commented 2 years ago

This is now fixed.