[Support] Linuxserver.io - Jellyfin


Recommended Posts

  • 2 weeks later...

Hi guys, I have just installed this docker and I'm trying to enable the hw transcoding.

I have an Intel Pentium Gold G6405 (Comet Lake-S) with an UHD 610 as iGPU.

 

I have added the --device=/dev/dri:/dev/dri as an extra parameter and also I've added the docker mod for OpenCL-Intel.

All seems to work but there is something weird that I can't understand.

 

When I try to play a 4K HEVC HDR with Microsoft EDGE the hw transcoding seems to work but if I watch the system resources I see the CPU at 100% and the GPU at 20-30%:

 

resources-Usage.png

 

These are the playback infos:

playback-Infos.jpg

 

And this is my configuration:

 

jellyfin-Config.jpg

 

 

This is the FFMpeg log:

 

/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -init_hw_device opencl=ocl@va -filter_hw_device ocl -autorotate 0 -i file:"/data/tvshows/Gen V/Season 1/Gen V - S01E01 - God U WEBDL-2160p.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_qsv -preset 7 -look_ahead 0 -b:v 19371572 -maxrate 19371572 -bufsize 38743144 -g:v:0 72 -keyint_min:v:0 72 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale=trunc(min(max(iw\,ih*a)\,min(3840\,1600*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(3840/a\,1600))/2)*2,format=yuv420p" -codec:a:0 libfdk_aac -ac 6 -ab 640000 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/config/data/transcodes/39574ced94177e1670d475db775b4b91%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/config/data/transcodes/39574ced94177e1670d475db775b4b91.m3u8"
...
...
...
Stream mapping:
  Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_qsv))
  Stream #0:1 -> #0:1 (eac3 (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
Output #0, hls, to '/config/data/transcodes/39574ced94177e1670d475db775b4b91.m3u8':
  Metadata:
    encoder         : Lavf59.27.100
  Stream #0:0: Video: h264, nv12(tv, bt2020nc/bt2020/smpte2084, progressive), 3840x1600 [SAR 1:1 DAR 12:5], q=2-31, 19371 kb/s, 23.98 fps, 90k tbn (default) (original)
    Metadata:
      encoder         : Lavc59.37.100 h264_qsv
    Side data:
      cpb: bitrate max/min/avg: 19371572/0/19371572 buffer size: 38743144 vbv_delay: N/A
  Stream #0:1: Audio: aac, 48000 Hz, 5.1, s16, 640 kb/s (default)
    Metadata:
      encoder         : Lavc59.37.100 libfdk_aac

 

Can you help me to understand why there is so a huge use of the CPU even if the hw transcoding seems to work? 

Link to comment

Hey hey! After updating to the latest release (10.8.11-1-ls228), there is no longer any sound output on WebOS when playing mkv files with the TRUEHD audio codec. Before updating, the audio from the same files played without a problem. See the attached image for file details.

 

Client stack is the Jellyfin app (date version 19/03/2023) on a WebOS TV running v7.3.1-39.

 

It seems like the problem is on the client side because I can play the same file, hosted on the same server, in the browser on my computer without a problem.

 

Is there a way to simply pin to a previous docker release? If yes, I'm good with that approach for now, because it worked with the previous version, but need advice on how to do it.

Otherwise any other suggestions would be appreciated! Thanks in advance :)

 

 

20231009_140309 - Copy.jpg

Edited by timbuckiii
clarify why I'm ok to pin to previous docker release
Link to comment
1 hour ago, timbuckiii said:

Hey hey! After updating to the latest release (10.8.11-1-ls228), there is no longer any sound output on WebOS when playing mkv files with the TRUEHD audio codec. Before updating, the audio from the same files played without a problem. See the attached image for file details.

 

Client stack is the Jellyfin app (date version 19/03/2023) on a WebOS TV running v7.3.1-39.

 

It seems like the problem is on the client side because I can play the same file, hosted on the same server, in the browser on my computer without a problem.

 

Is there a way to simply pin to a previous docker release? If yes, I'm good with that approach for now, because it worked with the previous version, but need advice on how to do it.

Otherwise any other suggestions would be appreciated! Thanks in advance :)

 

nvm...figured out how to pin to a previous docker version and still no luck. I've reverted back to latest.

 

Any other suggestions would be appreciated!

Link to comment

Hello everyone, new to the forum and UnRAID in general (still have a trial enabled).

I've built my first UnRAID server few days ago and I was trying to install JellyFin via Docker to it. 
JellyFin installed fine and in general works without an issue, but the problems occur when i want to enable hardware transcoding using Intel iGPU. Now, I'm running a newly famous Topton board, but not with N5105 CPU, but with J6413 (because of AV1 HW support). 
I checked and according to Intel Ark, this CPU has Intel Quick Sync.

