FAQ  •  Register  •  Login

bliss! Finding missing album art for Serviio

<<

Dan Gravell

Serviio newbie

Posts: 4

Joined: Thu Jan 11, 2018 10:46 am

Post Thu Jan 11, 2018 2:31 pm

bliss! Finding missing album art for Serviio

Some might say that when we swapped physical media for digital we swapped palpable material enjoyment for convenience. An oft-cited example is that of album art; once part-of-the-experience for music lovers, album art was said to be facing its demise in the world of playlists and attention-deficit track hopping.

Turns out these concerns were wrong. Album art remains central to the digital music experience, and the reasons aren't just nostalgia or window-dressing; album artwork makes a music library more usable.

It's well known that humans can more easily and readily recognise an image than textual data; their brains, tuned for pattern matching, can spot a familiar album cover with ease. So browsing for music is both more pleasant and easier with album art.

So album art is important; how do we make sure our Serviio music libraries are fully complemented?

Turns out there are a wealth of software for doing this. I write one such tool, bliss. I first contacted Petr from Serviio a few years ago because we were both working on Synology plug ins for our software, then I suggested an article on each other's websites, because we have complementary users. So here I am, with a run through of using bliss to find missing artwork for your Serviio collection. In this case I'll install on Synology alongside Serviio, but the same instructions can be applied to the other supported platforms (Windows, macOS, Linux, Docker, QNAP and more).

Seviio setup
I'll skip over the detail here, I'll assume as I'm on the Serviio forum you've already got it installed! As both bliss and Serviio run on Synology, I'll use this NAS platform for the walkthrough; you can also install both products on other platforms.

Here's Serviio running against my test library:

Image

You can see the odd piece of artwork, but there's a lot of missing art too. That's where bliss comes in!

Installing and configuring bliss
bliss is installed from a manual SPK; you can download it from our Synology page. You can install it, and then I'd also strongly advise upgrading to the embedded version of the Java runtime if you haven't already done so for your Serviio install. All the instructions are on the page mentioned above.

When bliss runs on a Synology (or another NAS, or a "normal" computer) it hosts its own website, through which you configure it, in a manner similar to Seviio. In Synology DSM, you can open the bliss web pages by clicking the URL on the package page or the "bl" icon on the main start menu:

Image

Click the settings cog at the top right to set bliss up. The folder that bliss monitors is pre-configured on Synology to the default Synology music folder. This needs to be the same folder that Serviio is serving from.

Image

Let's enable the cover art rule. Under Cover art click the ON/OFF button to enable cover art. When the cover art rule is enabled, bliss will automatically find and insert album art. It does this by checking if your artwork filename or embedded art exists. If neither exist, bliss looks it up online and installs it.

Serviio is capable of serving artwork from local image files (which it prefers) or embedded art. Generally I recommend both be used for interoperability with other software. So, choose folder as the filename, and mark embedded art for installation.

Note that Serviio resizes artwork to be compliant with the DLNA specification. This means 320x320 for clients that support it, but a quite low res 160x160 otherwise. As a result, you may want to specify a smaller maximum size for artwork to save on storage space, but like with storage options I would suggest allowing larger art for interoperability's sake (Serviio can always resize it).

Click Apply rules and bliss will begin scanning your music library.

The scan
As bliss scans the files, they will show on the Albums page. Once bliss recognises these as albums, they will also begin to be assessed for album art compliance against the rules you set up on the settings page.

Image

For those albums that were missing artwork, bliss will attempt to fill in the artwork automatically.

Pro tip: on a low powered NAS it might be best to temporarily disable Seviio's Keep library automatically updated option, to avoid additional feedback loops between the two apps!


If the art exists in a folder.jpg, say, but not embedded, bliss will use the folder.jpg and embed it inside the music files (and vice versa).

Once bliss has completed its assessment of an album, and executed any fixes, it will be marked Compliant or Noncompliant according to whether the rules are now obeyed; namely the presence of album art (plus also sizing rules, if you specified these).

