About reconizing the .actors local folder #2643

Closed
opened 2026-02-06 22:17:06 +03:00 by OVERLORD · 1 comment
Owner

Originally created by @vflanker on GitHub (Feb 17, 2021).

Describe the bug

Here I use jellyfin to storage some TV shows. But I use tiny Media Manager v3(tMM) to grap TV information into .NFO file. Everything seems to be OK but only the actors info are not working.

I don't know if Jellyfin can do as what Kodi do. According to tiny Media Manager, tMM can enable the option Download actor images to .actors(docs link here: https://www.tinymediamanager.org/docs/tvshows/settings) and Kodi will load the local .actors folder. I try but won't see any response from Jellyfin.

My location won't get connect to www.thetvdb.com, so the jellyfin can not refresh actors details from the Internet. I'm looking forward to make it happen in LAN. So I turn to tMM and now it won't works. Here I'm now seeking for a official solutions. Also I know that there is a solution like:

/metadata/People/C/Chiwetel Ejiofor/poster.jpg

But it is a little incompatiable with most of the TV/Movie information grapping tools. So do we have any further plan to add actors folder support?

System (please complete the following information):

  • OS: Debian
  • Virtualization: KVM
  • Clients: Browser
  • Browser: Chrome
  • Jellyfin Version: 10.6.4 stable
  • Networking: Host
  • Storage: Samba

To Reproduce

  1. Go to 'TV'
  2. Click on 'Pennyworth'
  3. Selection 'Season 01'
  4. Check the actor pannel and will found that no actors image is displayed.

Expected behavior

That jellyfin can read .actors folder of each TV/Movies locally to extract actors information
Logs

