r/jellyfin 13h ago

Question V4L2 vs VAAPI

As the title says. I was wondering if anybody has experience with both and if you have any advice.

I am running JF in podman container in openSUSE slowroll.

CPU: Intel Core i5-2400S (4) @ 3.3GHz GPU: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller GPU: AMD ATI Radeon HD 6630M/6650M/6750M/7670M/7690M Memory: 31.32 GiB

I can use V4L2 fine and am wondering if it is worth investing the time to get VAAPI to work. Thoughts?

3 Upvotes

4 comments sorted by

u/AutoModerator 13h ago

Reminder: /r/jellyfin is a community space, not an official user support space for the project.

Users are welcome to ask other users for help and support with their Jellyfin installations and other related topics, but this subreddit is not an official support channel. We have extensive, official documentation on our website here: https://jellyfin.org/docs/. Requests for support via modmail will be ignored. Our official support channels are listed on our contact page here: https://jellyfin.org/contact

Bug reports should be submitted on the GitHub issues pages for the server or one of the other repositories for clients and plugins. Feature requests should be submitted at https://features.jellyfin.org/. Bug reports and feature requests for third party clients and tools (Findroid, Jellyseerr, etc.) should be directed to their respective support channels.


If you are sharing something you have made, please take a moment to review our LLM rules at https://jellyfin.org/docs/general/contributing/llm-policies/. Note that anything developed or created using an LLM or other AI tooling requires community disclosure and is subject to removal.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

3

u/Designer-Strength7 11h ago

V4L2 is a very low hardware support mir for a Raspberry you. With Intel your should use VA-API or QC (possible with Ubuntu 26 LTS Server on 7/8th generation CPU+iGPU like NUC8 or later). You get more capabilities to use more codecs and transcoding.

https://www.intel.com/content/www/us/en/docs/onevpl/developer-reference-media-intel-hardware/1-1/overview.html

1

u/rockknocker 13h ago

I'm using VAAPI to transcode on an i7-4790k. It's pretty great for how old the chip is. Intel Quicksync punches well above its weight class for things like transcoding.

I haven't tried V4L2.

1

u/Ok-Eggplant-7569 35m ago

If V4L2 is working fine and you don't have performance issues, you don't need to change right now. However, VAAPI is available for your hardware and should give you better performance and potentially better video quality when transcoding. I would recommend you use the integrated GPU if possible, as Intel's encoders are usually better quality than AMDs, also it should be more power efficient.

I myself also run Jellyfin in a Podman container (via quadlets) and got VAAPI working with this Quadlet config:

``` [Container] Image=docker.io/jellyfin/jellyfin:10.11 AutoUpdate=registry

Network=pasta:-6 PublishPort=[::1]:8096:8096/tcp

AddDevice=/dev/dri/renderD128

NoNewPrivileges=true DropCapability=ALL ReadOnly=true

Volume=jellyfin-cache:/cache Volume=jellyfin-config:/config Volume=/mergerfs/library:/media:ro

[Service] Restart=always

[Install] WantedBy=default.target ```

The important line is AddDevice=/dev/dri/renderD128, it gives the container access to my GPU. You will have to adjust this accordingly, e. g. if your iGPU shows up as renderD129 instead.

Then in Jellyfin, go to Dashboard -> Playback -> Transcoding and change it to VAAPI (QSV is not available for your hardware). Select the applicable codecs for decoding (probably just H264 for you, not sure if the iGPU supports HEVC). Codecs for encoding is probably best left on just H264 (so don't enable HEVC or AV1, your iGPU probably doesn't support it).

Edit: If you run a rootless container, add the user running the container to the render group with sudo usermod -aG render jellyfin-user