Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Intros not working #64

Open
CaffeinatedOpe opened this issue Apr 18, 2023 · 8 comments
Open

Intros not working #64

CaffeinatedOpe opened this issue Apr 18, 2023 · 8 comments

Comments

@CaffeinatedOpe
Copy link

I've tried using both versions of the plugin from the repository, using a default install of jellyfin, but no intros play when i play a movie or tv show. I've tried random default intros, specific default intros, giving it a local directory and file, yet still nothing. I'm using the jelllyfin container in the default docker repos. Does anyone have ideas on how I could get this working?

@BamBoozledMC
Copy link

same issue here

@ghost
Copy link

ghost commented Apr 18, 2023

I was able to replicate this issue on a fresh install of the plug-in. It seems like it is getting a (404) Not Found exception when trying to get a unique id (from Vimeo?) and I was able to fix it with the following workaround.

  1. Find your intros config xml file, mine is at config/plugins/configurations/Jellyfin.Plugin.Intros.xml
  2. Input the local directory for your prerolls within the <Local> element: <Local>/prerolls</Local>
  3. Input a fake Id in the <Id> element. I used this from an old backup. The plugin will regenerate this id on its own when you try to play a movie/show. <Id>5839ed26-7dcd-4181-8327-8e6d3c9fe1b6</Id>
  4. Restart your server and test it out

image

@eniac111
Copy link

eniac111 commented Apr 20, 2023

@preroller your hack doesn't work for me for a local file :/

Every time a video is played, the xml config is rolled back to it's default state:

  <Local />
  <Vimeo />
  <Intro>443404335</Intro>
  <Resolution>1080</Resolution>
  <Random>false</Random>
  <Id>00000000-0000-0000-0000-000000000000</Id>

@BamBoozledMC
Copy link

@preroller your hack doesn't work for me for a local file :/

Every time a video is played, the xml config is rolled back to it's default state:

  <Local />
  <Vimeo />
  <Intro>443404335</Intro>
  <Resolution>1080</Resolution>
  <Random>false</Random>
  <Id>00000000-0000-0000-0000-000000000000</Id>

Make sure you have the latest version (v1.3.2)
it looks like you might have an older version of the plugin
I can say the fix did work for me (windows 10, Jellyfin 10.8.9)

@KillsT3aler69
Copy link

Same issue here, the fix doesn't work for me (I have the latest version)

@Lodeli
Copy link

Lodeli commented May 2, 2023

Same here, workaround didn't work.
Jellyfin in Docker container on a RPI 4.
Here's the logged exception with its stack trace.

[ERR] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL "GET" "/Users/8055555f0ce84f9897bf76c67e83a172/Items/0509e5a554b55f1fee93000484cb2822/Intros".
System.Net.WebException: The remote server returned an error: (404) Not Found.
   at System.Net.HttpWebRequest.GetResponse()
   at Jellyfin.Plugin.Intros.IntroManager.GetResponse(HttpWebRequest request)
   at Jellyfin.Plugin.Intros.IntroManager.Cache(Int32 intro)
   at Jellyfin.Plugin.Intros.IntroManager.Get()+MoveNext()
   at System.Collections.Generic.LargeArrayBuilder`1.AddRange(IEnumerable`1 items)
   at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable`1 source)
   at Emby.Server.Implementations.Library.LibraryManager.<>c.<GetIntros>b__132_1(IEnumerable`1 i)
   at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.MoveNext()
   at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.ToArray()
   at Jellyfin.Api.Controllers.UserLibraryController.GetIntros(Guid userId, Guid itemId)
   at lambda_method1369(Closure , Object )
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
   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()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
   at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
   at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
   at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
   at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.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.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
   at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
   at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
   at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)

@ghost
Copy link

ghost commented May 2, 2023

The issue is related to the internet caching. There's a new fork that removes Vimeo and introduces new features like rules for genres, tags, and studios. More details can be found in the pre-roll community discord.

@Lodeli
Copy link

Lodeli commented May 2, 2023

I've noticed only now that prerolls.video is down, I really missed this!
Now trying the new fork: working good by now, thank you!

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants