Jump to content

Library scan takes "forever"


Recommended Posts

PenkethBoy
Posted

yes i turned off DLNA several months ago as have no clients that need it

 

makes a huge difference the size of the log files and unnecessary network traffic

 

but no difference to the scan speed and i would be surprised if it did

Posted

Thanks for all the input. I'll do some more testing based on the input I got.

 

Some answers to questions above:

* Just now realized that Luke asked what kind of storage my metadata is on. The server (Intel NUC) has one SSD system disk and the "data disk" is a standard 2 1/2 internal HD. Not particularly fast, but not particularly slow either. But the metadata folder that Emby is using is quite large so this could very well be contributing to slow scans.

 

* For the theory of a "race condition" between MCM and Emby when it comes to metadata, I don't think this situation is possible. MCM *only* downloads metadata once when a movie or TV series/episode is added to my library, and Emby will read all or most of this and possibly add some of it's own metadata. This should not cause any conflict, and MCM is not in any way involved in my library scans, can and have in fact been totally disabled during a few scans just to make sure it's not contributing to the issue.

 

I am tempted to just as a test totally empty the Emby metadata folder and time an initial library scan and recursive scans from there. If I do that, will the subfolders undedr the "metadata" folder be automatically created during the library scan? What other consequences might this have? In any case most of my metadata is already in each movie/TV serves folder as added by MCM.

 

So, could I just stop Emby, rename "metadata" and create a new and empty "metadata" directory, and would the whole structure under "metadata" be recreated during the first library scan after that?

 

A quick check tells me that "metadata" right now contains 413,701 files, 298,796 folders and is 37.1 GB big. To avoid the "SSD wear and tear" issue I have moved this from %appdata% to my internal drive at the time of installing Emby (Media Browser at that time).

 

Any advice on this?

Posted

if you change the metadata directory, the scan will just remove references to what is no longer valid from the old one. in general it won't go out to the internet and get new metadata. you would have to do some manual content refreshes if that's what you want.

Posted

Ok thanks Luke, I'm fine with that. Would it be enought to do a "refresh" for the top folder of each of my libraries as they appear under "My Media" in the web interface? Eg would this trigger a recursive refresh? And what about chapter extraction for my movies, would that be done by the scheduled task responsible for that?

 

I'm also debating with myself if I should try to move my Emby metadata directory to my NAS, are there any strong reasons *not* to do that?

 

And if I do that, I was thinking maybe I could replicate this directory between my two Emby installations?

 

I currently do that for the movie libraries only, automatically replicated between two NAS units at different locations. Each with theyr own independent Emby surver running on Intel NUC's.

 

The Emby installations are identically configured, except the obvious like serevr name etc. So would the naming convention for the metadata be recognized by the server that *did not* create the metadata and thus used by that Emby server as well?

 

I realize that this is probably not supported and maybe not done before, but any insight would be appreciated. And if this sounds like a really bad idead then please let me know :)

Posted

I'm also debating with myself if I should try to move my Emby metadata directory to my NAS, are there any strong reasons *not* to do that?

 

If you are thinking about doing that, also consider turning on the option to save metadata with the media.  That will put it right where anything can relate it properly to the media and utilize it (including another Emby server).

Posted

Ok I will consider that. I've turned off DNLA as I don't use it anyhow, and if no other effect at least the logfile gets less "polluted".

 

I tried to move my metadata folder back to the system SSD drive, but that had absolutely no effect on the library scan times. So I moved id back.

 

I do notice that the server is throwing some error messages in the logfile:

2017-02-23 15:22:34.4661 Error HttpClient: Error getting response from http://192.168.5.1:1780
	*** Error Report ***
	Version: 3.2.1.0
	Command line: C:\Users\media\AppData\Roaming\MediaBrowser-Server\system\MediaBrowser.ServerApplication.exe -service
	Operating system: Microsoft Windows NT 6.2.9200.0
	64-Bit OS: True
	64-Bit Process: True
	Processor count: 4
	Program data path: C:\Users\media\AppData\Roaming\MediaBrowser-Server
	Application directory: C:\Users\media\AppData\Roaming\MediaBrowser-Server\system
	System.AggregateException: One or more errors occurred. ---> System.Net.WebException: The server committed a protocol violation. Section=ResponseStatusLine
	   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
	   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
	   --- End of inner exception stack trace ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Common.Implementations.HttpClientManager.HttpClientManager.<SendAsyncInternal>d__22.MoveNext()
	---> (Inner Exception #0) System.Net.WebException: The server committed a protocol violation. Section=ResponseStatusLine
	   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
	   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)<---
	
	System.AggregateException
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Common.Implementations.HttpClientManager.HttpClientManager.<SendAsyncInternal>d__22.MoveNext()
	InnerException: System.Net.WebException
	System.Net.WebException: The server committed a protocol violation. Section=ResponseStatusLine
	   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
	   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
	   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
	   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
	
