ConfusedPolarBear / intro-skipper

Fingerprint audio to automatically detect and skip intro sequences in Jellyfin
GNU General Public License v3.0
988 stars 392 forks source link

Cant analyze episodes #150

Closed iFraan closed 1 year ago

iFraan commented 1 year ago

Describe the bug

I tried diferent versions of the plugin (including current master), compiled my own version of jellyfin/master, went back to older versions of jellyfin, tried diferent versions of ffmpeg and even deleted entire plugins folders. None seems to work.

Both fails almost instantly. image

Operating system

Windows Server 2019

Jellyfin installation method

Baremetal

Container image and tag

No response

Support Bundle

FFmpeg version:

ffmpeg version 5.1.2-Jellyfin Copyright (c) 2000-2022 the FFmpeg developers
built with gcc 10-win32 (GCC) 20220324
configuration: --prefix=/opt/ffmpeg --arch=x86_64 --target-os=mingw32 --cross-prefix=x86_64-w64-mingw32- --pkg-config=pkg-config --pkg-config-flags=--static --extra-libs='-lfftw3f -lstdc++' --extra-cflags=-DCHROMAPRINT_NODLL --extra-version=Jellyfin --disable-ffplay --disable-debug --disable-doc --disable-sdl2 --disable-ptx-compression --disable-w32threads --enable-pthreads --enable-shared --enable-lto --enable-gpl --enable-version3 --enable-schannel --enable-iconv --enable-libxml2 --enable-zlib --enable-lzma --enable-gmp --enable-chromaprint --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libwebp --enable-libvpx --enable-libzimg --enable-libx264 --enable-libx265 --enable-libsvtav1 --enable-libdav1d --enable-libfdk-aac --enable-opencl --enable-dxva2 --enable-d3d11va --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil      57. 28.100 / 57. 28.100
libavcodec     59. 37.100 / 59. 37.100
libavformat    59. 27.100 / 59. 27.100
libavdevice    59.  7.100 / 59.  7.100
libavfilter     8. 44.100 /  8. 44.100
libswscale      6.  7.100 /  6.  7.100
libswresample   4.  7.100 /  4.  7.100
libpostproc    56.  6.100 / 56.  6.100

Jellyfin logs

