Jump to content

Cover Art: Error Enhancing Image


Go to solution Solved by Rastilyn,

Recommended Posts

Posted

I have been trying to get some custom overlays for resolution on my cover art without much success. Went through a few posts and moved the overlays from a custom folder to the default plugin directory and that did not seem to work either. I am running the latest beta server 4.0.9.35 currently and have also uninstalled the plugin and reinstalled. rebooted OS ans Emby server multiple times. In the logs i am seeing the following for every image it tries to enhance. 

 

2025-01-06 15:46:05.928 Info CoverArt: image enhance of Avengers: Infinity War took 0.003 seconds.
2025-01-06 15:46:05.929 Error ImageProcessor: Error enhancing image
	*** Error Report ***
	Version: 4.9.0.35
	Command line: C:\Emby\Emby-Server\system\EmbyServer.dll -noautorunwebapp
	Operating system: Microsoft Windows 10.0.19045
	OS/Process: x64/x64
	Framework: .NET 8.0.11
	Runtime: C:/Emby/Emby-Server/system/System.Private.CoreLib.dll
	Processor count: 4
	Data path: C:\Emby\Emby-Server\programdata
	Application path: C:\Emby\Emby-Server\system
	System.ArgumentNullException: System.ArgumentNullException: Value cannot be null. (Parameter 'image')
	   at CoverArt.Skia.CAHelper.DrawImage(SKBitmap destination, SKBitmap source, Rectangle destinationRect, Rectangle sourceRect)
	   at CoverArt.Skia.CoverArtBaseEnhancer.DrawOverlay(SKBitmap work, OverlayDefinition oDef, IEnumerable`1 imagePaths, Size imgSize, SKBitmap explicitImage)
	   at CoverArt.Skia.CoverArtBaseEnhancer.ApplyOverlays(ProfileDefinition profile, BaseItem item, SKBitmap newImage, Size imgSize)
	   at CoverArt.Skia.CoverArtBaseEnhancer.EnhanceImage(SKBitmap originalImage, ProfileDefinition profile, String itemType, String frameType, BaseItem item, List`1 childImages)
	   at CoverArt.Skia.CoverArtBaseEnhancer.EnhanceImageAsync(BaseItem item, String inputPath, String outputPath, ImageType imageType, Int32 imageIndex)
	   at Emby.Drawing.ImageProcessor.ExecuteImageEnhancers(IEnumerable`1 imageEnhancers, String inputPath, String outputPath, BaseItem item, ImageType imageType, Int32 imageIndex)
	   at Emby.Drawing.ImageProcessor.GetEnhancedImageInternal(String originalImagePath, BaseItem item, ImageType imageType, Int32 imageIndex, IImageEnhancer[] supportedEnhancers, String cacheGuid, CancellationToken cancellationToken)
	   at Emby.Drawing.ImageProcessor.GetEnhancedImage(ItemImageInfo image, List`1 imageFeatures, ImageProcessingOptions options, BaseItem item, Int32 imageIndex, IImageEnhancer[] enhancers, CancellationToken cancellationToken)
	Source: CoverArt
	TargetSite: Void DrawImage(SkiaSharp.SKBitmap, SkiaSharp.SKBitmap, CoverArt.Drawing.Rectangle, CoverArt.Drawing.Rectangle)
	