2017-02-23 15:22:34.4661 Error PortMapper: Error creating port map: One or more errors occurred.
2017-02-23 15:22:34.4661 Error HttpClient: Error getting response from http://192.168.5.1:1780
	*** Error Report ***
	Version: 3.2.1.0
	Command line: C:\Users\media\AppData\Roaming\MediaBrowser-Server\system\MediaBrowser.ServerApplication.exe -service
	Operating system: Microsoft Windows NT 6.2.9200.0
	64-Bit OS: True
	64-Bit Process: True
	Processor count: 4
	Program data path: C:\Users\media\AppData\Roaming\MediaBrowser-Server
	Application directory: C:\Users\media\AppData\Roaming\MediaBrowser-Server\system
	System.AggregateException: One or more errors occurred. ---> System.Net.WebException: The server committed a protocol violation. Section=ResponseStatusLine
	   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
	   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
	   --- End of inner exception stack trace ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Common.Implementations.HttpClientManager.HttpClientManager.<SendAsyncInternal>d__22.MoveNext()
	---> (Inner Exception #0) System.Net.WebException: The server committed a protocol violation. Section=ResponseStatusLine
	   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
	   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)<---
	
	System.AggregateException
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Common.Implementations.HttpClientManager.HttpClientManager.<SendAsyncInternal>d__22.MoveNext()
	InnerException: System.Net.WebException
	System.Net.WebException: The server committed a protocol violation. Section=ResponseStatusLine
	   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
	   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
	   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
	   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
	
2017-02-23 15:22:34.4661 Error HttpClient: Error getting response from http://192.168.5.1:1780
	*** Error Report ***
	Version: 3.2.1.0
	Command line: C:\Users\media\AppData\Roaming\MediaBrowser-Server\system\MediaBrowser.ServerApplication.exe -service
	Operating system: Microsoft Windows NT 6.2.9200.0
	64-Bit OS: True
	64-Bit Process: True
	Processor count: 4
	Program data path: C:\Users\media\AppData\Roaming\MediaBrowser-Server
	Application directory: C:\Users\media\AppData\Roaming\MediaBrowser-Server\system
	System.AggregateException: One or more errors occurred. ---> System.Net.WebException: The server committed a protocol violation. Section=ResponseStatusLine
	   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
	   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
	   --- End of inner exception stack trace ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Common.Implementations.HttpClientManager.HttpClientManager.<SendAsyncInternal>d__22.MoveNext()
	---> (Inner Exception #0) System.Net.WebException: The server committed a protocol violation. Section=ResponseStatusLine
	   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
	   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)<---
	
	System.AggregateException
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Common.Implementations.HttpClientManager.HttpClientManager.<SendAsyncInternal>d__22.MoveNext()
	InnerException: System.Net.WebException
	System.Net.WebException: The server committed a protocol violation. Section=ResponseStatusLine
	   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
	   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
	   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
	   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
	
2017-02-23 15:22:34.4661 Error PortMapper: Error creating port map: One or more errors occurred.
2017-02-23 15:22:34.4661 Error PortMapper: Error creating port map: One or more errors occurred.

The local address involved is actually my router IP, why is Emby contacting my router directly?

 

Another error:

