How to Bend Plex to Your Will to Handle Complex Libraries Without Losing Your Mind

These are of course just the trailers...

It’s very easy to get started with Plex to handle a simple movie or TV show collection, but as you add different types of content and grow your libraries, it becomes more and more complicated to keep everything tidy and easy to use. I have 150TB+ in Plex organized in a dozen different libraries, learned a lot along the way, and will share my notes in this entry.

Over the past decade I went back and forth between Plex and Emby as my media server of choice but eventually settled on the former after I switched my server from my desktop PC to an Nvidia Shield, then to a Docker container in a Synology NAS. It’s been a long journey and I hope to accelerate your own learning curve.

The ways we interact with a tutorial, audiobook, movie, or TV series are all very different, and it takes work to make Plex a good fit with all these scenarios. If you have to take anything from this post, it’s that each type of content needs its own library with an approach that’s finetuned to it.

As much as I try to use automation and rely on Plex’s native features, to achieve the best results be prepared for some grunt work to get more obscure content organized neatly and in line with how it’s meant to be consumed.

I try to steer away as much as possible from organizing or tagging content via the Plex UI, as that metadata won’t survive if you have to rebuild a library from scratch, which over the years is likely to happen eventually. Instead, metadata is best conveyed via 1) your folder/file organization and naming conventions, 2) by metatagging source files themselves, and/or 3) with helper text/json/xml files to be parsed by Plex agents or scripts. But there’s some genre and collection metadata that has to be input via the Plex UI.

If you’re not willing to make that effort, well, garbage in garbage out, you’ll get out of your libraries what you put into them. And the more content you add, the more you’ll need it to be organized or the whole thing will collapse under its own weight.

As a caveat before we move on to the meat of this entry, this post is not about streaming or transcoding. I’m using Plex in Direct Play on my LAN and do not care about serving low-quality transcodes to the entire neighborhood as some people seem keen to do. (I’m not judging, it’s just that I’m not interested nor experienced with this use case).

Table of Contents show

1. Matching Recalcitrant Documentaries, TV Shows, Movies, Sports etc.

Provided you apply the recommended naming conventions (TV, movies), Plex is usually good at auto-matching and fetching the right metadata, especially since the new movie scanner and agent were introduced with PMS 1.20. However, some content types can be tricky and tiny punctuation variations can throw the agents off (e.g. you can’t put colons in Windows file names), as well as titles in other languages than English. Follow these guidelines to save you a lot of grief, depending on the type of content you plan to collect.

1.1. Documentaries Are Not All the Same, Or Are They?

Documentaries can’t all be dumped in the same library. Instead, make sure to put standalones (e.g. Tropicália) in a Movie library while series (e.g. Chef’s Table) should be in a separate TV library. Some are tricky as you may think they’re standalones but they’re actually part of an extended TV series of sorts (e.g. content from National Geographic). Look up these loose ends in TheTVDB and IMDB TMDB then decide whether to put them in your TV or Movie documentary libraries accordingly (edit: someone pointed out I made a mistake, it looks like IMDB is used by Plex just for ratings, like Rotten Tomatoes).

After I initially posted this entry, someone brought Combined Library Metadata Agent (Colima) to my attention. I’ll stick to my approach, but it’s good to have options:

“Combined Library Metadata Agent (Colima) in combination with Absolute Series Scanner (ASS) allows you to have movies and tv shows within the same library, something that Plex sadly not supports out of the box. Common scenarios to use this agent for are documentaries, western and Japanese animation libraries.”


1.2. TV Shows & Movies: It’s All About Matching What’s in Meta Databases

To automatically enforce Plex’s naming convention on TV shows, use a tool such as Sonarr, Filebot, TV Rename, or Rename My TV Series. TV shows should match in most cases if they’re properly named, but in the rare case that they won’t, find the offending series in TheTVDB then force a match by ID. With the new Plex TV Series agent, you might need to append “thetvdb-” to the ID.

You can do the same ID matching with IDs from TMDB in movie libraries. Movie libraries also work for stand-up comedy shows, which I chose to set up a separate library because for me it’s a different mood, time commitment, and audience than watching a regular movie. This is why I also have a separate library for family movies but from a technical perspective you don’t have to use separate libraries in these cases, it’s more of a convenience. (I made that structural choice before the addition of Smart Collections, which we cover later in this post).

1.3. Support for Music: OK, Not Great

Plexamp is a pretty cool player originally limited to Pass subscribers and now available under a freemium structure. It’s still limited by Plex’s metadata support on the backend. The lack of composer and conductor fields cripples classical music collections, while the absence of producer and remixer fields may leave electronic and rap collectors wanting (related thread). Regular albums in mainstream genres will get picked up, often with covers and lyrics, provided you stick to the naming convention.

Dedicated music server Navidrome should eventually address these shortcomings, though doing so “would require a pretty major refactoring of the database […] and will affect a lot of the UI as well, we don’t have a timeline for that yet.” As of mid 2024, a significant fork is dedicated to classical music and will eventually be merged back into the master, but there are heavy database schema (multiple artist support) and API (OpenSubSonic) dependencies. Metadata for music can indeed get very complicated.

Yet another Lightweight Music Server (LMS) does support composers, but I haven’t tested it.

1.4. Sport Events: Welcome to the Big Leagues

Your mileage may vary with sports depending on whether individual events can be found in Tmdb or TheTVDB. UFC fights for instance are recognized if you set them in a movie library. Relevant reddit threads:

A similar approach may or may not work for your sport of choice depending on how mainstream it is.

1.5. Anime, Music Videos, and Other Miscellaneous Content Types That People Somehow Want in Plex

It’s impossible for me to track all the ways people use Plex, as there are many niches I have no interest in or handle outside of Plex. Some people want to manage family videos, travel pictures, radio shows, podcasts, ebooks, comics, movie trailers, etc., including things that I think are much better handled by other dedicated content servers such as Calibre Web or Komga. There’s a whole subreddit just for preroll videos!

I load Anime in a regular TV Shows library but then I have a tiny library, if it’s something you’re more serious about there an agent called HAMA.

For long music videos I use a Movie library, which works well for most operas and concerts. If you want to collect short MTV-style music videos, your guess is as good as mine, possibly look into the Shorts section later in this entry.

2. Getting the Best Experience for Tutorials: Use mp4 Tagging or a Custom Agent

Multi-part video tutorials is the content type I found most tricky to handle, as the big public databases don’t have metadata about them. There are two main approaches to this challenge, each with their pros and cons. Again, you want to refrain from doing a lot of work via the Plex UI as you’d have to redo it all over again in case you need to rebuild your library for whatever reason. With computers, nothing is permanent so plan accordingly.

2.1. The Embedded Metatag Approach

A first round of trial and error led me to using collections with the following settings:

  • Library type: Movies. If you use Other Videos you’ll have to merge video parts manually in Plex, which would need to be redone if you ever have to reset said library, which in my experience is bound to happen.
  • Scanner: Plex Movie Scanner.
  • Agent: Plex Movie (legacy).
  • Hide items belonging to collections (stacked content is based on Collections).
  • Rename files with a tool such as Flash Renamer, following the “- partx.ext” convention.
  • Group parts of the same tutorial under the same “album”, by tagging files with mp3tag. This works on mp4 video files so if you have AVIs or MKVs you’ll want to convert them with VLC or Handbrake first.
  • For categorization I don’t use tags, which never got any love in the Plex UI, but rather self-defined genres.
  • You can add specific artwork for each video segment (i.e. if you have different files within the same tutorial), which will make it easier to pick the right one among the 20 parts of a long tutorial. Some media players such as mpv make it very easy to save screenshots in one keyboard shortcut.
  • You might need to generate your own posters as tutorials about underwater archery or Roblox origami are not necessarily going to come with something good looking for Plex purposes. The expected aspect ratio is 1:1.5.

This turned to be a manageable but not entirely satisfying workflow in the backend, and the end result in the frontend is a decent but not optimal user experience since navigating a large library will mostly have to be done via the Collections tab. There must be a better way!

2.2. The Agent Approach with Helper Metadata Files