I have already read countless Google searches, forums, watched many videos...
- I added custom /dev/dri/ parameter to JellyFin container,
- Installed Intel-GPU-TOP plugin
- Added modprobe i915 to the Go file
- Tried all 3 available images in UnRAID Apps tab, even installed JellyFin from jellyfin/jellyfin repository as that runs on Debian and might help
- Verified that docker container has /dev/dri folder present with it's contents renderD128 and card0
- Tried fiddling with JellyFin transcode settings, checking and unchecking different options, tried VA-API and Quick Sync
- Yelled at my girlfriend when she asked me to already join her in bed at 1 AM
- Wasted 2 whole days rebuilding / redownloading JellyFin container with different settings for about 40 times already

I'm kinda lost here and I would really appreciate some help from you guys. If somebody has similar HW configuration as me, what the hell am I doing wrong with my container / UnRAID?

Specs and stuff: 
- Topton motherboard, Intel J6413 CPU, 16GB DDR4, 1x 1TB SSD for cache, 6x 4TB HDD for data in dual parity mode
- UnRAID Version 6.12.4
- Community Applications installed obviously
- JellyFin version 10.8.11
- Currently on jellyfin/jellyfin container repository

Link to comment

@Zhoth I've set up the Jellyfin server up for the first time and have trouble playing 4K content. You mentioned the OpenCL intel mod and I found "DOCKER_MODS=linuxserver/mods:jellyfin-opencl-intel" that need to be added into the Jellyfin container, but I just can't figure out where to put it? Can you might share a screenshot that shows it?

 

Thanks in advance.

 

EDIT: I figured it out for those lurking here for an answer. The solution is simple. 

1. Go to the Jellyfin container and scroll down and click on  'Add another Path, Port, Variable, Label or Device'. 

2. Select 'Variable' in the config type. Name: whatever you like. Key: DOCKER_MODS. Value: linuxserver/mods:jellyfin-opencl-intel. 

3. Click 'Save' and 'Done' and wait for your jellyfin container to restart. 

 

Thats it. Have fun

Edited by nosalismus
Solution found
Link to comment
  • 1 month later...

@filipfiala I was finally able to get transcoding working on my J6413.

 

What worked for me:

  1. Add --device=/dev/dri to Docker container's Extra Parameters.
  2. Add i915.enable_guc=2 kernel parameter (Main > Flash > Syslinux Configuration - My 2nd line looks like this: append initrd=/bzroot i915.enable_guc=2)
  3. Enable low power encoding in Jellyfin (Enable Intel Low-Power H.264 hardware encoder & Enable Intel Low-Power HEVC hardware encoder)
  4. Disable VPP Tone Mapping (You can still use OpenCL)

 

Unraid 6.12.4

Jellyfin 10.8.12

  • Like 2
Link to comment
  • 4 weeks later...
On 11/19/2023 at 2:47 AM, Polymer1296 said:

@filipfiala I was finally able to get transcoding working on my J6413.

 

What worked for me:

  1. Add --device=/dev/dri to Docker container's Extra Parameters.
  2. Add i915.enable_guc=2 kernel parameter (Main > Flash > Syslinux Configuration - My 2nd line looks like this: append initrd=/bzroot i915.enable_guc=2)
  3. Enable low power encoding in Jellyfin (Enable Intel Low-Power H.264 hardware encoder & Enable Intel Low-Power HEVC hardware encoder)
  4. Disable VPP Tone Mapping (You can still use OpenCL)

 

Unraid 6.12.4

Jellyfin 10.8.12

thanks! I am be able to get low power mode working now!

Link to comment
  • 2 weeks later...
On 11/18/2023 at 10:47 AM, Polymer1296 said:

@filipfiala I was finally able to get transcoding working on my J6413.

 

What worked for me:

  1. Add --device=/dev/dri to Docker container's Extra Parameters.
  2. Add i915.enable_guc=2 kernel parameter (Main > Flash > Syslinux Configuration - My 2nd line looks like this: append initrd=/bzroot i915.enable_guc=2)
  3. Enable low power encoding in Jellyfin (Enable Intel Low-Power H.264 hardware encoder & Enable Intel Low-Power HEVC hardware encoder)
  4. Disable VPP Tone Mapping (You can still use OpenCL)

 

Unraid 6.12.4

Jellyfin 10.8.12

 

Thank you also here! Spent the last day trying to sort this out and that kernel parameter bit worked! No more issues on my N5105

Link to comment
  • 2 weeks later...
On 11/18/2023 at 1:47 PM, Polymer1296 said:

@filipfiala I was finally able to get transcoding working on my J6413.

 