2017-02-23 15:24:16.3878 Error App: Error in Dynamic Image Provider
	*** Error Report ***
	Version: 3.2.1.0
	Command line: C:\Users\media\AppData\Roaming\MediaBrowser-Server\system\MediaBrowser.ServerApplication.exe -service
	Operating system: Microsoft Windows NT 6.2.9200.0
	64-Bit OS: True
	64-Bit Process: True
	Processor count: 4
	Program data path: C:\Users\media\AppData\Roaming\MediaBrowser-Server
	Application directory: C:\Users\media\AppData\Roaming\MediaBrowser-Server\system
	ImageMagickSharp.WandException: UnableToOpenBlob `C:\Users\media\AppData\Roaming\MediaBrowser-Server\metadata\metadata\library\ba\ba0e1c41d07d6e2dc6e3428fea89f5ad\poster.jpg': No such file or directory @ error/blob.c/OpenBlob/2701
	   at ImageMagickSharp.WandCore`1.CheckErrorBool(Int32 status)
	   at ImageMagickSharp.MagickWand.OpenImage(String path)
	   at ImageMagickSharp.MagickWand.OpenImages(String[] paths)
	   at ImageMagickSharp.MagickWand..ctor(String[] paths)
	   at Emby.Drawing.ImageMagick.StripCollageBuilder.BuildThumbCollageWand(List`1 paths, Int32 width, Int32 height)
	   at Emby.Drawing.ImageMagick.StripCollageBuilder.BuildThumbCollage(List`1 paths, String outputPath, Int32 width, Int32 height)
	   at Emby.Drawing.ImageMagick.ImageMagickEncoder.CreateImageCollage(ImageCollageOptions options)
	   at Emby.Drawing.ImageProcessor.<CreateImageCollage>d__58.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Images.BaseDynamicImageProvider`1.<CreateCollage>d__30.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.UserViews.CollectionFolderImageProvider.<CreateImage>d__4.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Images.BaseDynamicImageProvider`1.<FetchToFileInternal>d__23.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Images.BaseDynamicImageProvider`1.<FetchAsync>d__22.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Images.BaseDynamicImageProvider`1.<FetchAsync>d__21.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at MediaBrowser.Providers.Manager.MetadataService`2.<RunCustomProvider>d__23.MoveNext()
	ImageMagickSharp.WandException
	   at ImageMagickSharp.WandCore`1.CheckErrorBool(Int32 status)
	   at ImageMagickSharp.MagickWand.OpenImage(String path)
	   at ImageMagickSharp.MagickWand.OpenImages(String[] paths)
	   at ImageMagickSharp.MagickWand..ctor(String[] paths)
	   at Emby.Drawing.ImageMagick.StripCollageBuilder.BuildThumbCollageWand(List`1 paths, Int32 width, Int32 height)
	   at Emby.Drawing.ImageMagick.StripCollageBuilder.BuildThumbCollage(List`1 paths, String outputPath, Int32 width, Int32 height)
	   at Emby.Drawing.ImageMagick.ImageMagickEncoder.CreateImageCollage(ImageCollageOptions options)
	   at Emby.Drawing.ImageProcessor.<CreateImageCollage>d__58.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Images.BaseDynamicImageProvider`1.<CreateCollage>d__30.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.UserViews.CollectionFolderImageProvider.<CreateImage>d__4.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Images.BaseDynamicImageProvider`1.<FetchToFileInternal>d__23.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Images.BaseDynamicImageProvider`1.<FetchAsync>d__22.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Images.BaseDynamicImageProvider`1.<FetchAsync>d__21.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at MediaBrowser.Providers.Manager.MetadataService`2.<RunCustomProvider>d__23.MoveNext()
	
2017-02-23 15:24:16.9663 Info ImageProcessor: Creating image collage and saving to D:\MediaBrowser-Server\cache\cache\temp\5bf2bac8bb7a4bc5825d1be9fa198017.png
2017-02-23 15:24:17.0193 Error App: Error in Dynamic Image Provider
	*** Error Report ***
	Version: 3.2.1.0
	Command line: C:\Users\media\AppData\Roaming\MediaBrowser-Server\system\MediaBrowser.ServerApplication.exe -service
	Operating system: Microsoft Windows NT 6.2.9200.0
	64-Bit OS: True
	64-Bit Process: True
	Processor count: 4
	Program data path: C:\Users\media\AppData\Roaming\MediaBrowser-Server
	Application directory: C:\Users\media\AppData\Roaming\MediaBrowser-Server\system
	ImageMagickSharp.WandException: UnableToOpenBlob `C:\Users\media\AppData\Roaming\MediaBrowser-Server\metadata\metadata\library\ba\ba0e1c41d07d6e2dc6e3428fea89f5ad\poster.jpg': No such file or directory @ error/blob.c/OpenBlob/2701
	   at ImageMagickSharp.WandCore`1.CheckErrorBool(Int32 status)
	   at ImageMagickSharp.MagickWand.OpenImage(String path)
	   at ImageMagickSharp.MagickWand.OpenImages(String[] paths)
	   at ImageMagickSharp.MagickWand..ctor(String[] paths)
	   at Emby.Drawing.ImageMagick.StripCollageBuilder.BuildThumbCollageWand(List`1 paths, Int32 width, Int32 height)
	   at Emby.Drawing.ImageMagick.StripCollageBuilder.BuildThumbCollage(List`1 paths, String outputPath, Int32 width, Int32 height)
	   at Emby.Drawing.ImageMagick.ImageMagickEncoder.CreateImageCollage(ImageCollageOptions options)
	   at Emby.Drawing.ImageProcessor.<CreateImageCollage>d__58.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Images.BaseDynamicImageProvider`1.<CreateCollage>d__30.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.UserViews.CollectionFolderImageProvider.<CreateImage>d__4.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Images.BaseDynamicImageProvider`1.<FetchToFileInternal>d__23.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Images.BaseDynamicImageProvider`1.<FetchAsync>d__22.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Images.BaseDynamicImageProvider`1.<FetchAsync>d__21.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at MediaBrowser.Providers.Manager.MetadataService`2.<RunCustomProvider>d__23.MoveNext()
	ImageMagickSharp.WandException
	   at ImageMagickSharp.WandCore`1.CheckErrorBool(Int32 status)
	   at ImageMagickSharp.MagickWand.OpenImage(String path)
	   at ImageMagickSharp.MagickWand.OpenImages(String[] paths)
	   at ImageMagickSharp.MagickWand..ctor(String[] paths)
	   at Emby.Drawing.ImageMagick.StripCollageBuilder.BuildThumbCollageWand(List`1 paths, Int32 width, Int32 height)
	   at Emby.Drawing.ImageMagick.StripCollageBuilder.BuildThumbCollage(List`1 paths, String outputPath, Int32 width, Int32 height)
	   at Emby.Drawing.ImageMagick.ImageMagickEncoder.CreateImageCollage(ImageCollageOptions options)
	   at Emby.Drawing.ImageProcessor.<CreateImageCollage>d__58.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Images.BaseDynamicImageProvider`1.<CreateCollage>d__30.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.UserViews.CollectionFolderImageProvider.<CreateImage>d__4.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Images.BaseDynamicImageProvider`1.<FetchToFileInternal>d__23.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Images.BaseDynamicImageProvider`1.<FetchAsync>d__22.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Emby.Server.Implementations.Images.BaseDynamicImageProvider`1.<FetchAsync>d__21.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at MediaBrowser.Providers.Manager.MetadataService`2.<RunCustomProvider>d__23.MoveNext()

I see this now when running a new Library scan after moving the metadata folder back to the second internal HD.

Posted

Another question, what is the approximately time I should expect a library scan to take with 2800 movies and 160 TV series (each with multiple seasons and episodes) in my libraries? I won't bother with this if what I'm seeing is what I should expect, and since there are no obvious errors I'm starting to wonder if this is just how long it takes?

PenkethBoy
Posted

 

 

For me a normal scan is ~20 mins (with no changes) - like you across a 1GB network - although the speed of the network is a minimal factor in this as when on wireless a while ago the speed was no different for the scan and you can see in task manager that Emby has a very small network foot print while scanning. (this is with ~ 5000 video files with Metadata)
mastrmind11
Posted
The local address involved is actually my router IP, why is Emby contacting my router directly?

 

 

Disable automatic port mapping.

  • Like 1
Posted (edited)

Another question, what is the approximately time I should expect a library scan to take with 2800 movies and 160 TV series (each with multiple seasons and episodes) in my libraries? I won't bother with this if what I'm seeing is what I should expect, and since there are no obvious errors I'm starting to wonder if this is just how long it takes?

@@chjohans

 

3,000 Movies -- 800 TV Series (28,000 episodes) -- Metadata information is stored in media folders.

Library scans take on average between 30 - 45 minutes. I think my quickest has been around 29 minutes.

  1. I disabled Chapter Image Extractions in each TV library. Not needed and unnecessarily increases the size of Emby database.
  2. I disabled Chapter Image Extraction during library scan in each Movie library and only have this done as a Task during off hours.
Edited by blade005
Happy2Play
Posted (edited)

Another question, what is the approximately time I should expect a library scan to take with 2800 movies and 160 TV series (each with multiple seasons and episodes) in my libraries? I won't bother with this if what I'm seeing is what I should expect, and since there are no obvious errors I'm starting to wonder if this is just how long it takes?

 

A lot depends on your setup.  Is all your data local or external?  Are you using a SSD for the server?

 

This is my small server

 

58af1108bc502_scan.jpg

Edited by Happy2Play
Posted

Disable automatic port mapping.

Thanks. I was thinking the same thing so went through the settings again and disabled it. I don't have upnp enabled anyhow as I don't like anything to drill holes in my firewall.

Posted

It won't affect the library scan though.

Posted

I understand that perfectly, and I would appreciate any input that *would* affect the library scan :)