As an alternative, a neater organization may be obtained by following the TV show/season convention, and even more control can be supplied by custom agents. It’s a shame that Plex stubbornly lacks support for long-established .nfo files, but people have been complaining about it for years to no avail so I’m not holding my breath. I tested four options and have adopted one that ended up being as close to my ideal requirements as it’s going to get.

  • Personal Shows Metadata Agent – this is the best option I found for tutorials. Its meta.json format supports genre tags, studio, and cast, but it could be more thorough as there was initially no support for some fields such as collections, tagline, or originally available date… I edited the Python source code to add these fields, a tweak that the author then officially added to his repository. If you’re willing to do the legwork to conform to the TV show structure and naming convention required by this agent, then the result is very satisfying.
  • Extended Personal Media Shows Agent (forum thread). Like the previous one, it unfortunately doesn’t leverage agents that harvest mp4 tags and there’s no way to set cast (actors/directors), Genre, or Studio. This agent relies on following a specific naming convention with optional .summary and .metadata files.
  • XBMCnfoTVImporter – This plugin is meant recognize the type of nfo files used by Kodi, but documentation is nonexistent so while this is probably a good option, prepare to fumble in the dark.
  • AvalonXmlAgent – inspired by XBMCnfoTVImporter, but with a different XML file format. Looks good but doesn’t handle season titles. My first attempt with it didn’t work too well though, I think I’ll stick to the Personal Shows Metadata Agent.
  • Local Assets-Metadata Double Agent (forum thread) – similar in spirit to the above but with the added twist of letting you save Plex Metadata locally (i.e. it does import/export).

The agent-based approach is also what I’d recommend in case you want to organize your own home photos or videos. For photos there’s an autotagging option but it’s calling a third-party service – which you may not want to do for privacy reasons – you need Plex Pass to be able to use it, and it’s reportedly no match with Google Photos’s face recognition.

For the best result with custom cast members, save square .jpg pictures of close-up mugshots in a dedicated web folder. Common cloud services such as Google Drive or OneDrive make this way too hard for some reason, I serve these images via a local web server on one of my Synology NASes.

3. Audiobooks: One of the Most Challenging Use Cases That Require Intricate Solutions and May Be Best Handled Elsewhere

Dedicated support for audiobooks is one of the top open feature requests but so far, they still require that you jump through similar hoops as tutorials for the most part, except as a Music library and using a special-purpose agent. The main drawbacks of using Plex for audiobooks are that:

  • On the frontend side, the official Plex clients are not the best to keep track of progress time across devices and other UX niceties specific to listening to audiobooks.
  • On the backend side, Plex doesn’t provide an agent/scanner combo for audiobooks like they’re doing for TV shows or movies.

For details on the intricate workflows necessary to get the best outcome, see:

To listen to audiobooks on mobile devices, check out:

  • Chronicle Audiobook Player for Plex – Android only, decent option.
  • Prologue – I hear good things about it but I wouldn’t know firsthand as iOS only
  • Bookcamp: app for iOS and Android with Plex backend support, it’s been in early access for years but does look slick. It’s a paid subscription. When I tested it I wasn’t able to get it to find my audiobook library even though my Plex server is accessible from the outside and I successfully linked the app to my Plex account.

A significant limitation of audio libraries is that unlike Movies and Shows they don’t support collections.

In the comments below, Mike W mentions that converting his audiobooks to the mb4 format then loading them in a Music library worked well for him, since it’s a file format that encodes book-specific metadata such as chapter breaks and bookmarks.

One thing I don’t like is that it seems you have to stick to Plex’s relatively flat folder structure, at least when I tried to load an Audiobooks > History > Ancient > Book type of deep hierarchy, the scanner wouldn’t pick anything up.

I eventually switched to Audiobookshelf, a dedicated server that seems popular among my self-hosted peers and has competent mobile apps (with playback speed control). I already run Calibre Web and Komga for ebooks and comics respectively, so it’s never been my intent to load all my media in Plex anyway. I ended up preferring Audiobookshelf to Plex though it’s also somewhat fussy in terms of folder structure, file names, and metadata. I doubt that audiobooks can be made as plug-and-play as popular movies or TV shows, so be prepared to curate and tag your files more than you need to with mainstream content types.

4. Movies with Commentary; Collections by Genre and Audience; Shorts; The Elusive Playback Speed

4.1. Commentary Tracks is Finally a Solved Problem Thanks to a Powerful Python Script

There’s no built-in way to tell apart movies with a commentary track at the library level because the audio stream metadata is not leveraged for navigation. Some people use MKVToolNix or ffmpeg (using ISO codes) to set the commentary soundtrack to a rare language such as Icelandic, while others suggest Tautulli but that seems clunky at best. Alternatively, you could use sharing labels, which require Plex Pass, or create a “Commentary” tag within Genres or Collections. I elected to do the latter, but didn’t want to maintain it manually through the Plex UI, so for a long time was stuck without an acceptable solution.

That changed in March 2021 when the author of Plex-Meta-Manager (more on that tool further below) added support for filtering by audio_track_title at my request, which takes care of the commentary track. In your Movies.yml metadata file, have a section like this (be careful with indentation as the dastardly YAML language is looking for excuses to fail):

  Movies with Commentary:
    plex_all: true
      audio_track_title: Commentary
    sync_mode: sync
    collection_order: release
    summary: Movies with commentary audio tracks from the director or critics.

If you wanted to create collections by audio track codec (AC3, DTS etc.) as someone asked in the comments below, this is also the way to go.

4.2. Use Smart Collections to Dynamically Categorize Content According to Search Filters

For any of the metadata exposed by the Plex user interface, you don’t need the aforementioned script. Simply configure an advanced filter combination and save it as a smart collection, a feature added in April 2021 that was a great improvement to Plex.

I’ve used smart collections to categorize documentaries by genre: Arts, Music, History, Nature, Science, etc. The main problem with this approach is that you’ll have to recreate your collections manually if your database gets nuked.

Smart Collections will automatically add new content matching their criteria
I have hundreds of documentaries so I wanted to be able to browse them by theme

4.3. (Manual) Collections Are an Effective Way to Handle Different Audiences Within the Same Account

I also set up collections by audience, i.e. content for the entire family, that only my wife watches (mystery and police procedural galore!), that I watch together with her, or that we watch with our daughter but our son is not interested in. That way, depending on who’s in the mood to watch a TV episode or movie, we can narrow the selection down to that specific audience. And my wife can start watching new shows I downloaded for her without accidentally watching something I intended to watch too. I already have enough libraries as it is without creating libraries by audience!

If you want something that survives restarting your Plex install from scratch, see the Plex Meta Manager’s Trakt integration which we’ll talk about further below.

4.4. Short Movies Are a Conundrum

I haven’t started collecting shorts yet, but knowing myself, I’ll probably get into it at some point. The main challenge is that you might have hundreds or thousands of shorts if you get into collecting old cartoons, and you’re likely not to like overwhelming your regular TV or Movies libraries with them. My initial research pointed to this thread and others like it and led me to believe that the main approaches are:

  • Use a TV library, as some shorts (mostly cartoons such as Pixar shorts) are in TheTVDB
  • Use a movie library for those shorts that are in TheMovieDB
  • Use manual collections
  • Use smart collections based on Genre = Short

4.5. Playback Speed: Only on Devices That Support Browser Extensions

Playback speed, while not strictly about library management per se, is something that people often want to control for audiobooks and tutorials, and to a lesser extent sports, but despite popular demand it’s still not found in any Plex clients. There’s a third-party Chrome extension – which means it also works in Edge Chromium – but that obviously won’t work from your TV or tablet app.

If you must have playback speed control in mobile devices then you’re better off using Emby, at least for the library for which you have that need.

5. Adding Chapters to Make Long Videos Easier to Navigate Around

Some long tutorials can be cumbersome to navigate, while other types of content, from sport events to concerts may also benefit from having delineated chapters. If you’re ripping DVDs or BluRays, ChapterGrabber will help you get chapter information from the source, and there’s also the ChapterDB archive for (some) movies.

When chapter information is not already available, you can add your own chapter information within videos with software such as Handbrake or Drax. In any case this needs to be done in the video files before importing them into Plex.

The power user approach to this task relies on ffmpeg, best combined with a helper script so that you can write a simple text file listing your chapters then writing them back to the video’s metadata. The python dependency makes this overkill if you have just a few videos to “chapterize”, but who doesn’t like to spend 5 hours to automate a 15-minute manual job anyway? If like me you’re running on Windows, make sure to save your chapters.txt file with Unix end of line characters (LF), which is easy with Notepad++, otherwise you’ll end up with ugly rectangles at the end of each chapter’s title. Here’s a recap of the procedure tweaked to my own preferences, I do at least a few at a time to get into the groove of things:

