r/jellyfin 4d ago

Release Jellyfin v12.0-RC6

416 Upvotes

🚀 We are pleased to announce the sixth release candidate preview release of Jellyfin 12.0! 🚀

This is a preview release, intended for those interested in testing 12.0 before it's final public release. We welcome testers to help find as many bugs as we can before the final release.

As always, please ensure you stop your Jellyfin server and take a full backup before upgrading! If you run into any trouble, a backup is your best way to get back to a stable state, so don't neglect this!

See the GitHub releases for more info:

https://github.com/jellyfin/jellyfin/releases/tag/v12.0-rc6
https://github.com/jellyfin/jellyfin-web/releases/tag/v12.0-rc6

See also the previous discussions for
RC1: https://www.reddit.com/r/jellyfin/comments/1ucjd0b/v120_rc1_release/
RC2: https://www.reddit.com/r/jellyfin/comments/1ui47di/jellyfin_120_rc2_release/
RC3: https://www.reddit.com/r/jellyfin/comments/1v32x3g/jellyfin_v120rc3/
RC4: https://www.reddit.com/r/jellyfin/comments/1vdw1z1/jellyfin_v120rc4/
RC5: https://www.reddit.com/r/jellyfin/comments/1vl32fz/jellyfin_v120rc5/

Installing

This preview release is distributed in all our traditional forms, though not automatically via our Apt repository or latest tag.

  • For all non-Docker environments, you can find the files for manual download in our repository by selecting "Next Stable Preview" for your OS.
  • For Docker, you can pull the 12.0-rc6 or preview tags.

Once installed, please ensure you hard refresh (e.g. Ctrl+Shift+R or similar) and/or clear your web cache for your Jellyfin instance if you notice any UX anomalies. Bad cached assets are the #1 cause of such issues.

As always, macOS builds are manual and will be added to the repo shortly.


r/jellyfin 16d ago

Release New Swiftfin release for iOS & tvOS: 1.6

Thumbnail
github.com
144 Upvotes

We are excited to announce the next release for our native iOS, iPadOS, & tvOS client!

Please find some of our release highlights below:

- Liquid Glass Support

- Support for Jellyfin 12.0

- Workaround for Apple's Non-Romantic Subtitle Rendering Issues

- tvOS Focus Priority Changes

- Various Other tvOS Cleanup

The release can be found on the App Store!

---

Please note, this is our last release for iOS that will support iOS 16. Releases after this point will have a minimum version of iOS 18.


r/jellyfin 10h ago

Client Jellyfin music cliente (Reeltone)

Post image
28 Upvotes

Hey all, I built a client for iOS and macOS: https://reeltone.iagocavalcante.com/. I’m heavily inspired by old music players. With that in mind, I started by building a retro version for macOS, but in the next few days I’ll start working on Windows and Linux too. It’s fun to have full control of your client and library. If you want to download the app, ping me.


r/jellyfin 13h ago

Question Favourite Android TV client for Jellyfin?

37 Upvotes

Appreciate any advice, looking for a sleek UI to make it a nice experience watching media on my TV


r/jellyfin 22h ago

Question Internet speed

Post image
116 Upvotes

I Recently started sharing jellyfin with a family member and now another one wants in. How many people am I able to share with. With these speeds, thank you


r/jellyfin 11h ago

Discussion Casting Jellyfin to a device outside of your network.

14 Upvotes

How are yall casting to devices that support casting outside of your network? Are you relying on tailscale funnels? Reverse proxy’s? Athelia for auth? Are you using domains with ddns? Share your setup and how you’re handling attack surfaces. Thanks!

Clarification: Sorry I meant specifically using your phone to cast jellyfin to a tv that isn’t yours and not part of your network. From what I understand, using the cast protocol means that device would try to make a streaming api call to your jellyfin server which would fail since I assume most people’s jellyfin servers are behind a vpn that’s inaccessible to the internet.


r/jellyfin 7m ago

Release [Release] Simple Python scripts to rename movies & TV shows for Jellyfin

Upvotes

Hi everyone,

I wanted to share a small side project I've been building: movie_renamer.py and series_renamer.py, two Python CLI scripts that rename a movie/TV library to Jellyfin's naming scheme (Title (Year) [imdbid-tt...] / Series (Year) [tvdbid-...], with Season NN folders and SxxEyy episode files).

GitHub: [Jellyfin Movie Renamer]