Posted

 

@@chjohans

 

3,000 Movies -- 800 TV Series (28,000 episodes) -- Metadata information is stored in media folders.

Library scans take on average between 30 - 45 minutes. I think my quickest has been around 29 minutes.

  1. I disabled Chapter Image Extractions in each TV library. Not needed and unnecessarily increases the size of Emby database.
  2. I disabled Chapter Image Extraction during library scan in each Movie library and only have this done as a Task during off hours.

 

 

Thanks, your library is a bit bigger than mine and yet you have better library scan times. Care to share your system specs and how your libraries and metadata are stored?

Posted

A lot depends on your setup.  Is all your data local or external?  Are you using a SSD for the server?

 

This is my small server

 

58af1108bc502_scan.jpg

 

Thanks, now this is very interesting as you have way better library scan times than me with a bigger library. Could you please share some system specs?

 

I'm running Emby server under Windows 10 on an Intel NUC running , it has an Intel Core i3 @ 1,8 GHz and 8 GB ram. The system disk is an SSD, and it has one other standard 2 1/2 internal drive (laptop type).

 

My libraries are stored on a Synology DS1815+, which is quite fast and file copying back and forth easily gives me speeds above 100 MB/s consistently.

 

I'm using "Media Center Master" to download metadata initially, which is stored with the media, before it's moved to the Emby library on the NAS.

 