[File Explorer] Make a copy of the video to be chapterized to your work directly and rename it input.mp4
[Notepad++ and] Write down chapter timestamps in chapters.txt while speed-watching through the video. Doublecheck there are no typos.
[Command prompt] ffmpeg -i input.mp4 -f ffmetadata ffm.txt
[Visual Studio Code or Python-aware CLI] run
[Notepad++] Open ffm.txt and convert EOL characters to Unix
[Command prompt] ffmpeg -i input.mp4 -i ffm.txt -map_metadata 1 -codec copy output.mp4
[] Open output.mp4 and navigate to each chapter to make sure the timestamp is exactly right and triple check for typos
[File Explorer] Rename output.mp4 and move it to the library folder where it’s supposed to go

While you can set art for seasons and episodes, thumbnails for chapters can’t be set manually with local images, they’re automatically generated by Plex based on each chapter’s exact timestamp (related thread). Meaning that you’ll have to tweak your chapter timestamps almost by the exact frame to get the best results. Well, that’s not entirely true, you could edit the files generated by Plex in the Media folder in the backend, as explained by Noel Plum in the comments below. He’s been doing it for months without issue, but there’s no telling whether future changes in the PMS code won’t mess with that eventually.

With MediaInfo GUI you can quickly check whether any given video file already has chapters, and export that list to a text file. You may want to do so in order to edit it and reload it back to its video source in case the existing timestamps don’t quite work for you (e.g. bad preview thumbnails), or to remove or add to the list. The equivalent with the MediaInfo CLI is:

mediainfo.exe input.mp4 > metadata.txt

The output will need to be cleaned up and reformatted a bit if you want to reinject it as per Kyke Howell’s helper script mentioned above, but it’s not too bad. Alternatively you can use ffmpeg to extract that metadata as also shown by Kyle, with the major inconvenience that timestamps are shown as an integer based on a timebase, or you could use mp4box from the command line, which will generate a ttxt XML file (which then needs to be scrubbed) with hh:mm:ss timestamps (that’s the good part):

mp4box.exe "FilePath" -dump-chap >chapters.ttxt

If need be, you can also scrub existing metadata and chapters with ffmpeg.

Also, it seems you can’t force the generation of chapter thumbnails so you’ll have to wait for your scheduled process to kick in. Once they’re rendered, here’s what that looks like in the web UI (according to what I read chapter support varies among Plex clients):

This guy is a fountain of grappling knowledge, but also talks slowly and repeats himself constantly. Trust me, you want to chapterize him!

6. Miscellaneous Library Customization & Management Tips

  • If you want your library to look ultra clean, consider using custom posters and fanart such as those found on The Poster Database. I’ve used this for my thematic collections but for individual movies I’m waiting for that site to add a Plex agent and direct integration into the Poster tab shown when you edit an item. Some people even go through the trouble of customizing episode cards, among other reasons to avoid spoilers (“what, this character in the thumbnail died two seasons ago?!”)
  • You’ll probably want to customize which libraries are part of global search and featured in dashboards, i.e. On Deck and Recently Added. That’s done in the Advanced Settings of each library. Unfortunately it doesn’t seem possible to scope a search query to a specific library, and Plex’s search is by and large horrible.
Collections Automatically Created with a Script, Looking Good with Custom Posters

7. Library Organization Wrap-Up: Be Deliberate & Organized

As a summary, to get your content properly organized with the minimum amount of friction, it’s essential that you:

  • Choose the right library media type for your content, which can sometimes be counter intuitive. This means your source content needs to be properly organized, and you can’t drop everything in one morass of a Plex library.
  • Organize your content by type and follow the official naming conventions for your source folders and files.
  • Figure out whether readily available scanners and agents will do the job, or if you have to handle metadata yourself. There’s for instance an agent to handle Youtube downloads.
  • Set up each library’s advanced settings deliberately as some of the defaults can have big consequences. This is best done when you first set up your library, though that can be edited later.
  • Use collections within and across libraries for TV remote-friendly access to categorized content.
  • Understand Plex’s limitations and either accept them or strop trying to do everything with one tool. Some things are just not meant to be.
  • Summary of the summary: RTFM, there’s more to Plex than first meets the eye and it’s well worth understanding what’s going on beneath the hood.

8. Choosing What to Watch Next with Trakt, Moviewatch

8.1. Keep Track of Watch Status and Wishlists with Trakt Integration

One of the primary criteria to choose something to watch is to filter out content you’ve already watched. Plex does keep track of that, but if you ever have to reset your library, that status is gone. Do you want to manually recheck hundreds of series and movies? If not, gives you a way to effectively back up your watched status to a third-party service, as well as help you discover other content you might like. There’s built-in “scrobber” integration between Plex Pass and Trakt VIP, but that’s two subscriptions you need to keep paying. If you have a bunch of distinct Plex and Trakt users, that’s the way to go.

In my case, I just have one master Plex account and one Trakt account, so here’s what I ended up doing to get the most out of the Plex-Trakt combo:

  1. Install the (for Plex) plugin via the Applications section of the Unofficial App Store (UAS) in Web.Tools. Contrarily to popular belief, Plex plugins are not entirely dead, I’ll get back to that in a minute.
  2. Install Kitana.
  3. Do an initial full sync via Kitana (unless your Trakt account is brand new). Now Plex and Trakt should agree with each other on what you’ve already watched then stay that way as you watch new content.
  4. Create private watchlists in Trakt to add interesting TV shows and movies as I’m browsing that site.
  5. Connect these watchlists to Sonarr v3 and Radarr to automate their downloading.
  6. With the Web to Plex browser extension you’ll see whether you have a movie/show in your server while browsing Trakt or Imdb.

Find out more about the *arr automation apps in this post. To do the above prior to Sonarr/Radarr v3 you had to use Traktarr.

In summary:

  • Content watched in Plex will automatically be marked as watched in Trakt.
  • Whenever you watch something outside of Plex, just flag it in Trakt and Plex will know.
  • Trakt watchlists are a good way to funnel content back into your Plex libraries if you’re willing to set up the *arr infrastructure (again see my NAS entry, this is such a powerful stack).

A side benefit is that I was able to resync my Plex and Trakt accounts that had grown out of sync.

The only thing that I was able to do via Kodi that I can’t do in Plex itself is the ability to rate content right after I watched it in the media player. Looks like that’s not possible via a Plex plugin.

8.2. Make Movie Night Fun Again with Moviewatch

A common refrain from people with large libraries is that it takes them forever to find something to watch as they’re overwhelmed by the sheer amount of choice they have. You can play with filters to narrow down options, but a very first-world solution to this very first-world problem is Moviewatch, which gives you and your co-watchers a Tinder-like interface to swap through movie posters until there’s an agreement from all parties, at which point you’re one click away from launching the consensus movie in Plex.

9. Managing & Extending Plex Beyond the UI: Plugins, Maintenance, Data Analysis

9.1. Plugins: Unsupported but Not Dead

While plugins such as Web.Tools are no longer supported in the Plex UI, they still work in practice. As I just mentioned, one big piece of functionality they allow is free bidirectional integration with Trakt.

As a complement, Kitana provides a web frontend to these plugins (how to install Kitana via Portainer) which comes handy in some cases.

9.2. Maintenance & Backups: Do It or Else

Scheduled backups: A Good Idea ™

Plex Media Server occasionally stops for obscure reasons such as version updates. Scheduling server maintenance may save you hours of setup time if your Plex database becomes irremediably corrupted, which can happen in case of abrupt shutdowns, so it’s highly recommended to put your server behind a UPS.

Restoring from a backup is very easy.

9.3. Programmatic Access for Large Scale Management

There are several ways to automate functions of the Plex server:

Kometa (fka Plex-Meta-Manager – PMM) is “a Python 3 script that can be continuously run using YAML configuration files to update on a schedule the metadata of the movies, shows, and collections in your libraries as well as automatically build collections”.

I’ve used it to build a variety of dynamic collections such as Movies with commentary, Oscar winners, Imdb 250, or by audience based on Trakt lists. This is a game changer if you have more than 2,000 movies like I do, and it’s gained a lot of attention with Plex power users, probably now trumping all other options.

