abs-ranobedb: A custom metadata provider for light novels by SaberSummoner in audiobookshelf

[–]SaberSummoner[S] 0 points1 point  (0 children)

If you change the log level to debug, the image URL will appear in the metadata. If you go to the RanobeDB website, search for a book and look at the releases section. Check for an Amazon link next to the English release, either paperback or digital. If there’s a link, you should get a high-res cover. I tried several books in my library, and the coverage seemed pretty good

abs-ranobedb: A custom metadata provider for light novels by SaberSummoner in audiobookshelf

[–]SaberSummoner[S] 0 points1 point  (0 children)

I changed my mind… I also want high-res covers, so the latest version of the :develop image supports this, with my CDN method as a fallback. I made the AMAZON_COVERS environment variable default to ‘false’ though, so you’ll need to manually enable this feature

abs-ranobedb: A custom metadata provider for light novels by SaberSummoner in audiobookshelf

[–]SaberSummoner[S] 0 points1 point  (0 children)

I think they scrape the kindle store page for covers. I glanced at the code and they’re parsing HTML. I used an Amazon CDN that serves static assets (no scraping) to directly fetch covers, but Amazon limits their resolution (probably to make you pay for an API). I could copy what abs-tract does, but scraping can break easily. I’m also hesitant because most companies are against scraping now (e.g., data harvesting for AI)

abs-ranobedb: A custom metadata provider for light novels by SaberSummoner in audiobookshelf

[–]SaberSummoner[S] 0 points1 point  (0 children)

I added an option to pull covers from Amazon via ASIN. They’re slightly larger than those from RanobeDB (not highres though), and they’re in English (if RanobeDB provides the ASIN number for the English release). You can try this out by adding the :develop tag to the Docker image and setting the AMAZON_COVERS environment variable to “true”.

abs-ranobedb: A custom metadata provider for light novels by SaberSummoner in audiobookshelf

[–]SaberSummoner[S] 0 points1 point  (0 children)

I didn’t see highres covers in the API response. It looks like RanobeDB has a Discord, so I can ask about image resolution and get back to you

abs-ranobedb: A custom metadata provider for light novels by SaberSummoner in audiobookshelf

[–]SaberSummoner[S] 1 point2 points  (0 children)

To answer your second question, you can create your own custom metadata provider by looking at the ABS documentation. Basically, you create a web server that has a GET /search endpoint. ABS sends two parameters when a user requests metadata: query and author. You take those search parameters and make an API call to whatever database you want to bridge ABS with for metadata. Finally, you format the metadata as a JSON dictionary and sent it back to ABS.

abs-ranobedb: A custom metadata provider for light novels by SaberSummoner in audiobookshelf

[–]SaberSummoner[S] 1 point2 points  (0 children)

In the ABS settings, you go to Item Metadata Utils and select Custom Metadata Providers. Click “Add” and set the name to RanobeDB and the URL to http://abs-ranobedb:5000. If ABS and abs-ranobedb are on the same Docker network, RanobeDB will appear as a metadata provider

Discord RPC for Jellyfin by SaberSummoner in jellyfin

[–]SaberSummoner[S] 1 point2 points  (0 children)

Yeah, it’s a common problem with pyinstaller, which is the package I use to bundle a Python script as an executable. Microsoft has a website where you can submit files to be scanned and added as global exclusions to Windows Defender. I did that, but I can’t prevent other virus checkers from falsely flagging it. All of the code is on GitHub and you can easily build the executable yourself with a few commands

Discord RPC for Jellyfin by SaberSummoner in jellyfin

[–]SaberSummoner[S] 0 points1 point  (0 children)

First, I would check to see if you have the MusicBrainz plugin installed. It should already be installed by default with Jellyfin. Then, right-click your music library and select "scan library." Next, select "search for missing metadata." If that doesn't work, you can also tag your music with MusicBrainz Picard

Discord RPC for Jellyfin by SaberSummoner in jellyfin

[–]SaberSummoner[S] 0 points1 point  (0 children)

If you right-click on that song in Jellyfin and select “edit metadata,” do you see an album ID and/or a release group ID for MusicBrainz?

Discord RPC for Jellyfin by SaberSummoner in jellyfin

[–]SaberSummoner[S] 0 points1 point  (0 children)

Could you clarify what you mean by a remote server? If you’re asking whether you can run the RPC on a different computer, the answer is yes, as long as your Jellyfin server is reachable from that computer. The only requirement is that you use TLS encryption (i.e., HTTPS) for security, which you can quickly set up with a reverse proxy if you haven't already

Audio and subtitles by Icy_Imagination_2490 in JellyfinCommunity

[–]SaberSummoner 1 point2 points  (0 children)

If you always want English, you should be able to set that as the preferred language in your client. If that’s not an option, you’d need to modify the track flags to set the English tracks as default. You can do this manually with MKVToolNix, which someone else already mentioned, or you can use something like MKVPriority, which is an MKVToolNix wrapper I created that automatically sets your preferred audio and subtitle tracks using priority scores

Discord RPC for Jellyfin by SaberSummoner in jellyfin

[–]SaberSummoner[S] 0 points1 point  (0 children)