Emby is still configured to allow metadata downloads to "fill in" for what might be missing and for "Auto Box Sets" to work, chapter extraction for movies (which is not done at library scans but as a separata task). Emby is also configured *not* to store metadata with the media, so all metadata Emby downloads goes in one folder.

 

To reduce "wear and tear" on the SSD I moved this folder to the second internal HD, I've also tried to move it back to the SSD drive but that does not make any difference with regards to library scan times.

 

My library scans *always* takes more than an hour, very frustration, and nothing I've tried so far makes any difference whatsoever. Deleting all plugins and disabling metadata download totally made no difference either.

 

I've had this server for some time so my directories in %appdata% are still named "mediabrowser" but that should not make any difference, unless there is something else leftover from the older mediabrowser server that's slowing things down.

Posted

If your server installation is that old, then a fresh start will most likely yield better database performance.

Happy2Play
Posted (edited)

Thanks, now this is very interesting as you have way better library scan times than me with a bigger library. Could you please share some system specs?

 

See my signature for server specs.

 

My Main server

58af692995f9e_stable.jpg

 

Both servers have all local/internal data.

Edited by Happy2Play
Posted

Thanks. Do you store metadata with your media? Could you please check and post the size and number of files in your "metadata" folder?

Happy2Play
Posted (edited)

Thanks. Do you store metadata with your media? Could you please check and post the size and number of files in your "metadata" folder?

 

Yes I have Emby use the metadata created by MCM.

 

Well on my large server the Metadata/People folder is 62.6 GB with 222,937 Folders.  It will take awhile to get the info for metadata folder "73.7 GB 323,118 Folders".

 

Radeon's IMDB IBN People Downloader can get some rather large images

dimensions 3739x5467 14.6MB

 

 

Small server metadata folder

23.6 GB

156,712 Folders

Edited by Happy2Play
Happy2Play
Posted

@@chjohans
 
Can you enable debug logging. Dashboard-Logs-Enable debug logging then restart you server to start debug logging

 

Just a wild guess but the scan times could be Music related.

Posted

Thanks, I'll do that a bit later. But I was thinking the same thing and removed my music library but the slow library scans presisted.

 

I think I'll do a fresh install and take it from there.

Posted

How do you guys get the library scan to give you a total number of items?

 

Mine does not give that info, it just says:

 

Last ran x hours ago, taking x minutes 

Happy2Play
Posted

How do you guys get the library scan to give you a total number of items?

 

Mine does not give that info, it just says:

 

Last ran x hours ago, taking x minutes 

 

That is the Statistics plug and library scan results in one image.

Posted

Where do you get that plugin?

I don't see anything called Statistics in the Plugin Catalog ?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...