Note that collections kind of span across libraries, even if they have different types, so you can for instance have a Star Trek collection that includes movies and TV shows.

If you use the same name for collections in different libraries, Plex will cross-reference them across libraries. Pictured here, Top Rated across the main movie library and the family movie library. You could use this to tie soundtracks to movies, or file TV series and movies in the same universe.
  • Plex-auto-genres: in the same spirit that the previous script, less involved but less powerful.
  • Gaps: “Find the missing movies in your Plex Server.”
  • PlexAPI, a set of unofficial Python bindings whose goal is to “match all capabilities of the official Plex Web Client”, including navigating libraries, performing library actions such as scans, remote control, and listening to notifications. A collection of scripts that use this library can be found in this Github repository.
  • Python-PlexLibrary, a “command line utility for creating and maintaining dynamic Plex libraries and playlists based on ‘recipes’.”
  • Tautulli custom scripts. Most of these are for notifications but some can be used for library management.
  • An API that I haven’t tested yet.
  • Webhooks that require Plex Pass.
  • RPA software that captures how you interact with a website or desktop app, such as Power Automate. I’d pursue this only if all else fails, but it’s an option.
Collection automatically generated with Plex Meta Manager

9.4. Querying the Plex Database for Advanced Analytics

Plex stores its data in an SQLite file, which has this schema that you can query like so. I’ve used this to visualize my library in Microsoft Power BI as per the screenshot below. If you’re going to do this, work off a copy of the database just to be safe. Matthew Roche has additional details here.

Plex data in Power BI – two of my favorite things together!

A low-tech alternative is to use ExportTools to generate a CSV.

Finally, many people use Tautulli to monitor their Plex server (I do so via a Docker container on my Synology NAS), though it’s focused on analyzing viewership rather than library content.

10. A Note on Hardware

If you end up with lots of libraries and lots of content, you’ll be much better off running Plex off an SSD. My com.plexapp.plugins.library.db database alone is getting close to 1GB, and my overall metadata and cache Plex folder has gone beyond 60GB. The end user experience – whether browsing or searching libraries – noticeably slowed down as my libraries grew across all Plex clients (browser, Shield, Windows app, Android app), so I ended up adding a RAID1 array of two SSDs on my NAS.

11. Related Entries

I started a thread on Reddit mentioning this post and got lots of good feedback that I reflected above through many iterative edits.

