Jellyfin-Tizen Images never load - Unicycle5 - 2025-03-01
Hi There, newb here tring to hopefully migrate to jellfin from plex.
I have 7000 series samsung TVs and would like to run Jellyfin Tizen on them. I have successfully installed it and it's faster and in my opinion a better experience all around compared to plex, except for one thing. The images for TV or movies don't load. They just show the "unique blurred image". I have Jellyfin running on a debian VM. The VM mounts SMB to video and metadata storage locations. There is no concern with bandwidth limitations either in network or storage throughput as it's over 10G and 24 SAS drives in RAID. The VM has 10 cores and 16 GB RAM. So it's unlikely that's an issue either.
If I run the jellyfin desktop app on arch or fedora images load just fine and very quickly, even if I'm in a part of the house with a horrible wifi connection. I don't think this has anything to do with network or storage. Watching 1080p works just fine so you'd think loading some images wouldn't be a big deal.
I used the instructions at https://github.com/jellyfin/jellyfin-tizen to build and install jellyfin tizen. This install went without any real issues when i got through the tizen studio nonesense. I figured maybe I screwed something up and tried the docker build and install method as well to see if that would make a difference. It unfortunately did not. I put jellyfin into debug mode and I notice I'm getting this error. Maybe this is the issue? I'm in over my head at this point though...
Code: [2025-02-28 18:44:16.145 -06:00] [ERR] [29] Microsoft.AspNetCore.Server.Kestrel: Connection id ""0HNAOB84BUNA3"", Request id ""0HNAOB84BUNA3:00000001"": An unhandled exception was thrown by the application.
System.InvalidOperationException: Response Content-Length mismatch: too many bytes written (298143 of 297962).
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.VerifyAndUpdateWrite(Int32 count)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.WritePipeAsync(ReadOnlyMemory`1 data, CancellationToken cancellationToken)
at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionBody.WriteAsync(ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Http.StreamCopyOperationInternal.CopyToAsync(Stream source, Stream destination, Nullable`1 count, Int32 bufferSize, CancellationToken cancel)
at Microsoft.AspNetCore.Internal.FileResultHelper.WriteFileAsync(HttpContext context, Stream fileStream, RangeItemHeaderValue range, Int64 rangeLength)
at Microsoft.AspNetCore.Mvc.Infrastructure.FileResultExecutorBase.WriteFileAsync(HttpContext context, Stream fileStream, RangeItemHeaderValue range, Int64 rangeLength)
at Microsoft.AspNetCore.Mvc.Infrastructure.FileStreamResultExecutor.ExecuteAsync(ActionContext context, FileStreamResult result)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|30_0[TFilter,TFilterAsync](ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeResultFilters>g__Awaited|28_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|7_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Jellyfin.Api.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Jellyfin.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.InvokeCore(HttpContext context, PathString matchedPath, PathString remainingPath)
at Jellyfin.Api.Middleware.BaseUrlRedirectionMiddleware.Invoke(HttpContext httpContext, IServerConfigurationManager serverConfigurationManager)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
Any help and guidance would be appreciated
RE: Jellyfin-Tizen Images never load - TheDreadPirate - 2025-03-01
What server version are you running? Are you using a reverse proxy?
RE: Jellyfin-Tizen Images never load - Unicycle5 - 2025-03-01
Server version: 10.10.6.0
reverse proxy: nginx
Looks like this is that cross-origin-resource-policy issue.
https://forum.jellyfin.org/t-solved-only-blurred-placeholder-images-being-displayed
I set it to the following in nginx config and it fixed the issue. I'd prefer a policy bsed on client type, but that's over my head for sure and if jellyfin is only internal, It's probably that big of a deal.
Code: add_header Cross-Origin-Opener-Policy "same-site" always;
add_header Cross-Origin-Embedder-Policy "require-corp" always;
add_header Cross-Origin-Resource-Policy "*" always;
If ther's a better way to handle that you're aware of I'd appreciate it, otherwise, probably good enough.
RE: Jellyfin-Tizen Images never load - TheDreadPirate - 2025-03-01
We actually removed all the cross-origin headers in our Nginx documentation due to this and other issues.
https://jellyfin.org/docs/general/networking/nginx/
I recall another user trying to do some sort of user-agent detection for other reasons, but that could be something you could look in to. The Nginx logs should be printing the user-agent string.
RE: Jellyfin-Tizen Images never load - Unicycle5 - 2025-03-08
That makes sense, thanks for help!
|