Image

You can also change the album art manually either via the album page (click the Edit button under the cover art), or the Cover art alternatives link.

Back to Serviio

Once all your albums are scanned, it's time to go back to Serviio to make sure all that beautiful artwork is displayed!

If you have Delta scan enabled in Serviio, Serviio should see the changes bliss has made automatically. If not, you'll need to kick off a Force refresh.

Once completed, your library looks much more beautiful than before!

Image

bliss can also be used for checking tag accuracy, consolidating genres, resizing art, renaming files, padding track numbers and more! So give it a try and let me know what you think, and how this could additionally help with managing Serviio music libraries.

I'll be monitoring this thread so do ask me any questions you have!
<<

cbarry

Serviio newbie

Posts: 5

Joined: Wed Apr 29, 2020 8:18 pm

Post Wed Apr 29, 2020 8:33 pm

Re: bliss! Finding missing album art for Serviio

Hi Dan,

This looks really cool, and just like what I need. I'm brand new to serviio - just got a license a few minutes ago - and my 94GB of music has almost no art... I'm running serviio on my linux box,and connecting with a variety of devices around the house. I see your program is an .SPK file. How can I install this on my Manjaro (an Arch derivative) Linux box so I can get all this art installed?

Thanks (if you're still listening),
Christopher
<<

atc98092

User avatar

DLNA master

Posts: 5202

Joined: Fri Aug 17, 2012 10:22 pm

Location: Washington (the state)

Post Wed Apr 29, 2020 9:07 pm

Re: bliss! Finding missing album art for Serviio

I hope he responds to you, but he hasn't logged into the forum since Jan 26, 2018. Hopefully he has an alert for any posts to this thread. You might need to visit his web site: https://www.blisshq.com/
Dan

LG NANO85 4K TV, Samsung JU7100 4K TV, Sony BDP-S3500, Sharp 4K Roku TV, Insignia Roku TV, Roku Ultra, Premiere and Stick, Nvidia Shield, Yamaha RX-V583 AVR.
Primary server: Intel i5-6400, 16 gig ram, Windows 10 Pro, 22 TB hard drive space | Test server Windows 10 Pro, AMD Phenom II X4 965, 8 gig ram

HOWTO: Enable debug logging HOWTO: Identify media file contents
<<

cbarry

Serviio newbie

Posts: 5

Joined: Wed Apr 29, 2020 8:18 pm

Post Wed Apr 29, 2020 9:21 pm

Re: bliss! Finding missing album art for Serviio

Hi,
Yeah I went there, apparently a different way, and there was in fact a jar file, which I just installed. It installed fine, but has issues running it - get this:
  Code:
 /usr/share/java/bliss/bin/bliss.sh
No existing installation in /home/cbarry/.bliss/code. Will install from /usr/share/java/bliss/lib
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/home/cbarry/.bliss/code/20200423164541/guice-4.1.0.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
bliss version: 20200423
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /usr/lib/jvm/java-13-openjdk/lib/libawt_xawt.so
        at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2630)
        at java.base/java.lang.Runtime.load0(Runtime.java:744)
        at java.base/java.lang.System.load(System.java:1873)
        at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
        at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2440)
        at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2497)
        at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
        at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2648)
        at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:806)
        at java.base/java.lang.System.loadLibrary(System.java:1909)
        at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:1380)
        at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:1378)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
        at java.desktop/java.awt.Toolkit.loadLibraries(Toolkit.java:1377)
        at java.desktop/java.awt.Toolkit.<clinit>(Toolkit.java:1410)
        at java.desktop/java.awt.Component.<clinit>(Component.java:621)
        at com.elsten.bliss.bootstrap.FailedToStartDialog$.showFailure(BootstrapOld.scala:280)
        at com.elsten.bliss.bootstrap.BoostrapOld$$anonfun$1.applyOrElse(BootstrapOld.scala:239)
        at com.elsten.bliss.bootstrap.BoostrapOld$$anonfun$1.applyOrElse(BootstrapOld.scala:236)
        at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:38)
        at scala.util.Failure.recover(Try.scala:234)
        at com.elsten.bliss.bootstrap.BoostrapOld$.delayedEndpoint$com$elsten$bliss$bootstrap$BoostrapOld$1(BootstrapOld.scala:236)
        at com.elsten.bliss.bootstrap.BoostrapOld$delayedInit$body.apply(BootstrapOld.scala:60)
        at scala.Function0.apply$mcV$sp(Function0.scala:39)
        at scala.Function0.apply$mcV$sp$(Function0.scala:39)
        at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:17)
        at scala.App.$anonfun$main$1$adapted(App.scala:80)
        at scala.collection.immutable.List.foreach(List.scala:392)
        at scala.App.main(App.scala:80)
        at scala.App.main$(App.scala:78)
        at com.elsten.bliss.bootstrap.BoostrapOld$.main(BootstrapOld.scala:60)
        at com.elsten.bliss.bootstrap.Bootstrap.main(Bootstrap.java:11)


