macOS : Jellyfin nearly impossible to use

Hi All,

I already spent hours trying to make it just “work” but before definitely ditching jellyfin I’m asking the community for some guidance. My goal is to evaluate if switching from Plex to jellyfin is something that could be done without loosing too much features

Well, installation of Jellyfin on macOS (10.14.6) is somewhat rocky:

  • No macOS application (??) only command line… not user friendly, but Ok
  • prefs and applications folders are scattered every where on the filesystem and do not respect even the most basic macOS recommandation (~/Library/Preferences and ~/Library/Application Support…), but, once again OK

So I downloaded the latest stable version “https://repo.jellyfin.org/releases/server/macos/stable/jellfin_10.5.4.portable.tar.gz
Once unarchived I launch a terminal then:
cd ~/Donwloads/jellyfin_10.5.4/
./jellyfin

Got a friendly welcome message :slight_smile:
Error whilst attempting to create folder System.IO.IOException: The file '/Users/olivier/Downloads/jellyfin_10.5.4/jellyfin' already exists. at System.IO.FileSystem.CreateDirectory(String fullPath) at System.IO.Directory.CreateDirectory(String path) at Jellyfin.Server.Program.CreateApplicationPaths(StartupOptions options)

Hmm… I’m afraid the application is trying to create a folder named jellyfin at the same place and with the same name where the main executable stands (??!)

Ok lets try something else :
cd ~
~/Downloads/jellyfin_10.5.4/jellyfin

Ok it “starts”… (I cannot imagine a “normal” enduser going this path… but let’s continue.)

many errors in the console while launching:

[ERR] [4] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: Access token is invalid or expired. URL: http://localhost:8096/Users/c0a8e8616af6433ca4c6e02a8ec8d4c9
[ERR] [17] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: Access token is invalid or expired. URL: http://localhost:8096/Users/c0a8e8616af6433ca4c6e02a8ec8d4c9
[ERR] [13] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request. URL: http://localhost:8096/Users/c0a8e8616af6433ca4c6e02a8ec8d4c9/Views
System.ArgumentException: User Id specified in the query does not exist. (Parameter 'query')
at Emby.Server.Implementations.Library.UserViewManager.GetUserViews(UserViewQuery query)
at MediaBrowser.Api.UserLibrary.UserViewsService.Get(GetUserViews request)
at Emby.Server.Implementations.Services.ServiceExecGeneral.Execute(Type serviceType, IRequest request, Object instance, Object requestDto, String requestName)
at Emby.Server.Implementations.Services.ServiceController.Execute(HttpListenerHost httpHost, Object requestDto, IRequest req)
at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken)
at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
[ERR] [12] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: Access token is invalid or expired. URL: http://localhost:8096/ScheduledTasks?IsEnabled=true

I found that this steps it created a:
~/.cache
~/.config
~/Donwloads/jellyfin
(what a mess !)

Let’s continue.

A new webpage is opened on my browser (Safari) to start to setup the system.
Choose language, create user, add a first library (just tried a very small subset of 3 artists of my music library)
Finish setup
Login with newly created user

console is full of:
[ERR] [27] App: AcceptWebSocketAsync error System.Net.WebSockets.WebSocketException (0x80004005): The remote party closed the WebSocket connection without completing the close handshake. ---> System.Net.WebSockets.WebSocketException (0x80004005): The remote party closed the WebSocket connection without completing the close handshake. at System.Net.WebSockets.ManagedWebSocket.ThrowIfEOFUnexpected(Boolean throwOnPrematureClosure) at System.Net.WebSockets.ManagedWebSocket.EnsureBufferContainsAsync(Int32 minimumRequiredBytes, CancellationToken cancellationToken, Boolean throwOnPrematureClosure)

and full of:
[ERR] [20] App: Error in ffprobe System.InvalidOperationException: Cannot start process because a file name has not been provided. at System.Diagnostics.Process.Start() at Emby.Server.Implementations.Diagnostics.CommonProcess.Start() at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.StartProcess(ProcessWrapper process) at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable 1 videoType, Boolean forceEnableLogging, CancellationToken cancellationToken) at MediaBrowser.Providers.MediaInfo.FFProbeAudioInfo.Probe[T](T item, MetadataRefreshOptions options, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService 2.RunCustomProvider(ICustomMetadataProvider 1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken)

Go to home page where I only got a Tile “Music” which contains… nothing.

Just checked in app settings Dashboad -> Libraries but even if I refresh delete / recreate -> same results.
Same results trying to create a Library for movies.

It ends up with nothing working:

I tried with other version of jellyfin (10.5.3, and with 10.4.3 which seems the latest version provided as real macOS application). It’s always the same result (with differents errors in logs / console)

Is this version of Jellyfin is supposed to work on macOS 10.14 ?
Did I miss something ?
Why do I see only Tiles and not the beautiful Library GUI ?

Thanks for you help

Update : I found that even if adding a new source in the Jellyfin library (music) just end up with an empty “music” tile, I can do a search and gets some results ! Albums are there ! But I cannot play any of them (no sound). Something is definitely broken.

1 Like

Hmmm, no idea ?
Any clue of what I missed ?

Potentially a silly question, but did you perform the installation as root (or a root-level user)? Your problems may well be the result of a permission issue.

Hi,

Thanks for the suggestion. Yes, the user is administrator of the mac.
What I really do not understand is why the installation results in Jellyfin presenting libraries in a layout that do not correspond to what is presented everywhere on wikis and product description…

It doesn’t work properly because of a permissions issue that can’t be solved by just running it as admin. There’s file access issues and more because of the way the app is forced in to virtualization because it’s not signed. (Yes, this is the reason you’re only getting those titles. I can replicate it and have verified the cause.)

You can follow along with my descent in to madness here: https://github.com/jellyfin/jellyfin-server-macos/issues/26

I am still actively trying to fix it.

1 Like

Hi Antony,

Thanks for your answer and explanations. I just read your current work on github… and I better understand how complex it is.

I’m not a developper but if I can help by any mean I will. I can test some builds and report you in github (or forums) what works and what fails.

Anyway, thanks for your work ! I can’t wait to test Jellyfin and drop Plex.

After almost six months of work, it’s here:

1 Like