[20:07:03] [DBG] [7] ConfusedPolarBear.Plugin.IntroSkipper.Entrypoint: Installed version of ffmpeg meets fingerprinting requirements
[20:07:03] [INF] [7] ConfusedPolarBear.Plugin.IntroSkipper.QueueManager: Limiting analysis to the following libraries: ["Series"]
[20:07:03] [DBG] [7] ConfusedPolarBear.Plugin.IntroSkipper.QueueManager: Not analyzing library "Documentales": not selected by user
[20:07:03] [DBG] [7] ConfusedPolarBear.Plugin.IntroSkipper.QueueManager: Not analyzing library "Musica": not selected by user
[20:07:03] [DBG] [7] ConfusedPolarBear.Plugin.IntroSkipper.QueueManager: Not analyzing library "Peliculas": not selected by user
[20:07:03] [INF] [7] ConfusedPolarBear.Plugin.IntroSkipper.QueueManager: Running enqueue of items in library Series (5ddaa59a73205234890fdcfc683e14ed)
[20:07:03] [DBG] [7] ConfusedPolarBear.Plugin.IntroSkipper.QueueManager: Constructing anonymous internal query
[20:07:03] [DBG] [7] ConfusedPolarBear.Plugin.IntroSkipper.QueueManager: Getting items
[20:07:03] [DBG] [7] ConfusedPolarBear.Plugin.IntroSkipper.QueueManager: Iterating through library items
[20:07:03] [DBG] [7] ConfusedPolarBear.Plugin.IntroSkipper.QueueManager: Queued 3006 episodes
[20:07:03] [DBG] [7] ConfusedPolarBear.Plugin.IntroSkipper.DetectIntroductionsTask: EDL action: None - taking no further action
[20:07:03] [INF] [7] ConfusedPolarBear.Plugin.IntroSkipper.DetectIntroductionsTask: Analyzing 8 files from 1899 season 1
[20:07:03] [INF] [20] ConfusedPolarBear.Plugin.IntroSkipper.DetectIntroductionsTask: Analyzing 8 files from 4400 season 1
[20:07:03] [ERR] [7] Emby.Server.Implementations.ScheduledTasks.TaskManager: Error executing Scheduled Task
System.AggregateException: One or more errors occurred. (A non-collectible assembly may not reference a collectible assembly.) (A non-collectible assembly may not reference a collectible assembly.)
 ---> System.NotSupportedException: A non-collectible assembly may not reference a collectible assembly.
   at System.Reflection.Emit.ModuleBuilder.<GetTypeRef>g____PInvoke|13_0(QCallModule module, UInt16* strFullName, QCallModule refedModule, Int32 tkResolution)
   at System.Reflection.Emit.ModuleBuilder.GetTypeTokenWorkerNoLock(Type type, Boolean getGenericDefinition)
   at System.Reflection.Emit.ModuleBuilder.GetTypeTokenInternal(Type type, Boolean getGenericDefinition)
   at System.Reflection.Emit.SignatureHelper.AddOneArgTypeHelperWorker(Type clsArgument, Boolean lastWasGenericInst)
   at System.Reflection.Emit.SignatureHelper.AddOneArgTypeHelperWorker(Type clsArgument, Boolean lastWasGenericInst)
   at System.Reflection.Emit.ILGenerator.DeclareLocal(Type localType, Boolean pinned)
   at System.Xml.Serialization.CodeGenerator.DeclareLocal(Type type, String name)
   at System.Xml.Serialization.CodeGenerator.DeclareOrGetLocal(Type type, String name)
   at System.Xml.Serialization.ReflectionAwareILGen.WriteArrayLocalDecl(String typeName, String variableName, SourceInfo initValue, TypeDesc arrayTypeDesc)
   at System.Xml.Serialization.XmlSerializationWriterILGen.WriteElement(SourceInfo source, ElementAccessor element, String arrayName, Boolean writeAccessor)
   at System.Xml.Serialization.XmlSerializationWriterILGen.WriteElements(SourceInfo source, String enumSource, ElementAccessor[] elements, TextAccessor text, ChoiceIdentifierAccessor choice, String arrayName, Boolean writeAccessors, Boolean isNullable)
   at System.Xml.Serialization.XmlSerializationWriterILGen.WriteMember(SourceInfo source, String choiceSource, ElementAccessor[] elements, TextAccessor text, ChoiceIdentifierAccessor choice, TypeDesc memberTypeDesc, Boolean writeAccessors)
   at System.Xml.Serialization.XmlSerializationWriterILGen.GenerateTypeElement(XmlTypeMapping xmlTypeMapping)
   at System.Xml.Serialization.TempAssembly.GenerateRefEmitAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace)
   at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location)
   at System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace, String location)
   at System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
   at Emby.Server.Implementations.Serialization.MyXmlSerializer.<>c.<GetSerializer>b__1_0(String _, Type t) in C:\Users\franciscoz\Documents\jellyfin\git\backend\Emby.Server.Implementations\Serialization\MyXmlSerializer.cs:line 24
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd[TArg](TKey key, Func`3 valueFactory, TArg factoryArgument)
   at Emby.Server.Implementations.Serialization.MyXmlSerializer.GetSerializer(Type type) in C:\Users\franciscoz\Documents\jellyfin\git\backend\Emby.Server.Implementations\Serialization\MyXmlSerializer.cs:line 22
   at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToWriter(Object obj, XmlWriter writer) in C:\Users\franciscoz\Documents\jellyfin\git\backend\Emby.Server.Implementations\Serialization\MyXmlSerializer.cs:line 34
   at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToStream(Object obj, Stream stream) in C:\Users\franciscoz\Documents\jellyfin\git\backend\Emby.Server.Implementations\Serialization\MyXmlSerializer.cs:line 64
   at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToFile(Object obj, String file) in C:\Users\franciscoz\Documents\jellyfin\git\backend\Emby.Server.Implementations\Serialization\MyXmlSerializer.cs:line 77
   at ConfusedPolarBear.Plugin.IntroSkipper.Plugin.SaveTimestamps()
   at ConfusedPolarBear.Plugin.IntroSkipper.Plugin.UpdateTimestamps(Dictionary`2 newTimestamps, AnalysisMode mode)
   at ConfusedPolarBear.Plugin.IntroSkipper.ChapterAnalyzer.AnalyzeMediaFiles(ReadOnlyCollection`1 analysisQueue, AnalysisMode mode, CancellationToken cancellationToken)
   at ConfusedPolarBear.Plugin.IntroSkipper.BaseItemAnalyzerTask.AnalyzeItems(ReadOnlyCollection`1 items, CancellationToken cancellationToken)
   at ConfusedPolarBear.Plugin.IntroSkipper.BaseItemAnalyzerTask.<>c__DisplayClass5_0.<AnalyzeItems>b__0(KeyValuePair`2 season)
   at System.Threading.Tasks.Parallel.<>c__DisplayClass44_0`2.<PartitionerForEachWorker>b__1(IEnumerator& partitionState, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Parallel.<>c__DisplayClass44_0`2.<PartitionerForEachWorker>b__1(IEnumerator& partitionState, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
   at System.Threading.Tasks.TaskReplicator.Replica.Execute()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.TaskReplicator.Run[TState](ReplicatableUserAction`1 action, ParallelOptions options, Boolean stopOnFirstFailure)
   at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner`1 source, ParallelOptions parallelOptions, Action`1 simpleBody, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Parallel.PartitionerForEachWorker[TSource,TLocal](Partitioner`1 source, ParallelOptions parallelOptions, Action`1 simpleBody, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body)
   at ConfusedPolarBear.Plugin.IntroSkipper.BaseItemAnalyzerTask.AnalyzeItems(IProgress`1 progress, CancellationToken cancellationToken)
   at ConfusedPolarBear.Plugin.IntroSkipper.DetectIntroductionsTask.ExecuteAsync(IProgress`1 progress, CancellationToken cancellationToken)
   at Emby.Server.Implementations.ScheduledTasks.ScheduledTaskWorker.ExecuteInternal(TaskOptions options) in C:\Users\franciscoz\Documents\jellyfin\git\backend\Emby.Server.Implementations\ScheduledTasks\ScheduledTaskWorker.cs:line 396
 ---> (Inner Exception #1) System.NotSupportedException: A non-collectible assembly may not reference a collectible assembly.
   at System.Reflection.Emit.ModuleBuilder.<GetTypeRef>g____PInvoke|13_0(QCallModule module, UInt16* strFullName, QCallModule refedModule, Int32 tkResolution)
   at System.Reflection.Emit.ModuleBuilder.GetTypeTokenWorkerNoLock(Type type, Boolean getGenericDefinition)
   at System.Reflection.Emit.ModuleBuilder.GetTypeTokenInternal(Type type, Boolean getGenericDefinition)
   at System.Reflection.Emit.SignatureHelper.AddOneArgTypeHelperWorker(Type clsArgument, Boolean lastWasGenericInst)
   at System.Reflection.Emit.SignatureHelper.AddOneArgTypeHelperWorker(Type clsArgument, Boolean lastWasGenericInst)
   at System.Reflection.Emit.ILGenerator.DeclareLocal(Type localType, Boolean pinned)
   at System.Xml.Serialization.CodeGenerator.DeclareLocal(Type type, String name)
   at System.Xml.Serialization.CodeGenerator.DeclareOrGetLocal(Type type, String name)
   at System.Xml.Serialization.ReflectionAwareILGen.WriteArrayLocalDecl(String typeName, String variableName, SourceInfo initValue, TypeDesc arrayTypeDesc)
   at System.Xml.Serialization.XmlSerializationWriterILGen.WriteElement(SourceInfo source, ElementAccessor element, String arrayName, Boolean writeAccessor)
   at System.Xml.Serialization.XmlSerializationWriterILGen.WriteElements(SourceInfo source, String enumSource, ElementAccessor[] elements, TextAccessor text, ChoiceIdentifierAccessor choice, String arrayName, Boolean writeAccessors, Boolean isNullable)
   at System.Xml.Serialization.XmlSerializationWriterILGen.WriteMember(SourceInfo source, String choiceSource, ElementAccessor[] elements, TextAccessor text, ChoiceIdentifierAccessor choice, TypeDesc memberTypeDesc, Boolean writeAccessors)
   at System.Xml.Serialization.XmlSerializationWriterILGen.GenerateTypeElement(XmlTypeMapping xmlTypeMapping)
   at System.Xml.Serialization.TempAssembly.GenerateRefEmitAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace)
   at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location)
   at System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace, String location)
   at System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
   at Emby.Server.Implementations.Serialization.MyXmlSerializer.<>c.<GetSerializer>b__1_0(String _, Type t) in C:\Users\franciscoz\Documents\jellyfin\git\backend\Emby.Server.Implementations\Serialization\MyXmlSerializer.cs:line 24
   at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd[TArg](TKey key, Func`3 valueFactory, TArg factoryArgument)
   at Emby.Server.Implementations.Serialization.MyXmlSerializer.GetSerializer(Type type) in C:\Users\franciscoz\Documents\jellyfin\git\backend\Emby.Server.Implementations\Serialization\MyXmlSerializer.cs:line 22
   at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToWriter(Object obj, XmlWriter writer) in C:\Users\franciscoz\Documents\jellyfin\git\backend\Emby.Server.Implementations\Serialization\MyXmlSerializer.cs:line 34
   at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToStream(Object obj, Stream stream) in C:\Users\franciscoz\Documents\jellyfin\git\backend\Emby.Server.Implementations\Serialization\MyXmlSerializer.cs:line 64
   at Emby.Server.Implementations.Serialization.MyXmlSerializer.SerializeToFile(Object obj, String file) in C:\Users\franciscoz\Documents\jellyfin\git\backend\Emby.Server.Implementations\Serialization\MyXmlSerializer.cs:line 77
   at ConfusedPolarBear.Plugin.IntroSkipper.Plugin.SaveTimestamps()
   at ConfusedPolarBear.Plugin.IntroSkipper.Plugin.UpdateTimestamps(Dictionary`2 newTimestamps, AnalysisMode mode)
   at ConfusedPolarBear.Plugin.IntroSkipper.ChapterAnalyzer.AnalyzeMediaFiles(ReadOnlyCollection`1 analysisQueue, AnalysisMode mode, CancellationToken cancellationToken)
   at ConfusedPolarBear.Plugin.IntroSkipper.BaseItemAnalyzerTask.AnalyzeItems(ReadOnlyCollection`1 items, CancellationToken cancellationToken)
   at ConfusedPolarBear.Plugin.IntroSkipper.BaseItemAnalyzerTask.<>c__DisplayClass5_0.<AnalyzeItems>b__0(KeyValuePair`2 season)
   at System.Threading.Tasks.Parallel.<>c__DisplayClass44_0`2.<PartitionerForEachWorker>b__1(IEnumerator& partitionState, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Parallel.<>c__DisplayClass44_0`2.<PartitionerForEachWorker>b__1(IEnumerator& partitionState, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
   at System.Threading.Tasks.TaskReplicator.Replica.Execute()<---
[20:07:03] [INF] [7] Emby.Server.Implementations.ScheduledTasks.TaskManager: Detect Introductions Failed after 0 minute(s) and 0 seconds
juplayLP commented 1 year ago

Seems to be an issue with the unstable release Branch, had the same issue until i moved back to stable (on windows: stop the jellyfin service, get the stable server (1.8.9 Server only and extract the zip over the existing installation. After that, just restart the jellyfin service).

iFraan commented 1 year ago

I want to clarify that i tried out the official releases, not only 10.8.9 but the latest 10.8.10 too and had no luck whatsoever.

I successfully resolved the problem going as back as 10.8.4, rocking that version since roughly 4-5 weeks with no issues.