TV Show episode titles and external subtitles are not being recognized

Server Version#: 1.20.1.3252
Player Version#:

Hi, I’m fairly new to the whole Plex Media Server, but for the most part it’s gone very smooth. The frustrating problems I have encountered after adding TV Shows, include episode titles not being recognized, despite the files being correctly named after the official plex guides. The same goes for Plex recognising my external subtitle (srt) files, also correctly named. I would appreciate any type of help I could get to fix these issues so that Plex can fill the correct metadata automatically, so that I don’t have to upload subtitles individually to each episode and writing the episode title.

I’d like to add that no TV show episode ever loads a thumbnail and simply stays blank. Is this a known bug, or have I configured something wrong? Also, no TV Show ever saves their correct metadata after being added, although correctly suggested posters and backgrounds are provided if the match is correct.

I’ve attempted the Plex Dance but found no luck.

This post was also submitted to reddit, but I thought I’d get better chance at help here.

Thanks for any help received.

After you chose “Fix Match” and chose Brooklyn Nine-Nine from the search results, you might want to go back to the main show landing page and under the More (three dots) menu choose “Refresh Metadata” to trigger Plex reloading the show data now that you have manually fixed the matching. That should cover all the episodes you have on the server now, and if you add new seasons they will load their data correctly when the Library scan picks them up.

I just tried this, but still nothing. Every episode blank with the standard “Episode 1, Episode 2 etc”. I tried the same with other shows but nothing. It seems like it finds the correct match, because the proper posters and backgrounds are provided, but all the other metadata is left blank and untouched.

Are your files in the mp4/m4v format?
If they are, do this:
Go to

  • Settings - Server - Agents - Shows - TheTVDB

In there, grab the line ‘Local Media Assets’ with your mouse and drag it downwards, so it ends up being at the bottom of the stack of active agents.
Repeat the same under

  • Settings - Server - Agents - Shows - TheMovieDatabase
  • Settings - Server - Agents - Movies - Plex Movie
  • Settings - Server - Agents - Movies - TheMovieDatabase

Afterwards, Refresh Metadata on the top level of the show.

Your screenshot doesn’t show the folder structure, which is almost equally important as the file names.

Here is the folder structure for one season.

I tried changing the agent list as “Local Media Assets” were are the top, but still nothing. Most of my files are of the MKV type, but even for the shows that use the mp4 format it didn’t work.

Folder structure and file names are looking perfect :+1:

Please copy the content of the guid="... property from the Plex XML info of the first episode.
What does it say?

guid=“local://6628”

local means the show hasn’t been matched yet at all.
What is selected as “scanner” and "agent"in the properties of this library (on the ‘Advanced’ tab)?

The agent for my TV Shows tab is TheTVDB

And your server did have an internet connection when you scanned this library, after you have added this show?

Settings- Server - Network - ‘Show Advanced’
Remove the checkmark from “Enable server support for IPv6”

Click on the show’s title, which should bring you to the top level of the show.
Click on the ellipsis ⋮ and pick ‘Match’.

I just unchecked the suppot for IPv6.

I tried “Fix Match” and “Refresh Metadata”, nothing.
I tired “Unmatch”, “Match” and “Refresh Metadata”, still nothing.

Fix Match should not appear, because the show is unmached.

When you do ‘Match’ or ‘Fix Match’, click on “Search Options” in the dialog box

(please ignore the file name in this screen shot)

Are there any results after pressing on “Search”?
(it may take a few seconds)



The match seems to be found without problem each time on every show I have and Plex then provides the correct poster and background options, but the matching ends there so to speak.

So clicking on this sole search result and waiting ~ 2 minutes afterwards does nothing?

Enable ‘debug logging’ on the server (but not ‘verbose’),
restart the server.
repeat the ‘Fix Match’ procedure.
Wait 5 minutes, then fetch server logs.

As I am unsure what to look for I have attached the server log.Serverlog 21.09.2020.txt (90.5 KB)