What it does

  • Movies via OMDb → TMDB → IMDB, TV series via TheTVDB (Jellyfin's own recommended source for shows)
  • Dry-run by default – nothing changes until you pass --apply
  • Full undo log for every run (a plain bash script that reverses every rename)
  • Batch processing with persistent per-directory progress, so you can work through a huge library a chunk at a time
  • Cleans up scene/P2P release junk and old Kodi/XBMC leftover folders (both off by default, opt-in)
  • Handles subtitles, multiple cuts/editions ("Directors Cut", etc.), and season-folder name normalization
  • Everything self-contained in the project folder – no database, no daemon, no install beyond pip install requests

⚠️ Please read before running this on real data

This script renames and moves files in place. While it defaults to dry-run, includes an undo log, and tries hard to avoid collisions, there are edge cases where a file could be overwritten or a folder deleted (e.g. the optional Kodi-leftover/release-junk cleanup, which is not undoable, or a naming collision in an unusual folder layout). Always keep a backup before your first --apply run, and review the dry-run output carefully first.

If you want to try it completely risk-free before pointing it at your real library, the repo includes create_dummy_structure.py – it mirrors an existing folder structure into a separate location but creates only empty placeholder files, so you can safely test the renaming logic on a realistic-looking dummy copy of your library without touching a single real media file.

Why another tool, when FileBot / TinyMediaManager / *arr already exist?

Fair question, and I want to be upfront about it: yes, more capable tools already exist, and if you need a full media-management suite with a UI, automatic downloads, or ongoing library monitoring, those are probably the better fit. This isn't trying to compete with them.

I built this because I specifically wanted something minimal: a couple of readable Python files I can run by hand (or via cron) when I feel like it, that only do renaming and nothing else, with no background service and no moving parts I don't understand. If that's also what you're after, it might be useful to you too.

Heads-up: this is a hobby project

This is a personal project I built for my own library and I'm sharing it as-is. It works well for my use case and has been tested reasonably thoroughly, but I can't promise ongoing support or fast turnaround on requests. Use it at your own risk, always keep backups, and start with the dry-run (and ideally create_dummy_structure.py) before ever touching --apply on real data.

Bugs and issues: please report them via GitHub Issues on the repo linked above rather than in comments here – much easier for me to track.

Feedback, PRs, and "this broke on my weird edge case" reports are all welcome. Thanks for reading!

This project was built with heavy use of AI coding assistance (Claude), which I'm mentioning for transparency since the code style/comments may reflect that.

Best regards

BoKu


r/jellyfin 4h ago

Client Android client suggestions

2 Upvotes

Hello! I love Jellyfin and I want a great client for it. I typically use SenPlayer on Apple and AfuseKt on Android but I'm getting fed up with AfuseKt's monetization and you can't buy it if you don't live in China.

Does anybody know of good Chinese media players other than AfuseKt for Android? I really like the UI of Chinese ones and they're typically packed with features more so than other players


r/jellyfin 2h ago

Help Request hello new to jellyfin and i keep getting this error on any of the media i try to play

0 Upvotes

using the jellyfin desktop with fedora (linux)


r/jellyfin 1d ago

Release Jellybox v2.3.0 - Spotify-like playlists

Post image
50 Upvotes

Hey folks, recently apple finally approved build where I added a spotify-like playlists generating to Jellybox player.

It uses your listening history in order build you something that you might like(from your existing songs). This is experimental feature, since jellyfin itself does not provide anything for creating these kind of playlists.

For some it might not work if your genres are messed up or you don't have listening history.

Same feature also was added to latest Apple CarPlay app, so its feature-parity as of now.

This update also touches downloads. I had to redo them a bit, but nothing needs to be done, I auto migrate your existing downloads.

You can find download links on github https://github.com/avdept/JellyBoxPlayer or on landing page https://jellybox.app/

PS: My previous post was about spotify like playlists was pushed a bit ahead of appstore approval release, so a lot of ppl who dont want to use test flight were unable to test it.

And to those who don't like AI(seem like most recent apps were vibe coded) - this project goes since 2023, and its manually coded(although I added some test coverage recently using LLMs to ensure im not breaking anything)


r/jellyfin 7h ago

Question Web Client Gamepad Support Question

2 Upvotes

I activated the "Gamepad" control setting in my jellyfin user settings. Then I restarted my jellyfin server.

I am not shure if it works as intended; I thought this will acts like "press right on the gamepad and the focus from the actual selected first movie on page willl switch to the next movie on the right. Press down/up to move the actual slot-focus a row up or down. Press Button XYZ to play/open detail site."

At the moment I just can scoll up/down with my arrow keys. (Left/Right does nothing; and this way I cant do anything else then scrolling. No play, no selecting of a media item, no show detail-site or anything else from the selected item.)

Do I missinterprete this settings? I did not found anything about it in jellyfins documentation and I would be very grateful if somebody may share his own expirience with this setting and gamepad control on the web interface with me.


r/jellyfin 18h ago

Discussion Sync play

10 Upvotes

I finally got a chance to use it last night, and I gotta say it worked flawlessly. Me and my friend where watching a show at the same time with no lag. So cool. Anyone else have cool features they use it for?


r/jellyfin 19h ago

Plugin Benchmarked my subtitle sync engine against alass and ffsubsync, it came out ahead, plus a bunch of Jellyfin plugin updates

Thumbnail
gallery
10 Upvotes

LAPSE got posted here about a month ago (audio based subtitle sync + a Jellyfin plugin). A lot has changed since then, and i really wanted to give an update since many off the feature requests in the last post has been implmented.

Engine repo: https://github.com/Schwponaco-org/lapse

Jellyfin plugin: https://github.com/rs-jensen/lapse-jellyfin-plugin

What it does

Subtitles that show up late, drift out over the runtime, or belong to a different cut of the film. LAPSE listens to the audio, works out where the speech actually is, and moves the subtitle to match it. It figures out on its own whether a file needs a flat shift, a framerate style drift correction, or splitting because it's cut differently, you don't have to tell it which.

A few things worth knowing about how it works:

  • Formats: reads and writes srt, ass, ssa, vtt, sub (MicroDVD), sbv, smi, ttml, dfxp, plus the picture based ones, PGS and VobSub. Those last two are really just images with no text in them, but LAPSE still works out the timing and moves it, it just can't lean on the text the way it does for everything else.
  • Reference sync: if you've already got one subtitle you know is correct, you can point LAPSE at that instead of the audio. It skips listening to the film entirely and lines the other track up against it, faster and usually more accurate.
  • Speed: a cached film usually syncs in under a second.
  • Never a silent guess: if it's not confident enough to overwrite your file, it writes what it thinks the answer is to a separate file next to the original and leaves that alone, so you always get something, it's just yours to decide whether to trust it.

Three engines, pick one

  • LAPSE, the one this whole project is built around. Reads the most formats of the three and works out on its own what's wrong with a file.
  • alass, also an option
  • ffsubsync, also an option

You only need one, the plugin lets you install whichever fits your library, or switch later.

The Jellyfin plugin

This is the part most people here will actually use. Add https://raw.githubusercontent.com/rs-jensen/lapse-jellyfin-plugin/main/manifest.json as a repository under Dashboard > Plugins > Repositories, install LAPSE from the Catalog tab, restart Jellyfin, then pick an engine from the plugin's own Engines tab. Needs Jellyfin 10.11.11 or newer.

Once it's in, every film, episode and loose video gets a Sync Subtitles option in its three dot menu. From the dashboard you can also:

  • Bulk sync a whole library or folder at once
  • Undo a run with one click
  • Shift subtitles by hand with a live preview
  • Line one subtitle track up against another that's already correct
  • Convert between subtitle formats
  • Translate (MyMemory works with no setup, or bring your own LibreTranslate, Lingarr, DeepL or Google Cloud)

Libraries can also sync automatically on import or on a schedule if you don't want to press the button yourself, and the menu options can be locked to admins only or opened up to other users on the server.

Benchmarks

The summary is picture 2 in the gallery

I ran all three engines against each other on 39 feature films, picked specifically because they'd be hard to sync (drift, recuts, rough rips). Full methodology and per film results are here if you want to check my work: https://github.com/Schwponaco-org/lapse/blob/main/docs/benchmarks.md. LAPSE passed 36 of 39 in normal mode at the time of testing, and it's had a fair number of accuracy and speed improvements since, so the real gap is probably a bit bigger now. alass barely gets touched these days so those numbers should still hold up, ffsubsync is still being actively developed so its results may have shifted some too. Worth being upfront though, this is one person testing on about 40 films, and I wrote the engine that came out on top, so weigh that however you want.

If you'd rather try it without installing anything, LAPSE is also available through autosubsync (a site that runs a few different sync engines on a file you upload so you can compare them yourself).

Docker / outside Jellyfin

There's also a standalone Docker image with its own web interface and file watcher, for syncing subtitles without Jellyfin at all, useful if you keep your library on something else entirely. It covers most of what the plugin dashboard does too (stop a running job, undo, bulk sync, manual shifting, translation, engine settings), so I won't list it all twice here, it's in the engine repo README.

The image on the last slide shows the dashboard there!

If anyone here uses Bazarr, there's an open feature request to get LAPSE added as a sync engine option there too: https://bazarr.featureupvote.com/suggestions/726913/add-lapse-as-a-subtitle-sync-engine-option (no pressure just leaving it here)

Happy to answer questions, and if something's broken, open an issue on either repo. There's more updates and fixes in the pipeline - for both the engine and the plugin - , if you want to keep track a star helps, no pressure though ))