What worked for me:

  1. Add --device=/dev/dri to Docker container's Extra Parameters.
  2. Add i915.enable_guc=2 kernel parameter (Main > Flash > Syslinux Configuration - My 2nd line looks like this: append initrd=/bzroot i915.enable_guc=2)
  3. Enable low power encoding in Jellyfin (Enable Intel Low-Power H.264 hardware encoder & Enable Intel Low-Power HEVC hardware encoder)
  4. Disable VPP Tone Mapping (You can still use OpenCL)

 

Unraid 6.12.4

Jellyfin 10.8.12

 

Omg, you're the best dude, I was also going crazy with this problem! It still lags a bit with 4k content (it shouldn't?), but at least, it works now!

Link to comment
  • 3 weeks later...

Hello

 

I´ve got a few questions, that i hope you can help me with...

I run jellyfin, and i want to copy the docker, so that i´ve got 2. not running simultaneously though.

The other question is, is it possible to change jellyfin´s local ip address

 

thank you regards

Link to comment

I normally use plex but thought I'd try jellyfin. Got the linuxserver version but I am wondering how do I make it accessible outside of my network with port forwarding? Plex is straight forward but this one appears to be the contrary 

Link to comment
3 hours ago, z0ki said:

I normally use plex but thought I'd try jellyfin. Got the linuxserver version but I am wondering how do I make it accessible outside of my network with port forwarding? Plex is straight forward but this one appears to be the contrary 

I use NginxProxyManager in conjunction with Cloudflare to create an SSL certificate for the Jellyfin subdomain on my personal domain.

Link to comment
13 hours ago, mjeshurun said:

I use NginxProxyManager in conjunction with Cloudflare to create an SSL certificate for the Jellyfin subdomain on my personal domain.

 

Kind of hoping for a free alternative then paying for a domain etc. I know I can setup a tunnel with wireguard but my work blocks VPN access and I want to use jellyfin to access my music. Plex is blocked at work but jellyfin isn't as I tested it with my seedbox.

 

I'm guessing a reverse proxy is the only (proper) way with Jellyfin?

Edited by z0ki
Link to comment
7 hours ago, z0ki said:

 

Kind of hoping for a free alternative then paying for a domain etc. I know I can setup a tunnel with wireguard but my work blocks VPN access and I want to use jellyfin to access my music. Plex is blocked at work but jellyfin isn't as I tested it with my seedbox.

 

I'm guessing a reverse proxy is the only (proper) way with Jellyfin?

If you prefer not to pay for a personal domain, you can create a free subdomain with duckdns. 

Link to comment
  • 2 weeks later...

I am having a frustrating issue with the WebGui not opening a webpage.  When I try to access the WebGui i get a blank web page with "about:blank#blocked".  The app was working for a week or so, I was able to setup my media libraries and watch shows on my jellyfin clients.  I just cant access the webgui from my windows PC or my tablet which was no problem before.  I have disabled every security barriers on all my web browsers (chrome, firefox, brave and edge) with no luck.  I have added web IP addresses as trusted site.  I have shutdown & restarted server.  Unistalled jellyfin and reinstalled (along with all  my other containers) still get "about:blank#blocked".  Now since i uninstalled and reinstalled jellyfin I cant access the webgui and I am unable to acces jellyfin from any of my clients.  I've been at this for roughly 5 days and I am out of ideas.

 

I'm hoping you can help. I've attached the jellyfin logs from when I last installed jellyfin container. 

 

Here also is a screen shot of my container basic stats

image.thumb.png.6cb9d865f44527e548d21c879899986d.png

 

Thanks for any help

Tim N

Jellyfin container Log - new instal.txt

Link to comment

This thread "about:blank#blocked for all WebUI links" By Alexstrasza gave me new info.  The container CA form has a generic WebUI address of http://[IP]:[PORT:8096].  Change this to the generic address to the actual hard address eg. http://192.168.0.5:8096, this gave me a Timeout error but it is a change.  The 2 addresses I find for jellyfin are the JELLYFIN_PublishedServerUrl: and the Port Mapping ip addresses.  Both of these address give me a timeout error.  Is there a different ip address that I should be using for jellyfin WebUI?

 

Thanks
Tim N

Link to comment

Finally got it figured out, going over Network Access again, I saw a little note saying network must be on "eth0"; lght bulb went off. I had taken apart my build again to add some fans and put it all back together & I hooked up my lan cable to the wrong port, its always the small things. 

Tim N

Link to comment
  • 1 month later...

I dont have any graphics card or anything fancy - I am just trying to figure out how to NOT save my HD Home Run Tv feed in silly TS format. I have played with this, but NO idea what I am doing: 

 

https://github.com/AndrewBreyen/Jellyfin-TV-Post-Process/tree/main

Are their any good guides somewhere that could help me save my recordings as MP4 formart or any of you patience enough to explain how I use the script? Please?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.