PartIdIndexer is a helper meta data agent for enabling true external player support. For each movie/TV-episode it creates a mapping between partId and real media filename. This mapping can be then used during external playback to convert the fileURL provided by playercorefactory mechanism into real filenames.
Mac, ~/Library/Application Support/Plex Media Server/Plug-ins
Windows, Right-click PMS systray icon and select "Open Plug-ins folder" to browse to correct folder
Linux, /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins
Restart the Plex Media Server
Enable PartIdIndexer in Movie agent's (Cine21, Freebase, Personal Media, DVDP2Plex) or TV-series agent's (Personal Media Shows, theTVDB) settings (screenshots #1 and #2). I recommend setting the PartIdIndexer on top of priority to have it run as early as possible.
In the PartIdIndexer Settings, set the PartIdIndex save directory (full path). Setting is shared between movie and TV-series agents. "c:\utils\partidindex" is recommended since the examples use it. The directory must exist. (Screenshot #3)
Then just run a forced re-scan (screenshots #4, #5 and #6) and you should see ####.txt files appearing in the PartId index save directory. The filename without extension is the partId and the file contains the real media filename (UTF-8 encoded).
Tips
For the setup/testing phase create a new movie library and point it to a directory containing only a few media files. You can copy a few existing media files if you like. You can also disable other meta data agents in the Freebase agent chain. This way the library refresh time is as fast as possible. Once you get it running nicely you can refresh your main movie library.
Instead of running forced refresh on the whole library, you can also go to a single movie and refresh that. This will trigger partIdIndexer (and other agents too) only for that movie.
If you have multiple Windows clients or your primary client is not running on the same machine as the server, the easiest way is to share the partIdIndex directory from the Plex Media Server. You can then on the client side either directly point to the share with UNC (eg. \\plexserver\partIdIndex) or map it to a drive letter and then point to that (eg. T:\). Another possibility is to use an independent file server share (\\unraid_server\partIdIndex) and point both the partIdIndexer agent and the clients to that directory, personally I use this option.
Screenshots (click thumb for full size image)
Screen #1 - Access Plex server settings in (Plex/Web)
okay trying this out. I like that you play the file directly vs the stream like plex. Issue i am having is the patidindexer is never filling up with text. I installed per instructions folders are created but they never fill with anything…any ideas?
Okay so I forced a refresh of a movie section.....One folder was created for one file and thats it...Partindexid is at the top of the list as well. Ideas are welcome I have modified your playiso and have it working via the test you provided.
You mean it's not creating as many files as you have movies? There should be a file for each movie. Are you using it with the default Freebase meta data agent? Are there any errors reported in the log file?
Default location for the log file on Windows is:
C:\Users\[username]AppData\Local\Plex Media Server\Logs\PMS Plugin Logs\com.plexapp.agents.partidindexer.log<br />
In the log file there should both a search and update entry for each movie. Posting the log as attachment would be best but you could also post only a part of the log file.
Ya sorry for the vague post that's what I get for posting quickly.
I am using freebase, I moved partidindexer to the top of the list and then did a deep scan refresh of a plex library. It has about 900 plus movies. It only wrote a text file for around 250 movies. I'll give the log a look and check it out thanks for the pointer there.
Btw thanks for the time into this program it was much needed for many reasons outside of ISO. Now it's got me digging into where to pull the resume/restart data from plex so I can send that to the player as well :)
I've seen some funny behavior from the Plex scanner (or something behind it). It seems to do things in parallel and some times it gets stuck and skips a lot of files for some reason. I've been playing around refreshing and clearing the library for several times. I think all the problems are related to meta agents going online and hanging there. I wrote the DVD Profiler meta data agent (DVDP2Plex) which utilises only local data and when I've been running PartIdIndexer with it I have seen no problems. I have a library with similar size to yours.
So you could try disabling everything else but the Freebase agent. Unfortunately even it could be too much to get a 100% scan. It's too early to say that there is something wrong with Plex regarding library updates but still something odd happening from time to time.
Almost forgot, are you getting a match with Freebase for all your movies? The contributing agents are not called if the primary does not get a match.
Updated main post with more detailed description and tips on the setup. Also added screenshots to help any newcomers find the right Plex/Web config screens.
But no text files ever show up in c:\utils\partidindex when I choose deep scan. The log file does not contain any "search" items. I attached the log (note that the error there for the folder not found should be irrelevant, I was just testing folders other than c:\utils\partidindex). What am I doing wrong here?
Thanks
Edit: Though going to "force refresh" did not do anything, I found that if I click the little circular arrow over the DVD pic, that will create the file. Is this expected behavior?
Hmm, I will have to take a closer look on this. Seems odd that even a Force refresh does not trigger meta data retrieval. With which primary agent are you using PartIdIndexer? In which order do you have the agents in the list?
I tested this with different variations and based on that "Turbo scan" or "Deep Scan" won't trigger PartIDIndexer on existing items but "Force refresh" does. The agent order does not make a difference.
I'm using the latest PMS and this has been working also on previous versions. So if "Force Refresh" does not work for you then there is definetely a problem. Could you post a freebase and partidindexer logs which contains a successful refresh (using the individual refresh) and also the "Force refresh"?
I just tried it, and I am now not able to replicate the behavior. When I copy an iso to the folder now, the update service generates the file in partidindexer and the iso loads in PowerDVD just fine. This problem only happened the first time I got Plex running and installed the partidindex and external app plugins. Maybe it was just a glitch?
I can look back at the old logs, from when this started. However, I am unable to locate the freebase logs; where are they stored?
If you don't have any problems then perhaps it was just some glitch or caching issue within PMS. I've seen some settings to take some varying time to be in effect. I don't think it's necessary to dig any deeper unless you hit this again.