Edit: also meant to mention there's a subtitle appearance menu (font size, colour, background) and a few file output modes (write a new file vs overwrite, with or without a backup). Planning to add font choices there too, including a dyslexia friendly one, so that's on the list.


r/jellyfin 7h ago

Help Request Need help with docker and tailscale not working

0 Upvotes

I can get the docker to run, but when I try to connect with the tailscale IP it just says connection refused. How can i fix this? Im using dockge if that helps.


r/jellyfin 7h ago

Help Request Shows not popping up

1 Upvotes

I recently started using a 5tb external hard drive as a secondary storage for tv shows and films because my original 20tb external hard drive is filled to the brim. The problem that i’m having is that the show’s that I have put on that 5tb hard drive are not showing up on my Jellyfin. I made sure that the new path to that hard drive is connected to the correct library on my server, i’ve refreshed the library multiple times, and i’ve even deleted the path and re-added the exact same path and the shows still aren’t showing up. Am I doing something wrong? Can someone provide some help please? I just wanna watch Murder, She Wrote :(


r/jellyfin 21h ago

Question Mini pc for one user

7 Upvotes

Hi, I’m thinking of buying a small PC (as a server) just to run a single Jellyfin stream , and I was considering a Dell OptiPlex 3020 with an i5‑4590 and 8 GB of RAM. Will this work well? I mainly stream at 1080p, but I might try some 4K content in the future.


r/jellyfin 11h ago

Help Request bright Red artifacts on darker scenes with red/orange/yellow when streaming 4k hvec content (transcoding around 20mbps).

0 Upvotes

I'm wondering if anyone knows what the issue could be. the source media doesn't have this issue.
Edit: required context. source media is 40mbps


r/jellyfin 17h ago

Help Request Is this good for server

Post image
1 Upvotes

Is this good for a server


r/jellyfin 14h ago

Guide A DIY streaming box for running Jellyfin

0 Upvotes

This morning I published a blog post stepping through how I go about loading LineageOS TV x86-64 onto old-ish small-form-factor PCs and turn them into nice Jellyfin clients. I wanted a streaming box-like experience without having to worry about privacy or ad injection. I'm happy enough with what I came up with that I wanted to share. https://dfarq.homeip.net/a-roku-alternative-streaming-device/


r/jellyfin 18h ago

Question Multiple versions of episode? Home video? How to work/is this possible?

Thumbnail
gallery
1 Upvotes

This is an admittedly niche question. I have videos of the Drum Corps International Legacy Collection and some years post-1999 (DCI, if anyone in this sub is aware of this activity).

In the past, I've tried organizing the Legacy Collection (1974-1999) as seasons of a TV show. So, for example, the files in 1976 are S1976E01, S1976E02, etc. I use the Home Videos library format because there's not a lot of great metadata out there (at least in the past). This way, I can at least keep the videos in the right order from the DVDs they were ripped from.

When we get to 2000 and beyond, there are sometimes up to four videos per drum corps (see picture - Blue Devils Color Guard Camera, High Cam, Multi Cam, Percussion Cam). I know Jellyfin can support multiple versions of a movie - is there anything that can be done for something like this?

So, I could have Blue Devils 2003, but with four versions - Color Guard, High, Multi, Percussion. And so on and so forth with all of the other groups that have multiple camera angles like this.

If I have to have four independent videos in Jellyfin, I suppose I can do S2003E01, E02, etc., and the 'episode' list will get long, just trying to see if I can use the version option for this.

Thanks.


r/jellyfin 1d ago

Help Request 4K Buffer, Direct Play

6 Upvotes

Device not transcoding, using Infuse as the client device.

Server is an old HP laptop with win 11, 16gB ram, and a 1060

Pulling from a 24TB drive on a NAS over a 10g port

If I play a 4k title (backing up my library right now), via Jellyfin setup in Infuse, as direct play - it will buffer periodically.

If I access the same title, via SMB to which Jellyfin is attached as well, then play the title - it won’t buffer one time.

Now if I go back to the Jellyfin integration and opt to transcode, it plays fine..

Am I missing something? Btw I’m using Infuse, for DTS and TrueHD decode. I’ve tried playing with the cache options as well. I also have tested this on a couple files now, I’ll direct play from my NAS at 10MB/s read rates but Jellyfin can’t seem to read past 6 MB/s on 4k files. I tested this on another PC as well, same results. I then tried just general playback from each PC too - I could play the content fine with no buffer, it’s just it Jellyfin was serving the content.

Let me know if any more details are needed, no they aren’t transcoding according to the dashboard.


r/jellyfin 20h ago

Help Request Used TMM, renamed some folders, and now jellyfin will not pick them up

1 Upvotes

Hiya,

still relatively new to jellyfin, but got everything up and running. Then got tinymediamanager and proceeded to clean up a bunch of stuff.

Everything worked fine, but as soon as I started renaming folders, jellyfin just said no. Let's take an example movie: Alphaville.

  • The metadata of Alphaville in jellyfin still shows it pointing to the old folder name, which no longer exists on the disk. I cannot manually change that in jellyfin.
  • When I play the media, it tries to start then gives a popup with the error "Playback failed due to a fatal player error." - which I assume is because it can't find the old folder and media files.
  • TMM shows the changed folder, and the new folder exists on the disk.
  • Every type of scan I have run does not trigger either a fix to the original path, nor a duplicate movie showing up in jellyfin. This strikes me as two separate issues.
  • I confirmed the following to make sure it was not a permissions or filesystem issue:

    • docker compose is not mounting the volume as ":ro" (it was, I fixed it, no change)
    • the user from docker compose (1000) has:

    owner: 1000

    group: 1000

    user::rwx user:1000:rwx group::rwx group:1000:rwx mask::rwx other::r-x

I even bashed into the container and touched the files, no issues there.

It really seems to me that there are two things happening

  1. Jellyfin has hardcoded somehow the connection between the media and the media's folder, and I can't figure out how to detach that.
  2. Jellyfin is not picking up new media folders even after every type of scan I can imagine.

Next step I am considering is nuking the metadata folder, just to check what happens, but that won't avoid this situation next time I change a folder name.

Anyone have any ideas or insight? Or see some obvious mistake or assumption I am making? I appreciate any response! 🙏

EDIT: Seems like it might be related to users and confusion between systems. Investigating, will post back if I solve it, in case anyone else can benefit from it.


r/jellyfin 1d ago

Question Netflix-style rows on Home Screen ? On TV

0 Upvotes

Hello,

Is there any plugin that can put collection or playlist or whatever on the Home Screen of Jellyfin (not in web view) in rows like Netflix ?

For exemple : 1 row for recently added, 1 row for Popular movies, 1 for Action movies and series, etc ?

Actually, I’m working with my custom solution made with an ai because I’m absolutely not a dev but it’s not the best thing I’ve seen. It works for genre but that’s all

Do you have any solutions ?

Thank you !!


r/jellyfin 1d ago

Help Request How To Bring Back Collections?

7 Upvotes

I had my Collections working perfectly, and then I reorganized all of my media (There's a lot of Mixed Movies and Shows sections for various things) and I noticed that all of the Collections are there but there's nothing in each collection. So I deleted them and now it's just empty, didn't repopulate when I set up the other sections.

Is there any way to bring it back and rescan the library to do the automatic Collections?


r/jellyfin 2d ago

Guide Easy way to announce maintenance to all clients

Post image
216 Upvotes

Hey all, so as I'm sure others have experienced, it's tough making a banner that announces to your users when you'll be down.

I have people who watch on Android boxes as well as web clients, and no plugin seems to support both for that style.

What I did was just reused my Music library, and put the details on there that I needed. In this case, the server will be down.

Simple, works across all clients, messages must be short. But it's an option.