112 thoughts on “How to Bend Plex to Your Will to Handle Complex Libraries Without Losing Your Mind

  1. Jason

    I’ve had to abandon Plex since they couldn’t stop messing with it on the very console you mentioned here I have my own Plex server Nas and the Nvidia Shield. But ever since they took out folder view permanently it’s become a waste of $99 usd. Until they fix folder view it’s hot garbage in my eyes.

    1. otravers Post author

      I plan to move Plex Media Server from my Shield to a Docker container on my new NAS, which among other things will let me control which version I run. The folder view is indeed underwhelming.

      1. Paul

        Hi, what is the advantage of using Plex in a Docker container. I have just started using Plex on a DS215j but just installed as a normal app. I’m actually thinking of upgrading to a 4 bay nas (probably ds920+) to give extra storage and a bit more processing power

        1. otravers Post author

          Docker gives you better control over which version you’re running and makes it easy to move an app between machines. Look at my Synology entry for details, it will help you prepare your migration if you do buy a NAS.

      2. Sam

        Hi there I’m pretty close to having plex set exactly the way I want it to be however I’m having issues with stuff with no metadata mainly mma/kickboxing/grappling fight cards and such without metadata. I have these in collections but they seem to re-scramble occasionally. Trying to find the best ways to organize this media to the way I want it. I also have martial arts and mma instructional videos and trying to figure out how to categorize these as well. Does anyone have experience with this? Thanks in advance for any help.

        1. otravers Post author

          Read the “2.2. The Agent Approach with Helper Metadata Files” section, that’s what I use for martial arts tutorials. It’s the best way in my opinion but requires to put some manual effort into it.

    2. Joe

      I completely agree: just having “folder view” as an option is a perfect option for allowing at least one type of seamless organizing. They could (and, imo) keep the option and just allow it to be enabled or disabled.

      1. otravers Post author

        For the record Emby has a decent folder view for people who really want to organize content based on their physical file system rather than metadata.

    1. otravers Post author

      I have an old Synology NAS with 3TB WD REDs but one of them died. I’m waiting for the delivery of a newer Synology NAS with 12TB WD Elements drive that I’ll schuck. I also have several USB and internal drives.

  2. Noel Plum

    I have managed to make custom chapter thumbnails. Wait for Plex to create its set of thumbs then go into the media folder Plex creates for that movie and replace the thumbs with your own.
    I have been doing this for months now and they don’t seem to get replaced, it is just a pain working out which folder is for which movie if you add more than a few in one day.

    1. otravers Post author

      Yeah it’s not fun to wade through folders named 0930da16626e93ba5d8f0b8b6d1df7303abac1e.bundle and the like! It’s interesting that Plex won’t replace them, so more power to you if that works for you. I’d still be afraid that sooner or later Plex will just do so randomly, and then I’d have to go through the same tedious process again. I guess you could backup the Media folder, but that begs more questions such as whether these long folder names are permanent.

      1. Noel Plum

        What I have found is that Plex generates thumbs when I shift the video file across initially but then recreates them on the next scheduled slot for such things (which i have set for the small hours every night) so I shift a few new videos in, leave it 24 hours and then swap out the thumbs.
        I feel pretty safe by now that i won’t re-hash through all the movies I have chapterised BUT I do fear a major update or me altering a setting that inadvertantly leads to the same outcome!
        As it stands though, I just add a few at once each day and then by sifting the directories by date modified I can easily pick them out.
        You’d think it wouldn’t require such insanity to perform something so simply though, lol

        1. Noel Plum

          Not sure if this will register as me but it is me (noel Plum) back again with a little update.

          So the “nightmare scenario” you envisaged occured yesterday and as this blog attracts comments still – which i get notified to – I immediately thought you, and others, may be interested.

          So, up until now nothing has triggered Plex to redo the chapter thumbnails other than i) removing a video file, doing the optimise/clean bundles dance and putting it back in the library folder or ii) changing some metadata on a file (which Plex seems to detect and sometimes see as a new file).
          However, yesterday, having been frustrated with how Plex won’t perform actor searches across all your movie libraries (I have a handful of discrete libraries) I decided to create a “global” new library category with all films in it, purely for search purposes. This certainly worked for searching BUT whilst it didn’t reassign bundle addresses/names it DID trigger PLEX to recreate chapter thumbnails for every chapterised video within the folders I had included, removing the chapter thumbs I’d created both for the new “global”library and for the same movies within their original libraries.

          So that was the bad news.

          The GOOD news is that every few weeks I copy my entire Synology Plex folder onto an external hard drive and so I tried the trick of simply copying back the contents of Plex Media Server/Media/localhost onto the NAS. A quick optimise/clean to throw out the dead stuff I had transferred back and happily the process messed nothing up and clearly no bundle names had changed as the chapter thumbs were all reinstalled.
          I think it is safe therefore to say, major Plex updates/overhauls notwithstanding, as long as you back up your plex database folders this does look like a robust way to change chapter thumbs: it is just a bit of a slog initially.

  3. Toby

    I also have my Plex server on a Shield. You aren’t kidding about having to eventually rebuild a library from scratch. Thankfully I only have 70 movies. When I upgraded to the new movie scanner, my local subtitles quit showing up. Adding a brand new library pointed at the same folder location fixed the problem. A few weeks later, it decided that my mp4 files were in an unknown container. These files would either transcode or outright refuse to play. Once again I added a new library pointed at my movie folder and the problem was fixed without me making any changes to my movie files.

    I usually don’t have any problems with Plex finding a match. I always look up the movie on TMDB, copy the name and year straight from them and paste it when naming my movies files. For TV Shows the easiest way I’ve found to name them is with a program called Rename My TV Series which pulls data from TheTVDB.

    1. otravers Post author

      Good point on automated file renaming, I added a sentence to that effect as there’s a variety of tools to do that.

      1. Johann Schmidt

        I have a 40TB Plex setup now, I have been able to setup FTP through Android to transfer to Windows Shares on my network. 2 Shields help me with a lot of transfer now. It’s amazing how far I have seen Plex grow since I started, and back then that was a 2TB external. It’s so much easier being able to control everything from a Tablet or my phone when I don’t feel like moving out of bed when I have new ideas! Good Artie, I enjoyed it … ThanX !!!

  4. Chris Ellwood

    Very interesting read, thanks. I use plex on a freenas machine, not found any major issues other than subtitles displaying a bit nicer. There is a method of install that separates the meta data (for easier backup), but I’ve not managed to make it work yet.

  5. Wilson

    Nice article. Was pretty thorough. One thing that wasn’t pointed out, and perhaps you haven’t stumbled upon this yet, but when it comes to chapters, you don’t have to embed into video file. You can simply make a Chapters.txt file and stick it in with your video file. You can even name the chapters this way. For ex… 1. Intro [00:01:54]. I use that method a lot for tagging songs in a concert video.

    Also when it comes to metadata, MetaX works nicely for integrating the files with Plex. Especially helpful for assigning musicians in music videos so I can search better on Plex, especially for duets where you have multiple artists. Pretty quick and painless program to burn through a lot of meta tagging.

    And I can’t express enough on the importance of what you said about not relying on Plex Metadata. I have unfortunately had a 30TB plex library wiped by a faulty hard drive after picking posters and editing meta names etc by hand via Plex over the course of years. Shame on me for not backing the library up. Lesson learned for sure. Now I hard tag EVERYTHING. Grab the artwork i know i love from The Poster DB for example so no matter what my Movies will look great.

    Oh and TV Rename is the most amazing program for your tv shows. Not only does it use thetvdb as a reliant, but it’s nice to be able to track what shows you get, when next episodes are, what episodes you’re missing etc. An absolutely godsend. As is Advanced Renamer, every day I find new ways to save time with that program. So yeah some of that you may know but I like to share things with fellow Plex obsessives, I mean enthusiasts. 😉

    1. otravers Post author

      Thanks, not having to reinject the chapter info back into the video files is going to save me a lot of time! Except if someone somehow did not want to have chapters.txt files in left lingering in their library (I for one don’t care), this sounds just so much simpler.

      I didn’t now about MetaX, I’ll have to check it out.

    2. otravers Post author

      I finally tried your suggestion for chapters but was not successful. I googled but couldn’t find documentation on how to set up chapters.txt files so they’re picked up by Plex. Could you send me a sample file? And how do you name these files when you have several videos in the same folder?

  6. Wilson

    Yeah MetaX is nice. There might be other stuff out there that might be better but I’ve used it for years and it’s lightweight. I like that it supports a title sort field too so if i have a Trilogy of movies that have vastly different names (Divergent, Allegiant, Insurgent for example) i can group them together permanently (Divergent 1, DIvergent 2 etc.) without having to use Plex’s title sort field manually.

    1. otravers Post author

      I only started my Music Videos collection recently and don’t have a lot of content in in yet. I set it up as Movies which works for those concerts that are in TMDB. For shorter music videos or bootlegs you might need to look into custom agents.

  7. TheSilence

    Does anyone know how I can disable features that are silly to me, such as “Related Shows”, More From NBC”, etc.

    1. otravers Post author

      Try Plex Meta Manager (link is somewhere above), I think it might work for that purpose. I tested it a while ago to create collections for movies with a commentary track, I ran into a bug at the time but need to give the latest version a spin.

  8. Tandia

    LOL!! Not sure why you’re running Plex in a docker container considering they have an app that runs on DSM. I have a 108TB synology Nas server running Plex directly from the OS.

    1. otravers Post author

      You don’t *have* to run Plex in a container, but doing so gives you a level of control over versioning that you don’t necessarily have in the Synology version. And for me Plex is just one of a couple dozen containers I’m running on my NAS, many of which without a native app option.

      1. John N

        Great post!!! I have been using for years DS Video until I have recently discovered PLEX and it is great.
        I would love to use your idea of utilising the Plex-Meta-Manager but since I am running the native Plex app on my old NAS, is it possible to install it? I haven’t found documentation about that. My NAS is 7 years old and I guess won’t work well with containers 🙂

        1. otravers Post author

          If you can find out where the Plex package on your NAS is installed and know how to navigate its file system, it should still be doable to install plugins.

  9. Frank

    Hi ! Could you explain more in detail how to use Plex Meta Data manager ? I m trying to use via Docker, but i don t understand the config.yml file… Could be possible to do an extensive explanation ? Thanks in advance, really interesting post ! I would add services like Petio os Past, always via Docker, a good services to keep plex on fire !

  10. Mike

    Hey, great article – can’t say I read every word but it looks like lots of great info which I’ll come back to as I become more of an advanced user.

    So I’ve just started with Plex and am finding it awesome on one level (for TV and movies) but utterly frustrating and non-functioning for documentaries which I watch more of than anything. I just can’t work out a way to have my one off doccos in the same library as the ones in a series without having to create a folder for every single one – and as I have many hundred standalone documentaries this is not realistic for me. Is there any way to do this or am I 100% limited to having one library for series (with file type TV Shows) and one library for the standalone ones (with Home Videos as the file type)?

    The other really annoying thing is that I see this very issue coming up everywhere on my google searches and on the Plex forums yet the developers never seem to be willing to do anything about this issue – I guess none of them ever watch documentaries, or at least no one-off standalone ones. Or perhaps the way Plex is written it’s just too hard.

    What I’d like to see is the option to have a simple folder-based library – I don’t need Plex to find out info out about my doccos as it’s in the name anyway and as I live alone it’s only me who watches them anyway… so if we could set up a library to point to a whole folder where it maintains series folders but also lists the one-off videos that would be enough for me.

    I was going to switch to Emby but it does not seem like there is plug in for my 2021 LG C1 OLED TV – and TBH I really like the Plex WebOS 6.0 Plex app – but I just wish I could organise ALL my doccos into one library.

      1. Mike

        Thanks for that link to Colima (and ASS by association) – need to google how to install them now. So when I set up a custom library I just make the agent Colima right? I’ll backup my library metadata and then give it a go.

        I had another Q which you may be able to help with. I have about 20TB of movies, TV shows and doccos (I was a serial downloader over many years before we got Netflix et al) and because even my unwatched items run to many thousands what I want to do is to have Plex (or whatver other tool would work) to run a script when something has been marked as watched to move it to another folder – the later I can move those items to my archive drives… is this possible do you think? If so what tools would you use? I’m a developer by trade so I don’t mind getting stuck in if it involves scripting etc.

        PS: Thanks for actually answering comments – so many bloggers just dump stiff out there then ignore any or all feedback, questions or comments.

        1. otravers Post author

          I move files from local storage to my cloud archive manually and it’s not enough of a workload that I’ve looked into automating that part. Since watched state is stored somewhere in the Plex database, you could presumably retrieve that info then feed it into the scripting engine of your choice to trigger file relocation. The exact answer is heavily OS dependent but in principle this sounds doable since you’re able and willing to roll up your sleeves.

          PS: you’re welcome, I appreciate the vast majority of interactions, I had to shut down a couple of trolls but in most cases these interactions help me sharpen and deepen my entries as I keep editing and adding to my beefier entries.

  11. Ford

    Thanks very much for a very thorough post. What brought me here was searching for the ability to automatically create a collection for my movies with commentary tracks. I’ve had a go at setting up Plex Meta Manager (in docker), a config file and a movies.yml (basically copied and pasted your snippet) but the collection isn’t created. I’m not overly interested in the other features but was hoping you might be able to provide some more details or point me in the right direction to getting this sorted.

    Thanks for any help you can provide.

  12. The Dude

    A lot of people, like myself, aren’t savvy enough for all the plugins and script info.

    To dumb all of this down for the peeps like us just make sure to:

    1. Separate media in different folders and libraries by type, e.g. movies, TV shows, music, audiobooks, etc all in separate folders.

    2. Follow all Plex naming conventions for each media type. Check the Plex forums, great information.

    3. Ensure all embedded metadata is complete and accurate. In my movies I had mix of Mac, avi, mp4. I ended up converting all of them to mp4 gor metadata and also for more direct play capability.

    4. Don’t use the Plex app for everything. It works well for movies and tv shows. Music or audiobooks or other audio I recommend using other apps. Plexamp is great for music. Prologue is great for audiobooks on iPhones, chronicle for non iPhone users is just as good.

    5. If you are really into audiobooks make sure you tag everything very well. The agents for the metadata are not that great. Also, if you have book series like Dune I recommend naming them with the book number in the series and tagging that as the book titled, e.g. Dune 01 – Hunting Harkonnens.

    For more than half of users this is all you really need.

    1. otravers Post author

      Yep, your mileage may vary depending on what kind of content you have, how much you have, how organized you need everything to be, how much time you’re willing to spend, and how tech savvy you are.

  13. Martin


    Firtsly thank you for exhaustive well of information. I would like to ask about some sepcifics about the collection posters on Nvidia Shield Pro server. Hopefully I have not overlooked it anywhere on your blog.

    I am a bit confused about collection poster handling on Nvidia Shield. Specifically I was hoping I will be able to safe the my collection posters somewhere in my Media folder. However the only way to get custom collection poster I have found so far is to login to web app and manually add the poster via in the UI. Have you found any other way?

    1. otravers Post author

      Hi Martin, you’re welcome. The fact PMS is running on a Shield shouldn’t matter in terms of handling local media assets. If you want to load collection posters without selecting them from the Plex UI, look at “Personal Shows Metadata Agent” in my entry.

      1. Steve

        Hi, is the Personal Shows Metadata Agent still working for you in 1.24.1? I want to do tutorials just like suparngb did, but I can’t get it to populate any of my metadata.

        1. otravers Post author

          Yep, I don’t see any issues with PMS and Personal Shows Metadata Agent in my tutorial library.

      2. Martin

        Hi, thank you for reply. So the Personal Shows Metadata Agent can replace the standard Plex agents? And is able to somehow assign posters located on my media drive within the folder structure to the individual collections?

          1. Martin

            Sounds very good. Are there any missing functions in the Personal Shows Metadata agent? Compared to newest Plex agents?

            It seems a bit more complex for me, though I have never tried any addon for Plex at all.

          2. otravers Post author

            The newest Plex agents are really for known entities like TV shows and movies. The custom agent/plugin route is for sure more complex and you’re on your own as there’s no official support for it. I tried to break it down but it’s not a substitute for diving into each solution’s documentation and trying things out on your own. I’ve gone through a lot of trial and error myself!

  14. Bill

    I’m really interested in the IMDB Top Rated and Oscars categories listed above. Is this something you manually put together, or did you automate it?

  15. bblackmoor

    This article is a good example of why I gave up on Plex after wrestling with it for a day, and tried Emby. All I want is to play the videos and music on my media server, displaying the cover images and metadata I set up, on my Roku boxes. Emby does that.

    I used to use the MyMedia app in Roku. I loved it, but it’s been unsupported for years, and recently the git repo was taken offline, so I decided it was time to find a replacement. Plex’s attempts to be “smart” were a source of frustration. Emby is simple and it works for what I want to do.

    1. otravers Post author

      Plex can be set in its ways and it takes significant effort to get it to behave in certain non-standard ways. It’s great that there are alternatives like Emby to keep everyone honest.

    2. The Silence

      I’ll have to try Emby again. I’m looking for the exact same specs as you. Plex is giving me the big middle finger and ramming features down my throat that make no sense. Jelly fin loads in 1.5 seconds. I looked at the code and that’s the default wait time on the splash screen. Lol. Downside of jelly fin is missing skip intro, which I really like. But Plex has so many other terrible features I can’t stand to use it. Nice thing about jelly fin is you can contribute to the code

  16. gggirlgeek

    Hi. Thanks for the great tips.

    How would you suggest I manage user accounts and libraries for husband and wife? I manage our media center and it’s hard to tell when we both have watched something so I can delete it (our drives are perpetually too full. We fill them no matter how many I buy, especially now that we need higher res files.) Plex doesn’t allow other users to delete files so I have us both logged in as the same user. Separate User ID’s don’t seem to help when filtering “played” files anyway.

    I have a trakt VIP account, and some watchlists for both of us, but I don’t know if that would help Plex tell me if shows have been seen by both my husband and me.

    I have a few libraries set up by genre and 1 for each of us but most videos are interesting to both of us. I can set up smart collections I suppose but I don’t see how that would help me see if he has watched a show. I could ask him to add the show to a “Watched” playlist but I honestly don’t see this happening. Too much PITA after a long day.

    Your suggestions would be appreciated.

    1. otravers Post author

      I don’t think I have a perfect solution that covers all scenarios. I have set up smart collections by audience (e.g. my wife alone, me alone, us together, the entire family…) which works well as long as individuals don’t watch separately shows that are in a group collection.

  17. gggirlgeek

    Second question. You said you use Sonarr/Radarr and you have many libraries/categories. How do you get Sonarr to organize shows into different categories or folders for distinct Plex libraries? This is the reason I gave up on it. This and I couldn’t find a way to get it to search multiple public RSS feeds, even with Jacket. Do you use multiple instances of Sonarr? If so how? (I use qbittorrent. I don’t rename/move files because Plex doesn’t need it anymore as long as I use separate libraries for movies and TV files.) I use separate libraries/folders for different occasions, like you. Documentary movies, Reality, Scripted TV, Movies, Husband TV, Wife TV, etc.

    I guess I could skip the genre folders and use smart collections or playlists in Plex but I’m dependent on Plex never breaking then. I also can’t use other media players without a lot of effort sorting through files again. I like being able to open MPC-HC or an FTP client and see my same library folders. That’s why I’ve never used music playlists either, just folders by general mood.

    FYI I’m using Plex server from a commercial seedbox on Ubuntu 18. I will set up my own server soon but not now. It has all the media server software a collector could want.

    1. otravers Post author

      I run a single instance of Sonarr that loads current shows into our main TV Shows library (local storage) and likewise a single instance of Radarr for the local movie library. Other libraries (cloud TV and movies, family movies, documentaries, music videos etc.) are all managed manually as they’re either specialty content (e.g. UFC fights), not serial, or used to expand my storage beyond the ~50TB I have in local capacity. The only must-have automation in my opinion is to manage ongoing TV shows in Sonarr. Everything else can be done manually, for instance I can quickly download entire seasons of old TV shows and automation doesn’t save a lot of time in that case. But I do want the latest Succession episode to be available in Plex ASAP without having to do anything!

      1. gggirlgeek

        I’m back: Brainstorming about my Plex system again….

        My system so far is beautifully simple, but I’m always open to better automation, and better TV consumption:

        I have a simple text file where I store long strings of queries to paste into qbittorrent RSS downloader. Each long query is a single item (so I don’t have to create a new item for each of my thousands of shows.) The only hiccup in this system is sorting through the duplicates that always come in. However it’s not near as much work as setting up the Arrs system and in addition to mainting this system for my generic new-show-discovery query: “S01e01-03”

        For example: “Stunt Science*|Dark Waters*|Vets saving Pets*|Emergency Call?S0*|Ambulance?S0*|Bad Trips Abroad*|Unmasked?S0*|*History of Horror?S0*|Mans Greatest Food*|Undercover Girlfriends*|Mythical Beasts*|Disclosure?S0*|Amanda to the Rescue*|Big Cat Tales*|Axios*x265*|Dating*Around*|Quark Science*”
        Exclusions: “480p|720p|720i|AFG|w4f|xvid|minx|walmart|honor-|TORRENTGALAXY”

        Individual long query-strings are based on either the folder (libarary) I want it to go to, or the sources required Exclusions to get reliable matches, with few duplicates.

        We simply consume in Plex by watching the top of the list for, date-added, in each library.

        1. gggirlgeek

          I don’t quite understand your work-flow with audience-based Smart Collections, and with new shows you haven’t checked out yet.

          I would say my biggest library is the one based on matching “S01e01-03” in my RSS downloader (over a thousand new shows still yet to go through (procrastination!) In addition, my established “Scripted” library has more than 700 series in it. That’s not including my established “Real” (documentaries and reality) (3000+ series) and some smaller libraries.

          You designate each new show to a Smart Collection as it comes in? You went through hundreds of established series and designated them 1-at-a-time??? There must be a better automated tagging or smart collection system than this? And exactly what do you click to add the show to a certain collection? Add it to a playlist or what?

    1. otravers Post author

      Thanks, it’s my most popular entry, I edited it plenty of times since its initial publication to make it as useful as possible!

  18. Petter Gulbrandsen


    Do you know if there is an way to sort movie library after added date?
    Not added to Plex librarry, because if you do something on the server, Plex thinks it is a new movie… Bad,,,


  19. JR

    When you create the smart filters for you and your wife, what do you filter on? I ended up creating separate libraries for my shows, my wife’s shows, and shared shows. Thanks!

    1. otravers Post author

      I had misspoken and just rephrased this section. I handle the collections by audience manually as it’s really a judgment call what TV show will be seen by whom. For instance, most police procedural shows are for my wife, but I will watch the occasional crime show with her, so I don’t automate these audience collections based on filters.

  20. Organism Seven


    Thanks for all the useful info.

    Although I still have Plex as a standby option, I now use Jellyfin 95% of the time.

    Plex started to drift too much into to the bloatware/commercial direction for my liking.
    I first moved over to Emby which was great to begin with.
    Very similar to Plex but has a cleaner and simpler UI without all the advertising and “reminders” to upgrade that Plex pushes.

    Sadly, the Emby people opted to go closed source and push themselves as a real alternative to Plex.
    Ironically, that has made them NOT a real alternative.

    Thank goodness, a group of people from Emby broke away and have continued to develop Emby keeping it an open source project and called it Jellyfin.
    It has its own niggles, just like Plex and Emby do, but it meets all my needs and is truly free.

  21. Gaby

    Really thank you for your detailed article… it’s really hard to find someting really specific about organizing “personal video” in Plex.
    I have a Synology NAS just upgraded to DS920. I was using Video Station (argh!) but moving files from a server to another meke me lose all the comments and the data (it didn’t read the .vsmeta files…they were simply overwritten…).
    That’s why I decided do try Plex. They I got stuck, tried Emby, then got stuck again and came back to Plex XD
    I have a huge library of personal videos (mostly fitness videos and art tutorials). I want them to be organized by date and episode number, category, and I need specials, insigts, bonus … (yes, I am freak organizer XD) .
    I did tried the collections, but I really wanted more control and personalization…
    As in your article, I find that using the personal agent for series is the most useful options… I even managed how to organize folders to have them read correctly in Plex.. But I am struggling with date (if Plex reads the episode number that’s no way he can read the date, nor in the file name, not in the file metadata) and seems that I have to edit manually the date…
    I also find very hard how to organize bonus episodes, or specials of the same episode… Plex simply put them all together…
    I also wanted to add comments, author photos… and I would like to not lose them in the future…
    What do you suggest me?

    1. otravers Post author

      Hi Gaby, the Personal Shows Metadata Agent can handle dates but you do have to input them manually in the json files. You might want to use seasons to handle bonus/specials, i.e. Season 01 for regular content and Season 02 for extras. But things like comments really look like beyond Plex’s scope.

      1. Gaby

        Thank you for your reply, very appreciated!
        Is this the metadata agest you are talking about?

        I already have seasons , so I should do a special season of the season, I dont’ know if it’s possible…
        How Can I edit and manage the Json file? Do you suggest some metadata manager?
        I also will have to edit the names of lots of old files…

        When I wrote comments I was talking about description of the video (I am not english native, forgive me) .. I really want to have the ability to save them and to migrate those data in the future…

        1. otravers Post author

          Yes, I’m talking about that agent, as per my section about tutorials. And yes, it takes a lot of work to retrofit file names to its naming convention. It was worth it for my specific use case, but then I’m a stickler for organization.

          You can edit JSON files with any text editor, I use Notepad++.

          1. Gaby

            Thank you again.
            I can rename my files, I totally think it’s worth the effort 🙂

            Can you explain to me how to edit the JSON file to make the date in the name of the file (or the creation file date) recognized from the agent? I see in the examples only keys to the seasons and not to single files…

            thanks again

  22. Fabien

    Your article is amazing. I discover (finally) how handle large Plex libraries.
    So collections seems the way to go.
    You are talking about Collection for different audience and also genre (thematic) collection and otehr auto builded collections.
    Your collection view is not to messy ? (i don’t see if it is possible to organize collections view with some “directory”)
    But in some of your screenshoot, we see only collections by genre all together… How do you do to not have your other collections in the middle of them ?

    1. otravers Post author

      Thanks Fabien. I agree, collections can become a bit messy when you have various types of collections, and I haven’t found how to control their sorting order.

  23. M

    Hey, very nice article. Perhaps someone here can help me, please. I’ve been trying to figure this out for weeks and can’t find any info remotely related to it. It would be much appreciated if anyone has the slightest idea what the problem is and could point me in the right direction.
    I’m running Plex on Unraid and the posters for the included free movies/shows will not appear. The metadata loads (including backgrounds), but not the posters/thumbnails. Also just noticed the cast photos aren’t showing either. I probably messed something up somewhere along the line while setting up my server but have run out of ideas. I updated to the latest version, checked port forwarding in my router, restarted the docker container, etc.
    It’s not really a big deal, just drives my OCD crazy. Especially since I can’t find anything related to the issue. All my local media displays without issue, btw. No problems there.

    Thanks in advance.

    1. otravers Post author

      Sounds like an API connection or DNS issue of some sort, but it’s weird that you’re getting backgrounds.

    2. Andi

      I don’t know if you have the same problem that I had, no posters showing up after moving the Plex library, not the media, to another harddrive. The problem was related to that the harddrive was ExFat formatted. Changing the formatation to NTSF made all posters working again.

  24. SS

    I’m a very basic user, with Synology. I have a library called Directors so I can watch all the movies by that director. However, Plex has created a duplicate director with a film in each one instead of 2 films under that director. any advice please.

    1. otravers Post author

      Not sure why you have that duplicate but you’d be much better off creating a Smart Collection for this rather than a separate library.

  25. Herbert Smith

    I have an extremely large collection of photos (100,000+) all (mostly) tagged with metadata using Adobe Elements Organizers. I think I have push Elements well beyond it limits.

    Will Plex pick up those tags in the metadata? Does it handle hierarchical metadata? How well does it perform on massive amounts of photos?

    For playback I currently have to export copies into separate folders. I would love to be able just filter on people or places metadata and then play

    1. otravers Post author

      Sorry I haven’t handled such large collections, nor photos for that matter. I’d ask on the Plex forum.

      1. Mayoor

        I have 100s of movies in 3 different libraries on my plex setup. And then there another 100s of movies that I have in my plex watch list that i do not want to download as they anyway can be streamed through the OTT platforms that i have subscribed to. Is there a view or collection that can help me show all movies from my libraries and watch list in one unified list/grid…

        Also is there a way to integrate the watch list from Justwatch and various streaming services into one supre watchlist on Plex?

        1. otravers Post author

          Cross-library integration is poorly done in Plex, it won’t show everything in one unified grid.

          Plex Meta Manager can import from Trakt, I’m not sure about Justwatch.

    2. Splinx


      I could never imagine running that in Plex.

      FWIW – I have a similar sized library and I uploaded it all about 5 years ago to Google Photos. IO tried MANY others but I’ve found Google Photos to be the best for the following reasons:

      1. It’s the cheapest per GB size – they offer a family account too so your household can all link their phones to it.
      2. People, places, pets and even things are auto-tagged – it’s actually amazing! (saves be 100’s of hours).
      3. Everything is always backed up and I can grab any photo in seconds from any mobile device.

      For example, I can be out with finds and someone says “remember that time x happened in y”…. within 60 seconds I typically have the photos on my phone even when it’s from 20 years ago!

      For me, pictures for memories are one thing…. ensuring that you have quick and effective retrieval of them is another!

      Splinx 🙂

    3. Slava Petrov

      Hi Herbert, currently struggling to find answer for the same question.
      If you succeeded to find a mediaplayer picking up tags of photos earlier set in Adobe Lightroom — kindly share.

  26. Mike W

    Olivier, thank you VERY much for taking time to post this! Wish I had run across it earlier.

    Related to your section 3 on audiobooks, I wanted to mention that I have been converting my audible books (*.aax) to *.mb4 files for a few years now and then organizing them in a PLEX ‘Music’ library and it works great. My understanding is that the ‘b’ in mb4 stands for ‘book’ and it was purposely built for this use, just like the mp4 name is short for ‘media player’ or ‘Moving Picture Experts Group 4 (MPEG-4)’.

    The artwork metadata for most books pulls in great and some of the others too, but I usually set the ‘Date Available’ and ‘Review’ sections for each book manually. The *.mb4 format allows me to resume where I left off after closing the app and has been quite usable for me on my iPhone, particularly when I sync (download) the book to the device. Here’s a screenshot of some of the books in my library, if you are interested.

    You may be aware of this format, but I didn’t see any reference to it so I thought I would share. Thanks again!

  27. quoddity

    This was amazingly helpful. Thanks!
    I have two PMS servers running at home: on a Shield pro (garbage); and on an old Win10 machine.
    But what I wanted to thank you for is putting all this in one place. I’m busy and looking for a way to add any description to tutorials and other unique series of videos, instead of “s01e04”. I don’t have time to find every “better” way to manage Plex libraries. So this is great. I’m especially looking forward to integrating documentaries, cartoons, anime in integrated folders. It’s quite irritating at times with the default Plex method when a movie is released in association with a TV series and you can’t have a symbolic link in the TV library collection. Firefly and Serenity, for example.

    I one-way mirror my plex database to another PC using Syncthing in case the database or the Win OS has a failure.
    Nevertheless, perhaps this is possible and I’m simply unaware, but I wish there was a way to create a simple database and script where – in the case of needing to redo one’s database – one could just add some particularities one has already included in the failed database. eg., Creating a collection of Steve Martin movies, usimg dvd numberimg instead of the default for a tv series, replacing a default poster, etc… This way, rebuilding the database would require far less time looking over notes or realizing 2 months later that something needs to be changed.

  28. Splinx

    Hi Everyone,

    The above is a great guide and I’ve certainly taken a few tips from it – thank you 🙂

    For those that like servers, windows and tinkering…. here’s the setup that I run…

    * Simple home server running Windows 2019 server (£30 license) in a fractal node 804 case (allows up to 10 drives).
    * I bought a refurb Adaptec 51645 controller card with writeback cache and battery backup.
    * I have 8 16TB enterprise drives running in a RAID 5 array (1 parity drive to tolerate failure) – bought on Amazon for £220 each.
    * SSD drive for temporary transcoding caching (setting in Plex).

    The above gives me a totally awesome server with 100TB (yes, that’s terror Bytes) of storage. Plex is incredibly fast and responsive for up to 4 transcoded streams (although most is direct tbb).

    If anyone fancies a slightly larger project but with obvious rewards – feel free to ask for help/advice – I’d be ever so pleased to share my *many* days of research and experience.

  29. Fred Jones

    Great article! I really like the Plex Recommendations section of a library, it is very similar to Netflix, Amazon, etc. in that the top half’ish of the screen shows info about movie/show. However, it only displays a few rows, continue watching, newly added, etc., how can I make the entire set of categories display like Netflix/Amazon? For instance, after the standard Plex rows it would start displaying rows by category (or collection). Even better would be to start playing the trailer in top half of the screen if you paused browsing. I have tried Emby, Kodi, Jellyfin and none seem to do this? Can you imagine Netflix and Amazon if they only showed a few rows to browse? No one would subscribe!

  30. Gabriel

    Awesome guide and tips, thank you.
    A bit of help if you will, as I have a question.
    I am Unable to re-add my server to the Plex library.
    Actual name of Hard disk is – media/gn/My Book1/TV_Shows
    Name of disk shown in the Plex tree (Add Folder) is – /media/gn/My\040Book1
    However the Label with the forward did not appear until after moving to Linux 22.04.1 LTS (Jammy Jellyfish).
    I have been using this 8TB WD drive for well over a year with great success.
    What could have caused this issue? Unable to find any reference in the forums as suggested by Plex.

    1. otravers Post author

      I have no idea but it looks like the path shown in the Plex tree is somehow mixing Linux and Windows syntax. You shouldn’t have a mix of forward and backward slashes.

  31. Joe

    Hey there! Thanks for this. I referred to it often when setting up my plex system. Using Nvidia Shield Pro for Plex with an external hard drive to store media files. I’m about to outgrow this HD and need to change it out.

    Plex gives pretty cut-and-dry instructions on how to do that.

    Would appreciate your advice on whether the process described at the link is that simple? I’m worried something like not being able to rename the new HDD is going to happen.

    1. otravers Post author

      I move content to new drives all the time in Plex, it’s straightforward as the page you link said. The rescan can suck depending on how much content you have, but a single hard drive is no big deal.

  32. TxCrudeHauler

    Hello, I have tried several different softwares and ended with Plex as it has so many features. I run everything on an UnRaid server, which has worked great. The only thing I didn’t like about Plex was the ‘Recently added’ lists on the home page, I wanted an episode that has been watched to drop off the list. I found a way to handle this with with smart collections and filters. It works great on movies, but TV shows seems to have a hiccup! Shows are sorted by ‘Latest episode added’ which works fine on my admin account, but on any additional accounts the sorting seems to be ‘by release date’. Admin account shows everything as it loads into system, while added accounts push those same shows back down in the list. Do you know why this might be happening.
    Thank you for the great article, I like the Dynamic Collections, I never knew about that but having all my star trek or say SG1 (shows and movies) in one place sounds great! Also the Trakt connection, never knew that would span my watched list.
    thank you again

  33. Shayne Campbell

    I am losing files/movies and am trying to figure out where the issue lies. Is there anyway to consistently analyze files to find any lost files?

    I am not sure if Plex is deleting them for some reason or if my drive is losing them. This is the second drive I have that has been losing file and I am beginning to think it might be something between Plex and my files.

    Any help would be greatly appreciated.

  34. Jogi

    Hi i have PMS on Raspberry pi ( Raspbian GNU/Linux 10 (buster)) running.
    Can anyone tell me how to remove the annoying search restriction of 30 results ( no matter what words i am searching for its max 30 results)? I am trying this since days now without any success. Even a complete reinstall of PMS and deleting Application folder did not have any effect…
    I cant find anything useful in preferences.xml or elsewhere…
    This problem seems to be randomly hitting linux versions of PMS. The Windows Version on my (slow) Backup-Server is showing all files (59 instead 30). I very much hope anybody has got an other idea …

  35. Angelo Corbo

    Some TV Show episodes have two parts, usually in one video file. For better matching and control, Plex Support recommends splitting these video files, so that each episode has its own file. I’ve done that, but the downloaded metadata from IMDB or TVDB, and the mapping of episode to a file now is not in sync, or one off. Is there a way to manually re-map episodes to files? Any clues are appreciated.

    BTW, this is quite a comprehensive report on how best to manage Plex for specific use cases, Thank You!

  36. FTW

    Hi, thanks for this article

    little question, how did you merge both metadata_item and metadata_item_view

    and how did you create your graph and datasheet like your screenshot from Power BI?

    I tried to find it myself but unsuccessfully

    Thanks for your help

  37. Bill

    Unfortunately plugins are dead. Only WebTools is actually recognised, but it doesn’t support two factor authentification, making it absolutely useless.

    1. otravers Post author

      Bill, you might well be right. I originally published this entry in 2020 and just cleaned up a bunch of links, but I haven’t used plugins in the past couple of years. I’ll try again and update when time allows.

  38. David LaRocque

    Such a pleasure to find a kindred soul who loves hacking into back-end databases and then pulling that into PowerBI 🙂

    BTW, I found it easy to install SQLite ODBC drivers, and connect PowerBI right to a copy of the db. The relationship keys are pretty easy to figure out, in addition to the SQL you linked to.

    I’ve spent years carefully tagging my music and movies directly in the files using a variety of tools, learning that in-file metadata lives much longer than applications that use them. But, Plex is still woefully incapable compared to even iTunes, and is over-reliant on centralized services that don’t work well beyond the tentpole content. I’ve lived with the limitations because it’s easy to cast, use in Carplay, and my wife can use it.

    Anyway, I found this page because I’m trying to figure a way to get Plex to behave. Lots of good ideas here! However, my particularly problem is that I’m trying to use the Personal Media agent on my movie library, because it’s better quality than the Plex agent. When I do, none of my movies can be found in global search. Advanced search works, but not global. Any ideas?

    1. otravers Post author

      Nice to see I’m not completely alone in my obsessions! Go the Advanced tab of your library’s settings and check out the Visibility drop down menu to include the library in global search.


Leave a Reply

Your email address will not be published. Required fields are marked *