Jump to content

Plugin: Abs2Emby — AudioBookShelf Local Metadata Plugin for Emby


Recommended Posts

Jdiesel
Posted

Abs2Emby — AudioBookShelf Local Metadata Plugin for Emby

I wrote a server plugin that lets Emby read metadata and cover art directly from AudioBookShelf's sidecar files — no internet, no API keys, just the metadata.json and cover.jpg that ABS already generates beside your audiobook files.

GitHub: https://github.com/Jdiesel87/Abs2Emby

What it does

Drop the plugin DLL into your Emby plugins folder, enable the providers in your library settings, and on the next library scan Emby reads the ABS sidecar files and populates your audiobooks with metadata and covers.

It works with both library types:

  • Books library → Book entity (authors as people credits, narrators as actors)
  • Audio Books library → MusicAlbum + Audio (authors map to Artists/AlbumArtists, narrators map to Composers)

Field mapping highlights

ABS field Maps to
title Name + Album
subtitle Tagline
description Overview
authors[] PersonInfo{Writer} (Book) or Artists/AlbumArtists (MusicAlbum/Audio)
narrators[] PersonInfo{Actor} (Book) or Composers (MusicAlbum/Audio)
series[]/seriesName Appended to Name as " - Series Name #N"
publishedYear ProductionYear
isbn/asin ProviderId
publisher Studio
genres[]/tags[] Genres/Tags
cover files Primary image

When a series is present, Name becomes something like "The Fellowship of the Ring - The Lord of the Rings #1". The Album field always holds the raw title.

Config toggles

Three settings in Dashboard → Plugins → ABS Import → Settings, all default on:

  • MapAuthorsAsAlbumArtists — write authors to Artists/AlbumArtists on album/audio items
  • MapNarratorsAsComposers — write narrators to Composers on album/audio items
  • EnableNfoFallback — try .nfo/desc.txt/reader.txt if metadata.json is absent

Expected file layout

Author Name/
  Book Title (1994)/
    metadata.json      ← generated by AudioBookShelf
    cover.jpg           ← optional, used as primary art
    audiobook.m4b
 

Why

I use AudioBookShelf to manage my audiobooks, but also want them in Emby for the wider media experience. ABS already writes sidecar files — this plugin just picks them up so I don't have to maintain metadata in two places.


Looking for testers

This is early but functional. If you use both ABS and Emby, I'd appreciate any feedback:

  • Does metadata apply correctly for your library type (Books vs Audio Books)?
  • Any issues with the sidecar file format (older ABS versions use different JSON shapes — I've tried to handle the variants but there may be edge cases)
  • Cover art showing up as expected?
  • Settings page working in the dashboard?

Open an issue on GitHub or reply here. Thanks for taking a look.

ABS_Import.dll

Jdiesel
Posted (edited)

A small update to the Abs2Emby plugin that makes the series name/sequence handling more flexible.

Background

Emby doesn't have a dedicated field for audiobook or book series — no SeriesName, no SeriesNumber on Book or MusicAlbum entities the way TV shows have seasons and episodes. So the plugin's approach has been a workaround: append the series info directly to the item's title (e.g. "The Fellowship of the Ring - The Lord of the Rings #1") and set IndexNumber from the ABS sequence field.


That works, but it's not for everyone. Some people already name their files with series info baked in. Some prefer a clean title list. Others just don't want the sequence number set at all.

What's new
Two new config toggles in Dashboard → Plugins → ABS Import → Settings (both default true, so existing users see no change):

 

ABS_Import.dll

Edited by Jdiesel

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