13 KiB
search | ||
---|---|---|
|
Image Asset Directory Guide
The Image Asset Directories can be used to update the posters and backgrounds of collections, movies, shows, seasons, and episodes.
Requirements and configuration
If you want to apply artwork to movies and shows using the asset directory, the Kometa asset pipeline requires that your movies and shows are in folders of their own. The name that Kometa will use to look up the asset poster for a movie is the folder that the movie file is located in on disk, and each movie/show needs to have a unique asset name.
In other words, this works:
movies/Star Wars (1977)/Star Wars (1977) Bluray-1080p.mkv
movies/Star Trek The Motion Picture (1979)/Star Trek The Motion Picture (1979) Bluray-1080p.mkv
movies/The Empire Strikes Back (1980)/The Empire Strikes Back (1980) Bluray-1080p.mkv
while this WILL NOT:
movies/Star Wars (1977) Bluray-1080p.mkv
movies/Star Trek The Motion Picture (1979) Bluray-1080p.mkv
movies/The Empire Strikes Back (1980) Bluray-1080p.mkv
If your movies and shows are not in individual folders, setting art using the asset directory will not work and you can stop here.
You can specify your asset folders under the settings
attribute asset_directory
:
???+ important
Assets can be stored anywhere on the host system that Kometa has visibility of (i.e. if using docker, the directory must be mounted/visible to the docker container).
For the sake of this document, we will assume that your assets folders are all based within the directory mapped to `config` within your Kometa environment.
settings:
asset_directory: config/assets
To use multiple Image Asset Directories specify the directories as a YAML list:
settings:
asset_directory:
- config/assets
- config/more_assets
- config/assets_ahoy
-
You can specify an Image Asset Directory per Metadata/Playlist/Overlay File when calling the file. See File Blocks for how to define them.
-
By default [if no
asset_directory
is specified], the program will look in the same folder as yourconfig.yml
for a folder calledassets
.
Applying assets
Assets can be applied to collections [managed or unmanaged], playlists, and media items [movies, shows, seasons, and episodes].
Managed Collection and Playlist assets are applied whenever that collection/playlist is run. You do not have to specifically enable assets for these items; Kometa will always search for and apply them.
Item [movie/show/etc] assets and Unmanaged Collections assets have to be specifically enabled before Kometa will search for and apply them. Do this by enabling the assets_for_all
Library Operation:
Movies:
operations:
assets_for_all: true
- If you want to silence the
Asset Warning: No poster or background found in an assets folder for 'TITLE'
you can use theshow_missing_assets
Setting Attribute:settings: show_missing_assets: false
Asset interaction with overlays
If a media item has an asset associated with it, that asset image is taken as the source of truth for what artwork the item should have, and the overlay pipeline will no longer download and back up the base artwork from Plex. Using the Asset Directory to assign custom art is the simplest and safest way to ensure that the overlay pipeline doesn't unexpectedly overwrite your custom artwork in Plex.
Asset Naming
The table below shows the asset folder path structures that will be searched for. There are two options for how Kometa looks at the files inside your Asset Directories. Choose an option with the asset_folders
Setting Attribute. Note that asset_folders
is a toggle; you can't put some images in folders and some not in a context where it is enabled.
Assets can be stored anywhere on the host system that Kometa has visibility of (i.e. if using docker, the directory must be mounted/visible to the docker container).
???+ important
The below table assumes that your assets are stored within the directory mapped to `config` in your Kometa environment.
Image Type | Asset Folders Image Pathsasset_folders: true |
Flat Assets Image Pathsasset_folders: false |
---|---|---|
Collection/Movie/Show poster | <path_to_assets>/ASSET_NAME/poster.ext |
<path_to_assets>/ASSET_NAME.ext |
Collection/Movie/Show background | <path_to_assets>/ASSET_NAME/background.ext |
<path_to_assets>/ASSET_NAME_background.ext |
Season poster | <path_to_assets>/ASSET_NAME/Season##.ext |
<path_to_assets>/ASSET_NAME_Season##.ext |
Season background | <path_to_assets>/ASSET_NAME/Season##_background.ext |
<path_to_assets>/ASSET_NAME_Season##_background.ext |
Episode poster | <path_to_assets>/ASSET_NAME/S##E##.ext |
<path_to_assets>/ASSET_NAME_S##E##.ext |
Episode background | <path_to_assets>/ASSET_NAME/S##E##_background.ext |
<path_to_assets>/ASSET_NAME_S##E##_background.ext |
-
For Collections replace
ASSET_NAME
with the mapping name used with the collection unlessname_mapping
is specified, which you would then use what's specified inname_mapping
.For example:
collections: A24 Movies: trakt_list: https://trakt.tv/users/moonilism/lists/a24
ASSET_NAME
is "A24 Movies"/// < : ** : > \\\: name_mapping: crazy-punctuation-collection trakt_list: https://trakt.tv/users/moonilism/lists/a24
ASSET_NAME
is "crazy-punctuation-collection" -
For Movies replace
ASSET_NAME
with the exact name of the folder the video file is stored in.That means the folder name exactly as it appears in the file system.
/path/to/media/movies/THE NAME OF THE FOLDER HOWEVER LONG IT IS AND WHATEVER IT CONTAINS/MOVIE_NAME.mp4 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- THIS IS ASSET_NAME
For example, given this movie:
/path/to/media/movies/Star Wars (1977) {imdb-tt0076759} {tmdb-11}/Star Wars (1977) [1080p].mp4 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- THIS IS ASSET_NAME
The asset names that Kometa will look for are:
ASSET_FOLDERS=True:
config/assets/Star Wars (1977) {imdb-tt0076759} {tmdb-11}/poster.ext config/assets/Star Wars (1977) {imdb-tt0076759} {tmdb-11}/background.ext
ASSET_FOLDERS=False:
config/assets/Star Wars (1977) {imdb-tt0076759} {tmdb-11}.ext config/assets/Star Wars (1977) {imdb-tt0076759} {tmdb-11}_background.ext
-
For Shows, Seasons, and Episodes replace
ASSET_NAME
with the exact name of the folder for the show as a whole.That means the folder name exactly as it appears in the file system.
/path/to/media/tv/THE NAME OF THE FOLDER HOWEVER LONG IT IS AND WHATEVER IT CONTAINS/Season 01/EPISODE_FILE.mkv ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- THIS IS ASSET_NAME
For example, given this show:
/path/to/media/tv/The Expanse (2015) {tvdb-280619}/Season 01/The Expanse (2015) - S01E01 - Dulcinea.mkv ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- THIS IS ASSET_NAME
The asset names that Kometa will look for are:
ASSET_FOLDERS=True:
config/assets/The Expanse (2015) {tvdb-280619}/poster.ext config/assets/The Expanse (2015) {tvdb-280619}/background.ext
ASSET_FOLDERS=False:
config/assets/The Expanse (2015) {tvdb-280619}.ext config/assets/The Expanse (2015) {tvdb-280619}_background.ext
-
For Seasons replace
##
with the zero padded season number (00 for specials)For example, given this show:
/path/to/media/tv/The Expanse (2015) {tvdb-280619}/Season 01/The Expanse (2015) - S01E01 - Dulcinea.mkv
The asset names that Kometa will look for are:
ASSET_FOLDERS=True:
config/assets/The Expanse (2015) {tvdb-280619}/Season01.ext config/assets/The Expanse (2015) {tvdb-280619}/Season01_background.ext
ASSET_FOLDERS=False:
config/assets/The Expanse (2015) {tvdb-280619}_Season01.ext config/assets/The Expanse (2015) {tvdb-280619}_Season01_background.ext
-
For Episodes replacing the first
##
with the zero padded season number (00 for specials), the second##
with the zero padded episode numberFor example, given this show:
/path/to/media/tv/The Expanse (2015) {tvdb-280619}/Season 01/The Expanse (2015) - S01E01 - Dulcinea.mkv
The asset names that Kometa will look for are:
ASSET_FOLDERS=True:
config/assets/The Expanse (2015) {tvdb-280619}/S01E01.ext config/assets/The Expanse (2015) {tvdb-280619}/S01E01_background.ext
ASSET_FOLDERS=False:
config/assets/The Expanse (2015) {tvdb-280619}_S01E01.ext config/assets/The Expanse (2015) {tvdb-280619}_S01E01_background.ext
-
Replace
.ext
with the image extension -
When
asset_folders
is set totrue
movie/show folders can be nested inside other folders, but you must specify how deep you want to search because the more levels to search the longer it takes. -
You can specify how deep you want to scan by using the
asset_depth
Setting Attribute.
Here's an example config folder structure with an assets directory with asset_folders
set to true and false.
Asset Folders asset_folders: true
config
├── config.yml
├── Movies.yml
├── TV Shows.yml
└── assets
├── The Lord of the Rings
│ ├── poster.png
│ └── background.png
├── The Lord of the Rings The Fellowship of the Ring (2001)
│ ├── poster.png
│ └── background.png
├── The Lord of the Rings The Two Towers (2002)
│ ├── poster.png
│ └── background.png
├── The Lord of the Rings The Return of the King (2003)
│ ├── poster.png
│ └── background.png
├── Star Wars (Animated)
│ ├── poster.png
│ └── background.png
├── Star Wars The Clone Wars
│ ├── poster.png
│ ├── background.png
│ ├── Season00.png
│ ├── Season01.png
│ ├── Season02.png
│ ├── Season03.png
│ ├── Season04.png
│ ├── Season05.png
│ ├── Season06.png
│ ├── Season07.png
│ ├── S07E01.png
│ ├── S07E02.png
│ ├── S07E03.png
│ ├── S07E04.png
│ └── S07E05.png
└── Star Wars Rebels
├── poster.png
├── background.png
├── Season01.png
├── Season01_background.png
├── Season02.png
├── Season02_background.png
├── Season03.png
├── Season03_background.png
├── Season04.png
└── Season04_background.png
Flat Assets asset_folders: false
config
├── config.yml
├── Movies.yml
├── TV Shows.yml
└── assets
├── The Lord of the Rings.png
├── The Lord of the Rings_background.png
├── The Lord of the Rings The Fellowship of the Ring (2001).png
├── The Lord of the Rings The Fellowship of the Ring (2001)_background.png
├── The Lord of the Rings The Two Towers (2002).png
├── The Lord of the Rings The Two Towers (2002)_background.png
├── The Lord of the Rings The Return of the King (2003).png
├── The Lord of the Rings The Return of the King (2003)_background.png
├── Star Wars (Animated).png
├── Star Wars (Animated)_background.png
├── Star Wars The Clone Wars.png
├── Star Wars The Clone Wars_background.png
├── Star Wars The Clone Wars_Season00.png
├── Star Wars The Clone Wars_Season01.png
├── Star Wars The Clone Wars_Season02.png
├── Star Wars The Clone Wars_Season03.png
├── Star Wars The Clone Wars_Season04.png
├── Star Wars The Clone Wars_Season05.png
├── Star Wars The Clone Wars_Season06.png
├── Star Wars The Clone Wars_Season07.png
├── Star Wars The Clone Wars_S07E01.png
├── Star Wars The Clone Wars_S07E02.png
├── Star Wars The Clone Wars_S07E03.png
├── Star Wars The Clone Wars_S07E04.png
├── Star Wars The Clone Wars_S07E05.png
├── Star Wars Rebels.png
├── Star Wars Rebels_background.png
├── Star Wars Rebels_Season01.png
├── Star Wars Rebels_Season01_background.png
├── Star Wars Rebels_Season02.png
├── Star Wars Rebels_Season02_background.png
├── Star Wars Rebels_Season03.png
├── Star Wars Rebels_Season03_background.png
├── Star Wars Rebels_Season04.png
└── Star Wars Rebels_Season04_background.png