Please upload the whole zip file, because there are several logs to inspect.
Please upload the server logs. The file you provided is the log from the web app.

Plex Media Server Logs_2020-09-21_04-55-21.zip (4.8 MB)

It appears that Plex was not able to write the metadata into your Plex data folder

2020-09-21 04:41:13,977 (802816f00) :  CRITICAL (agentservice:590) - Exception in update for com.plexapp.agents.thetvdb://269586?lang=en (most recent call last):
  File "/usr/local/share/plexmediaserver/Resources/Plug-ins-a78fef9a9/System.bundle/Contents/Code/agentservice.py", line 579, in update_task
    self.combine_subtitles(combiner, metadata_class, media_type, identifier, full_guid, dbid)
  File "/usr/local/share/plexmediaserver/Resources/Plug-ins-a78fef9a9/System.bundle/Contents/Code/agentservice.py", line 654, in combine_subtitles
    tree = Framework.api.agentkit.Media.TreeForDatabaseID(dbid, getattr(media_cls, '_level_names'))
  File "/usr/local/share/plexmediaserver/Resources/Plug-ins-a78fef9a9/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/api/agentkit.py", line 682, in TreeForDatabaseID
    tree = MediaTree(cls._core, xml_obj[0], level_names, child_id=dbid if parent_id else None, level_attribute_keys=level_attribute_keys)
  File "/usr/local/share/plexmediaserver/Resources/Plug-ins-a78fef9a9/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/api/agentkit.py", line 561, in __init__
    subitem = MediaTree(self._core, child, next_level_names, level_attribute_keys=next_level_attribute_keys)
  File "/usr/local/share/plexmediaserver/Resources/Plug-ins-a78fef9a9/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/api/agentkit.py", line 561, in __init__
    subitem = MediaTree(self._core, child, next_level_names, level_attribute_keys=next_level_attribute_keys)
  File "/usr/local/share/plexmediaserver/Resources/Plug-ins-a78fef9a9/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/api/agentkit.py", line 565, in __init__
    item = MediaItem(self._core, child)
  File "/usr/local/share/plexmediaserver/Resources/Plug-ins-a78fef9a9/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/api/agentkit.py", line 497, in __init__
    part = MediaPart(self._core, child)
  File "/usr/local/share/plexmediaserver/Resources/Plug-ins-a78fef9a9/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/api/agentkit.py", line 468, in __init__
    self.thumbs = MediaContentsDirectory(self._core, self._core.storage.join_path(self._path, 'Contents', 'Thumbnails'))
  File "/usr/local/share/plexmediaserver/Resources/Plug-ins-a78fef9a9/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/api/agentkit.py", line 72, in __init__
    self._core.storage.make_dirs(self._path)
  File "/usr/local/share/plexmediaserver/Resources/Plug-ins-a78fef9a9/Framework.bundle/Contents/Resources/Versions/2/Python/Framework/components/storage.py", line 128, in make_dirs
    os.makedirs(path)
  File "/usr/local/share/plexmediaserver/Resources/Python/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/usr/local/share/plexmediaserver/Resources/Python/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/usr/local/share/plexmediaserver/Resources/Python/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/usr/local/share/plexmediaserver/Resources/Python/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/usr/local/share/plexmediaserver/Resources/Python/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/Plex Media Server/Media/localhost'

Now why that is, I don’t know.
Unfortunately I have no knowledge about FreeNAS and the pitfalls which exist in there.
Looks like some permissions problem to create a subfolder.

So if I were to setup the server on a Linux platform or Windows this should be less of a problem? If there is something I could do in FreeNAS I will try, but do you know someone who may be more experienced who could help me out with it?

I’ve moved this thread into the place where most of the FreeNAS users hang out. Hopefully there is one among them which could provide a hint.

If I had to guess, it might have to do with the containerization/virtualization. That concept may be powerful, but it can also be very difficult to get a grip on the complex interactions between host system and container.

It doesn’t hurt to try different options.
Set up the server on Windows and try your luck. You can point it to the media folders on your FreeNAS machine.