I'll try to debug it more.
<<

cbarry

Serviio newbie

Posts: 5

Joined: Wed Apr 29, 2020 8:18 pm

Post Wed Apr 29, 2020 10:21 pm

Re: bliss! Finding missing album art for Serviio

OK, I'm running manjaro, and by default it had the jdk-headless package installed ,which was missing the athena windowing toolkit libs. Installed the standard jdk, and all is well - it's scanning my library now for art.
<<

cbarry

Serviio newbie

Posts: 5

Joined: Wed Apr 29, 2020 8:18 pm

Post Wed Apr 29, 2020 10:56 pm

Re: bliss! Finding missing album art for Serviio

getting a lot of these:

  Code:
Assessing Hits by Joni Mitchell
 Updating cover art to https://bliss.onemusicapi.com:443/20170808/images/discogs/554902/1130876749.jpeg.jpg
 Won't install artwork because couldn't read https://bliss.onemusicapi.com:443/20170808/images/discogs/554902/1130876749.jpeg.jpg
 Assessing Hits by Joni Mitchell
 Assessing Hits by Joni Mitchell


Note the extension weirdness - everything seems to be appending an additional .jpg, which I think is why it can't find the images.
<<

cbarry

Serviio newbie

Posts: 5

Joined: Wed Apr 29, 2020 8:18 pm

Post Wed Apr 29, 2020 11:00 pm

Re: bliss! Finding missing album art for Serviio

actually, if I try to hit the URL manually, I get
  Code:
message   "No API key found in request"

which makes me wonder if there's an API key either I need, or bliss needs... sigh.
<<

Dan Gravell

Serviio newbie

Posts: 4

Joined: Thu Jan 11, 2018 10:46 am

Post Thu Apr 30, 2020 7:01 am

Re: bliss! Finding missing album art for Serviio

Hi - yeah I'm getting alerts :-)

Yeah - the original issue relates to certain Linux distros' Java - they appear to pretend to be a full JRE (at runtime), but actually are headless.

The current problem looks like a problem with the metadata server. The double extension isn't the problem, but "Won't install artwork because couldn't read..." definitely is. I'll take a look at this later.
<<

Dan Gravell

Serviio newbie

Posts: 4

Joined: Thu Jan 11, 2018 10:46 am

Post Thu Apr 30, 2020 9:29 am

Re: bliss! Finding missing album art for Serviio

I just checked it and it appears to work ok. Can you try again? It might just have been at a period of high usage this failed - sometimes when our servers scale out we can get temporary issues.
Attachments
folder.jpg
folder.jpg (73.15 KiB) Viewed 11752 times

Return to Third-party tools integration

Who is online

Users browsing this forum: No registered users and 31 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.