MediaBrowser.Model.Net.HttpException
   at Emby.Server.Implementations.HttpClientManager.HttpClientManager.EnsureSuccessStatusCode(HttpResponseMessage response, HttpRequestOptions options)
   at Emby.Server.Implementations.HttpClientManager.HttpClientManager.SendAsyncInternal(HttpRequestOptions options, HttpMethod httpMethod)
   at Emby.Server.Implementations.HttpClientManager.HttpClientManager.SendAsync(HttpRequestOptions options, HttpMethod httpMethod)
   at MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken)
   at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex)
   at Emby.Server.Implementations.Library.LibraryManager.UpdateImages(BaseItem item, Boolean forceUpdate)
   at Emby.Server.Implementations.Library.LibraryManager.UpdateItems(IEnumerable`1 items, BaseItem parent, ItemUpdateType updateReason, CancellationToken cancellationToken)
   at Emby.Server.Implementations.Library.LibraryManager.UpdateItem(BaseItem item, BaseItem parent, ItemUpdateType updateReason, CancellationToken cancellationToken)
   at MediaBrowser.Controller.Entities.BaseItem.UpdateToRepository(ItemUpdateType updateReason, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.SavePeopleMetadata(List`1 people, LibraryOptions libraryOptions, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.SaveItem(MetadataResult`1 result, LibraryOptions libraryOptions, ItemUpdateType reason, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RefreshMetadata(BaseItem item, MetadataRefreshOptions refreshOptions, CancellationToken cancellationToken)
   at MediaBrowser.Controller.Entities.BaseItem.RefreshMetadata(MetadataRefreshOptions options, CancellationToken cancellationToken)
   at MediaBrowser.Controller.Entities.Folder.RefreshAllMetadataForContainer(IMetadataContainer container, MetadataRefreshOptions refreshOptions, IProgress`1 progress, CancellationToken cancellationToken)
   at MediaBrowser.Controller.Entities.Folder.RefreshChildMetadata(BaseItem child, MetadataRefreshOptions refreshOptions, Boolean recursive, IProgress`1 progress, CancellationToken cancellationToken)
   at MediaBrowser.Controller.Entities.Folder.RefreshMetadataRecursive(List`1 children, MetadataRefreshOptions refreshOptions, Boolean recursive, IProgress`1 progress, CancellationToken cancellationToken)
   at MediaBrowser.Controller.Entities.Folder.ValidateChildrenInternal2(IProgress`1 progress, CancellationToken cancellationToken, Boolean recursive, Boolean refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService)
   at MediaBrowser.Controller.Entities.Folder.ValidateChildrenInternal(IProgress`1 progress, CancellationToken cancellationToken, Boolean recursive, Boolean refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService)
   at MediaBrowser.Providers.Manager.ProviderManager.RefreshItem(BaseItem item, MetadataRefreshOptions options, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.StartProcessingRefreshQueue()

Screenshots

image

Additional context

Does not think about using VPN or other proxy method. Would prefer method that by pre-download the required elements and send them to the server. In a word, that will be so great if jellyfin can be compatiable with tMM like Kodi.

Originally created by @vflanker on GitHub (Feb 17, 2021). **Describe the bug** <!-- A clear and concise description of what the bug is. --> Here I use jellyfin to storage some TV shows. But I use tiny Media Manager v3(tMM) to grap TV information into .NFO file. Everything seems to be OK but only the actors info are not working. I don't know if Jellyfin can do as what Kodi do. According to tiny Media Manager, tMM can enable the option **Download actor images to .actors**(docs link here: https://www.tinymediamanager.org/docs/tvshows/settings) and Kodi will load the local `.actors` folder. I try but won't see any response from Jellyfin. My location won't get connect to www.thetvdb.com, so the jellyfin can not refresh actors details from the Internet. I'm looking forward to make it happen in LAN. So I turn to tMM and now it won't works. Here I'm now seeking for a official solutions. Also I know that there is a solution like: ``` /metadata/People/C/Chiwetel Ejiofor/poster.jpg ``` But it is a little incompatiable with most of the TV/Movie information grapping tools. So do we have any further plan to add `actors` folder support? **System (please complete the following information):** - OS: Debian - Virtualization: KVM - Clients: Browser - Browser: Chrome - Jellyfin Version: 10.6.4 stable - Networking: Host - Storage: Samba **To Reproduce** <!-- Steps to reproduce the behavior: --> 1. Go to 'TV' 2. Click on 'Pennyworth' 3. Selection 'Season 01' 4. Check the actor pannel and will found that no actors image is displayed. **Expected behavior** <!-- A clear and concise description of what you expected to happen. --> That jellyfin can read `.actors` folder of each TV/Movies locally to extract actors information **Logs** <!-- Please paste any log errors. --> ``` MediaBrowser.Model.Net.HttpException at Emby.Server.Implementations.HttpClientManager.HttpClientManager.EnsureSuccessStatusCode(HttpResponseMessage response, HttpRequestOptions options) at Emby.Server.Implementations.HttpClientManager.HttpClientManager.SendAsyncInternal(HttpRequestOptions options, HttpMethod httpMethod) at Emby.Server.Implementations.HttpClientManager.HttpClientManager.SendAsync(HttpRequestOptions options, HttpMethod httpMethod) at MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken) at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex) at Emby.Server.Implementations.Library.LibraryManager.UpdateImages(BaseItem item, Boolean forceUpdate) at Emby.Server.Implementations.Library.LibraryManager.UpdateItems(IEnumerable`1 items, BaseItem parent, ItemUpdateType updateReason, CancellationToken cancellationToken) at Emby.Server.Implementations.Library.LibraryManager.UpdateItem(BaseItem item, BaseItem parent, ItemUpdateType updateReason, CancellationToken cancellationToken) at MediaBrowser.Controller.Entities.BaseItem.UpdateToRepository(ItemUpdateType updateReason, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.SavePeopleMetadata(List`1 people, LibraryOptions libraryOptions, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.SaveItem(MetadataResult`1 result, LibraryOptions libraryOptions, ItemUpdateType reason, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.RefreshMetadata(BaseItem item, MetadataRefreshOptions refreshOptions, CancellationToken cancellationToken) at MediaBrowser.Controller.Entities.BaseItem.RefreshMetadata(MetadataRefreshOptions options, CancellationToken cancellationToken) at MediaBrowser.Controller.Entities.Folder.RefreshAllMetadataForContainer(IMetadataContainer container, MetadataRefreshOptions refreshOptions, IProgress`1 progress, CancellationToken cancellationToken) at MediaBrowser.Controller.Entities.Folder.RefreshChildMetadata(BaseItem child, MetadataRefreshOptions refreshOptions, Boolean recursive, IProgress`1 progress, CancellationToken cancellationToken) at MediaBrowser.Controller.Entities.Folder.RefreshMetadataRecursive(List`1 children, MetadataRefreshOptions refreshOptions, Boolean recursive, IProgress`1 progress, CancellationToken cancellationToken) at MediaBrowser.Controller.Entities.Folder.ValidateChildrenInternal2(IProgress`1 progress, CancellationToken cancellationToken, Boolean recursive, Boolean refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService) at MediaBrowser.Controller.Entities.Folder.ValidateChildrenInternal(IProgress`1 progress, CancellationToken cancellationToken, Boolean recursive, Boolean refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService) at MediaBrowser.Providers.Manager.ProviderManager.RefreshItem(BaseItem item, MetadataRefreshOptions options, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.ProviderManager.StartProcessingRefreshQueue() ``` **Screenshots** <!-- If applicable, add screenshots to help explain your problem. --> ![image](https://user-images.githubusercontent.com/30745146/108169305-7da26e80-7133-11eb-9115-f2db85402c68.png) **Additional context** <!-- Add any other context about the problem here. --> Does not think about using VPN or other proxy method. Would prefer method that by pre-download the required elements and send them to the server. In a word, that will be so great if jellyfin can be compatiable with tMM like Kodi.
OVERLORD added the feature label 2026-02-06 22:17:06 +03:00
Author
Owner

@sevenrats commented on GitHub (Oct 11, 2023):

Hey mate, thanks for your report! We don't track feature requests in our bug tracker. If you still want this feature please open a feature request at https://features.jellyfin.org/

@sevenrats commented on GitHub (Oct 11, 2023): Hey mate, thanks for your report! We don't track feature requests in our bug tracker. If you still want this feature please open a feature request at https://features.jellyfin.org/
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#2643