2025-01-06 15:46:05.969 Info CoverArt: image enhance of Back to the Future took 0.003 seconds.
2025-01-06 15:46:05.970 Error ImageProcessor: Error enhancing image
	*** Error Report ***
	Version: 4.9.0.35
	Command line: C:\Emby\Emby-Server\system\EmbyServer.dll -noautorunwebapp
	Operating system: Microsoft Windows 10.0.19045
	OS/Process: x64/x64
	Framework: .NET 8.0.11
	Runtime: C:/Emby/Emby-Server/system/System.Private.CoreLib.dll
	Processor count: 4
	Data path: C:\Emby\Emby-Server\programdata
	Application path: C:\Emby\Emby-Server\system
	System.ArgumentNullException: System.ArgumentNullException: Value cannot be null. (Parameter 'image')
	   at CoverArt.Skia.CAHelper.DrawImage(SKBitmap destination, SKBitmap source, Rectangle destinationRect, Rectangle sourceRect)
	   at CoverArt.Skia.CoverArtBaseEnhancer.DrawOverlay(SKBitmap work, OverlayDefinition oDef, IEnumerable`1 imagePaths, Size imgSize, SKBitmap explicitImage)
	   at CoverArt.Skia.CoverArtBaseEnhancer.ApplyOverlays(ProfileDefinition profile, BaseItem item, SKBitmap newImage, Size imgSize)
	   at CoverArt.Skia.CoverArtBaseEnhancer.EnhanceImage(SKBitmap originalImage, ProfileDefinition profile, String itemType, String frameType, BaseItem item, List`1 childImages)
	   at CoverArt.Skia.CoverArtBaseEnhancer.EnhanceImageAsync(BaseItem item, String inputPath, String outputPath, ImageType imageType, Int32 imageIndex)
	   at Emby.Drawing.ImageProcessor.ExecuteImageEnhancers(IEnumerable`1 imageEnhancers, String inputPath, String outputPath, BaseItem item, ImageType imageType, Int32 imageIndex)
	   at Emby.Drawing.ImageProcessor.GetEnhancedImageInternal(String originalImagePath, BaseItem item, ImageType imageType, Int32 imageIndex, IImageEnhancer[] supportedEnhancers, String cacheGuid, CancellationToken cancellationToken)
	   at Emby.Drawing.ImageProcessor.GetEnhancedImage(ItemImageInfo image, List`1 imageFeatures, ImageProcessingOptions options, BaseItem item, Int32 imageIndex, IImageEnhancer[] enhancers, CancellationToken cancellationToken)
	Source: CoverArt
	TargetSite: Void DrawImage(SkiaSharp.SKBitmap, SkiaSharp.SKBitmap, CoverArt.Drawing.Rectangle, CoverArt.Drawing.Rectangle)

 

Posted

Hi there, please attach the complete log file. thanks.

Posted

Did you do some kind of metadata of image refresh across your whole library?

Posted

Yes, I went into the movie library and refreshed the metadata telling it to replace all images.

Posted

I would just give it time for all of that to finish and then re-evaluate.

Posted

How long should i wait to expect to see changes? i have around 900 movies and the metadata refresh was done within about an hour. Looking today i can still see the same errors in the logs through out the day. 

Posted

HI, if you remove the use of custom overlays, do you still have an issue?

Posted

No, i can use the Icon's option and that works fine. The default icons are just kind of hard to see. 

It was difficult to find much on the Cover Art plugin but from what i gathered i should have them named a hdtype_SD.png,  hdtype_HD.png, and hdtype_UHD.png and they are sitting directly in the custom-overlay folder. 

Posted

Hi.  Are you sure this is set properly and the images are accessible?

image.png

  • 3 weeks later...
Posted
On 1/8/2025 at 8:23 AM, ebr said:

Hi.  Are you sure this is set properly and the images are accessible?

image.png

apologies, had some life events come up that stole my time from following up. but yes i am fairly certain that is correct. i even went as far as letting it autocomplete navigating to that folder. i have tried folders from both the local machine inside the emby folder and a folder on my NAS which i had intended to initially use. 

  • Solution
Posted

So i spent some time digging today... figured out the issue and wanted to post for anyone in the future who comes across this. 

Turns out my overlays were too large. I made the assumption that the plugin would see the image and resize accordingly so to get the best quality i used larger images. i knocked them down to under 100x100 and everything started working as expected. 

  • Thanks 1
Posted

Interesting.  Thanks for reporting back.

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...