Server Version#: 1.30.2.6563
Player Version#: 4.99.2
I currently use Calibre to manage all of my eBooks and AudioBooks. This means all my AudioBooks are mixed in with all of my eBooks in a single directory. My Plex library for AudioBooks points to the Calibre location, and properly imports all AudioBooks found…but the scanning process can take a VERY long time traversing all the unnecessary paths.
I want to continue being able to just point to a directory for Plex to import; and do not want to manage individual locations for each added AudioBook if I can avoid it.
Does anyone have any idea on how to improve this? Is there logic in plexignore that I’m overlooking that could solve this? Is there any buried settings in Plex that can improve this? Maybe filtering whatever get child items it execute for just m4b?
My current assumed options are…
Script to scan Calibre library for m4b files and copy them to a Plex only directory. Downside is the duplication of file space.
Add each Author directory as a separate path to the Plex library for AudioBooks. Downside is a manual step each time I add an AudioBook or point of failure to account for if moving AudioBooks around in Calibre.
Write a PlexAPI script to handle 2. Downside is complexity.
Anyone have any ideas on how I can improve this, while keeping it simple?
However I only use Plex for media playback, and I only use Calibre for bare metadata. I include an opf and a cover.jpg in each album/book folder inside plex which is exported from Calibre.
So my issue here is that I do the same. Calibre is in charge of my folder structure and Metadata, and Plex for playback, except I don’t export anything, it’s all self contained in the library.
However, when you have a root Calibre library in the thousands, it turns scanning a file path for a handful of audiobooks into hours of scan time. What I’m hoping to achieve with this post is to figure out how that can be improved, without having to add a new path to scan for each author.
A perfect example would be that I can run a powershell Get-ChildItems recursively and specify file types to ignore or include, and that’ll run in a couple minutes. Plex uses a plexignore file, that I’m sure could be tailored to do and act similarly to reduce the overall scan time?
Your issue is file naming, and folder layout. You cannot use Calibre for that. Plex is fairly strict, and you must also have the metadata embedded in the files 100% correct minor deviations will cause problems.
I use Tagscanner to organize my files, the naming schema is %artist%\%album%\%artist% - %album% - %track% of %totaltracks%
Artist = Author
Album = Book Title
Track = sequential file number of book parts
totaltracks = Total number of files for this audio book.
My library has ~6,000 books and 140,000 files. Scanning for changes takes minutes, not hours.
Just depends on the audio book, especially those formatted for CDs have a high file count. Tom Clancy’s Dead or Alive is 243 parts. Im averaging about 24 parts per book which isnt that bad.
EDIT: Just because you have a similar format doesn’t mean it will behave similarly. Depending on the embedded metadata, and folder structure it can cause the scanner to take longer to process
In Plex, scan times will be shortest if you stick very closely to the recommended folder structure, as explained above.
Personally, I even use separate subfolders for each disc of a multi-disc album. This should help particularly for the books with several dozen chapters/tracks per disc.
I do not have any media types in these folders except for eBooks (mobi, pdf, epub, whatever) AND m4b. Said M4Bs are all single files with chapters, encoded the same way using the same repeated process.
I am not talking about any sort of metadata issue or anything like that. I’m talking about why Plex takes hours to scan a directory when there is only a handful of media files in that directory it’ll even do anything with? It seems inefficient…
So I’m using the folder structure as explained above already to a very similar degree.
I don’t need subfolders for discs, all my audiobooks are single file m4bs.
So let me restate part of why I’m questioning this all…
Get-ChildItem -Filter “*.m4b” -Recurse
This I would argue isn’t efficient as other methods for maintaining and querying for files, yet it took 2 minutes and 45 seconds to pull up all my Audiobooks. Plex takes hours to scan the same directory. I can’t imagine Plex is doing something even less efficient than a basic gci call with a filter for supported media types. So what’s going on and how can I as the end user improve this scan?
Note: I’m already over this as mentioned and just now will maintain adding another library source directory for each audiobook author, no biggie. But this seems like a problem that should have a solution…?
8 minutes 15 seconds for scanning a library of my size is about as good as you can get.
I’ll repeat a couple points I made previously:
Calibre does not edit/maintain the metadata in your audio files.
For audio books metadata information must be exact, with no extraneous information.
Folder structure is also important
Calibre’s folder structure does not match the format I recommended.
With Plex close doesn’t count if you fail to follow the recommendations you will have issues.
Your library needs setup as Music/Plex Music Scanner/Personal Media Artist/ No sonic Analysis/Prefer Local Metadata/Store Track Progress/Album Art Local Files Only
Take a program like TagScanner and inspect your media’s metadata, Gonna bet its not pristine