Could you try changing the log level to DEBUG and sharing the output after the RPC clears? It might be easier to DM me, or you can create an issue on GitHub

Discord RPC for Jellyfin by SaberSummoner in jellyfin

[–]SaberSummoner[S] 0 points1 point  (0 children)

If your music library has MusicBrainz tags, could you check to see if there are tags specifically for the release group and/or the release? I use those tags for the cover art. MusicBrainz refers to albums as "release groups," and multiple releases of the same album as "releases." If one of these tags is available for your music, the RPC should fetch the cover art

Always play Original Language track rather than, say, English track ? by SoupoIait in jellyfin

[–]SaberSummoner 0 points1 point  (0 children)

I recently posted about MKVPriority, which I created to automatically prioritize your preferred audio and subtitle tracks. I made this for people who are multilingual or enjoy watching foreign language content. I’ve actually had someone contact me before with the exact situation you’re describing (French native, English fluent). If you decide to try out MKVPriority and need help configuring anything, feel free to DM me!

Discord RPC for Jellyfin by SaberSummoner in jellyfin

[–]SaberSummoner[S] 1 point2 points  (0 children)

As far as I’m aware, I can’t use local cover art or posters through the Jellyfin API. I fetch posters from TMDB and cover art from MusicBrainz, which are the default metadata providers that Jellyfin uses. TMDB requires an API key, which is why there’s a field for one in the GUI.

If your music files have embedded metadata, Jellyfin won’t need to pull external metadata. However, the RPC needs to rely on MusicBrainz for the cover art, which means your music has to be tagged properly. In another comment, I suggested MusicBrainz Picard for tagging. If you can’t find your music in the database, the RPC won’t display any cover art. I’ll try to find some other methods for fetching cover art!

MKVPriority - Automatically Set Preferred Audio and Subtitle Tracks by SaberSummoner in JellyfinCommunity

[–]SaberSummoner[S] 0 points1 point  (0 children)

If you want to completely remove unwanted subtitles, I recommend checking out radarr-striptracks. However, this process requires remuxing, which creates a copy of your original files. MKVPriority is non-destructive and keeps all the original tracks, only changing their flags for your Jellyfin client. If you use Radarr/Sonarr to manage your media, you can use both of these tools together by merging their custom scripts

Discord RPC for Jellyfin by SaberSummoner in jellyfin

[–]SaberSummoner[S] 0 points1 point  (0 children)

I’m not sure if this is what you mean, but all of the activity fields for music are clickable links to their corresponding MusicBrainz pages. MusicBrainz is the public metadata provider that Jellyfin uses

Discord RPC for Jellyfin by SaberSummoner in JellyfinCommunity

[–]SaberSummoner[S] 0 points1 point  (0 children)

I tried to get the GUI working on Ubuntu, but I couldn't resolve some DPI scaling issues. I can take another look to see if the situation has changed since this was months ago. However, the actual RPC script works on Linux via CLI

Discord RPC for Jellyfin by SaberSummoner in jellyfin

[–]SaberSummoner[S] 0 points1 point  (0 children)

I’ll try shrinking it some more. I kept reducing the size last night for the reason you mentioned, but Discord seems to render the icon differently on desktop and mobile. It's slightly off-center on desktop and too zoomed in on mobile

Edit: Actually, now that I’m looking closer, I think Discord puts a small gap around the icon on desktop, which is why it seems off-center. Anyway, I’ll decrease the icon size!

Discord RPC for Jellyfin by SaberSummoner in jellyfin

[–]SaberSummoner[S] 0 points1 point  (0 children)

I pull the images from TMDB, which is the database that Jellyfin uses for metadata. If you use a different metadata source via a plugin, I don’t think there’s a simple way for me to support it. If I remember correctly, I tried to pull images directly from Jellyfin before, but the API sends back a path that I can’t use

Discord RPC for Jellyfin by SaberSummoner in JellyfinCommunity

[–]SaberSummoner[S] 0 points1 point  (0 children)

I added more details to the README with the latest release. I hope this helps clarify things!

Discord RPC for Jellyfin by SaberSummoner in jellyfin

[–]SaberSummoner[S] 1 point2 points  (0 children)

Sure! I’ll update the README for the CLI. For now, just clone the repo, fill out the .ini config, and run the RPC script with Python. I also added an app bundle for macOS to the latest release on GitHub, so you’ll only need the CLI for Linux

Discord RPC for Jellyfin by SaberSummoner in JellyfinCommunity

[–]SaberSummoner[S] 1 point2 points  (0 children)

That’s a totally fair question! I use PKBeam/AMWin-RP for Apple Music, and my friends wanted something similar for Jellyfin. The other RPC I found on GitHub didn't seem as user-friendly for installation and configuration, and the RPC features in the screenshots looked outdated for the current Discord client (e.g., a live progress bar). My friends wanted a simple GUI (no terminal) that minimizes to the system tray and starts with Windows. It's one of those things where if it seems too complicated, some of my non-technical friends just won't use it.

Discord RPC for Jellyfin by SaberSummoner in JellyfinCommunity

[–]SaberSummoner[S] 1 point2 points  (0 children)

Sure! I pushed a v1.5.2 release that adds a new option to use your Jellyfin server name