From Official Kodi Wiki
Jump to navigation Jump to search
Home icon grey.png   ▶ Video library ▶ Anime
Attention talk.png Want to help with this page? See this forum post on the Kodi forums.

This page is a collection of tips, tricks, advice, and links relating to anime and Kodi. This includes anime-specific add-ons, common file names and scraping of anime into the video library, and more.

1 Scanning anime into the library

For most anime file names, you will likely have to make some change, either to Kodi or to the file names, in order to be able to scan them into the video library. Alternatively, you can do this to scan in many files without having to rename them.

  • Kodi's default TV scraper (TVDB) using default settings, will want to use the typical S##E## naming convention.
  • You can also use EP## for many shows as well. Even if there is no "season", Kodi will just assume all episodes are "Season 1" when using EP##.
  • By going into the scraper settings you can also change the scraper to use "absolute order", if you don't wish to have Kodi organize a show by season. Absolute order, as the name implies, simply goes in order of when the episodes came out, as if it were one big season.
  • TVDB will sometimes see sequels and even spin-offs as additional seasons. For some shows this is okay, like Code Geass and Code Geass R2. For other shows, this is rage inducing and just plain incorrect (and they won't let you correct it on the TVDB site), so you might want to use the AniDB scraper instead.
  • On the flip side, AniDB will sometimes insist that two different seasons are two different shows completely, so you might want to use a mix of TVDB and AniDB per show folder/directory.
  • Episode descriptions and screen shots are always taken from TVDB, even if you are using the AniDB scraper. The main difference between them is how they handle/search show names and handle seasons.

1.1 Specials and OVAs

  • Specials and OVAs seem to be handled pretty well by TVDB. Just look up which "special" episode number it is on and include the number S00E##. Season "0" is for specials, and then the episode number is whatever special number it is on TVDB. For example, you might end up with something like: [Group name] Show Name - S00E03 - OVA 1.mkv.
  • Kodi will list "specials" both in their own section as well as along side the season the correspond to. They'll also appear in the order they should be viewed in, assuming that data has been filled out on TVDB.

1.2 Movies

  • You can often use the TV scrapers to scan movies in. This can be useful if you want all anime content in one area of Kodi, but not all movies correspond to a TV show (where the movie-tv show link feature wouldn't work). You can even scan in a series of movies/OVAs as if they were a TV show, such as Ghost in the Shell: Arise.

1.3 Scanning files without renaming them

In order to use the default episode numbering you must create/add this to your advancedsettings.xml file. This should catch most episodes that use "typical" anime-style file names.

  1. Create a plain text file (no rich text formatting, don't use .doc, etc) and save it as advancedsettings.xml. Make sure that the file extension is ".xml" and not ".txt" or ".xml.txt".
  2. Cut and paste this into your new plain text file:
   <tvshowmatching action="prepend">
       <!-- Regex info: -->
       <!-- First capturing match is assigned to the season.  Second capturing match is assigned to the episode. -->
       <!-- (?i) turns on case-insensitive matching -->
       <!-- (?:stuff) is a non-capturing group for 'stuff', so as not to interfere with season/episode numbers. -->
       <!-- Anime specific matching. -->
       Building the regex from back to front:
       Closing checksum (optionally followed by random text, but we don't have to match that) contained in (), {} or [].
       Preceded by any number of bracketed items of any sort of content, with possible spacing, dashes or underscores in between
       Possibly preceded by unbracketed text. Make sure it doesn't find episode numbers inside brackets.
       Preceded by the episode number (optionally labelled), with possible version number
       Preceded by various combinations of dash, dot, underscore or space, to separate the title from the episode number
       Possibly preceded by a season number, or 'Special' or 'OVA'
       <!-- Regexes listed in order of match preference -->
       <!-- The regexes in the prepend set are anchored to checksums, so should be checked before normal Kodi defaults. -->
       <!-- For reference, this is the regex containing everything from the episode number onwards.  It will be the same for all regexes in this section. -->
       <!-- <regexp>(?:[ _.-]*(?:ep?[ .]?)?(\d{1,3})(?:[_ ]?v\d+)?)+(?=\b|_)[^])}]*?(?:[[({][^])}]+[])}][ _.-]*)*?(?:[[({][\da-f]{8}[])}])</regexp> -->
       <!-- Anything with the filename marked as Special/OVA/OAV/etc goes to season 0, regardless of what the directory may say. -->
       <!-- EG: [SHiN-gx] Fight Ippatsu! Juuden-chan!! - Special 1 [720x480 AR h.264 FLAC][v2][FF09021F].mkv -->
       <!-- EG: [gleam] Kurenai OVA - 01 [OAD][0e73f000].mkv -->
       <!-- EG: [Jarzka] Saki Picture Drama 1 [480p 10bit DVD FLAC] [BA3CE364] -->
       <regexp>(?i)(Special|SP|OVA|OAV|Picture Drama)(?:[ _.-]*(?:ep?[ .]?)?(\d{1,3})(?:[_ ]?v\d+)?)+(?=\b|_)[^])}]*?(?:[[({][^])}]+[])}][ _.-]*)*?(?:[[({][\da-f]{8}[])}])</regexp>
       <!-- Then check if we have an explicit season directory. -->
       <!-- Inside a directory that specifies the season.  May include any number of subdirectories.  Doesn't try to find season markers in the file name. -->
       <!-- EG: Saki/Season 1/Saki [Jarzka]/[Jarzka] Saki 01 - Encounter [480p 10bit DVD FLAC] [9EED32CB] -->
       <!-- EG: Saki/Season 3/[Underwater-FFF] Saki Zenkoku-hen - The Nationals - 01 (720p) [AF65724D] -->
       <regexp>(?i)[\\/](?:S(?:eason)?\s*(?=\d))?(Specials|\d{1,3})[\\/](?:[^\\/]+[\\/])*[^\\/]+(?:\b|_)(?:[ _.-]*(?:ep?[ .]?)?(\d{1,3})(?:[_ ]?v\d+)?)+(?=\b|_)[^])}]*?(?:[[({][^])}]+[])}][ _.-]*)*?(?:[[({][\da-f]{8}[])}])</regexp>
       <!-- Include season marker in the filename. -->
       <!-- EG: [CoalGuys] K-ON!! S2 - 05 [4B19B10F] -->
       <regexp>(?i)[-._ ]+S(?:eason ?)?(\d{1,3})(?:[ _.-]*(?:ep?[ .]?)?(\d{1,3})(?:[_ ]?v\d+)?)+(?=\b|_)[^])}]*?(?:[[({][^])}]+[])}][ _.-]*)*?(?:[[({][\da-f]{8}[])}])</regexp>

       <!-- Anything else gets the default blank first capture, which sets the file to season 1. -->
       <!-- EG: [avatar-nyanko] Koikoi 7 - 01 (DVD) [5E95FA4A] -->
       <!-- EG: [gg]_Chuunibyou_Demo_Koi_ga_Shitai!_-_01_[5B6EFD1F] -->
       <!-- EG: [Eclipse] Akane-iro ni Somaru Saka - 01 (1024x576 h264) [39920E63].mkv -->
       <!-- EG: [gg]_Bakemonogatari_-_01_[CC0CF5D2].mkv -->
       <!-- EG: [Doki]_Asobi_ni_Iku_yo!_-_03v2_(1280x720_h264_AAC)_[B5B9C6F3].mkv -->
       <!-- EG: [Coalgirls]_Yuru_Yuri_02_(1280x720_Blu-Ray_FLAC)_[43E5A6B4] -->
       <!-- EG: Touch 01(DVD) - (112ceb61) Central Anime  -->
       <!-- EG: Cross Game 02 - Central Anime (1280x720) [BF23052D].mp4 -->
       <!-- EG: [Taka]_Naruto_Shippuuden_135_[480p][9073B8C2] -->
       <regexp>(?i)((?=\b|_))(?:[ _.-]*(?:ep?[ .]?)?(\d{1,3})(?:[_ ]?v\d+)?)+(?=\b|_)[^])}]*?(?:[[({][^])}]+[])}][ _.-]*)*?(?:[[({][\da-f]{8}[])}])</regexp>
       <!-- Multipart episode handling is still uncertain. (?:-(\d{1,3}))? -->
       <!-- EG: [Triad]_Dokuro-chan_-_01-02 [12345678].mkv -->
   <tvshowmatching action="append">
       <!-- Alternate version that does not include checksums. Put this after normal Kodi patterns. -->
       <!-- Since it doesn't use the checksum anchor, need to make sure it's not a directory name. -->
       <!-- For reference, this is the regex containing everything from the episode number onwards.  It will be the same for all regexes in this section. -->
       <!-- <regexp>(?:[ _.-]*(?:ep?[ .]?)?(\d{1,3})(?:[_ ]?v\d+)?)+(?=\b|_)[^])}]*?(?:[[({][^])}]+[])}][ _.-]*)*?[^][)(}{\\/]*$</regexp> -->

       <!-- Anything with the filename marked as Special/OVA/OAV/etc goes to season 0, regardless of what the directory may say. -->
       <regexp>(?i)(Special|SP|OVA|OAV|Picture Drama)(?:[ _.-]*(?:ep?[ .]?)?(\d{1,3})(?:[_ ]?v\d+)?)+(?=\b|_)[^])}]*?(?:[[({][^])}]+[])}][ _.-]*)*?[^][)(}{\\/]*$</regexp>
       <!-- Inside a directory that specifies the season. -->
       <!-- EG: Saki/Season 2/[HorribleSubs] Saki Episode of Side A - 14 [720p] -->
       <regexp>(?i)[\\/](?:S(?:eason)?\s*(?=\d))?(Specials|\d{1,3})[\\/](?:[^\\/]+[\\/])*[^\\/]+(?:\b|_)[ _.-]*(?:ep?[ .]?)?(\d{1,3})(?:[_ ]?v\d+)?(?:\b|_)[^])}]*?(?:[[({][^])}]+[])}][ _.-]*)*?[^][)(}{\\/]*?$</regexp>
       <!-- Include season marker in the filename. -->
       <!-- EG: [DeadFish] Toaru Kagaku no Railgun S - S2 - 01 [720p][AAC].mp4 -->
       <regexp>(?i)[-._ ]+S(?:eason ?)?(\d{1,3})(?:[ _.-]*(?:ep?[ .]?)?(\d{1,3})(?:[_ ]?v\d+)?)+(?=\b|_)[^])}]*?(?:[[({][^])}]+[])}][ _.-]*)*?[^][)(}{\\/]*$</regexp>

       <!-- EG: [a.f.k.] Lucky Star - 01.avi -->
       <!-- EG: Air Master - 04 [HQA&N!].avi -->
       <!-- EG: [ANE] Yosuga no Sora - Ep01v2 [BDRip 1080p x264 FLAC] -->
       <!-- EG: [DeadFish] Jinrui wa Suitai Shimashita - Special 01 [BD][720p][AAC].mp4 -->
       <regexp>(?i)((?=\b|_))(?:[ _.-]*(?:ep?[ .]?)?(\d{1,3})(?:[_ ]?v\d+)?)+(?=\b|_)[^])}]*?(?:[[({][^])}]+[])}][ _.-]*)*?[^][)(}{\\/]*$</regexp>


  1. Save this file in your userdata folder:
If you have an existing advancedsettings.xml file then make sure the tags are between the main <advancedsettings></advancedsettings> tags.
Attention talk.png Need help with the above regex? See this forum post.

Thanks to Kinematics for the updated regex

1.4 Manual entry

  • If all else fails, or you have a specific way you want to set up your anime, see NFO_files. That will show you how to manually add summaries and art, either to customize that data, or for shows/episodes that are not on the scraper websites.

2 Separating anime from other TV shows and/or movies

  • Smart playlists, video library tags, and video nodes can be used to isolate and filter specific content, such as anime.
    • One of the easiest methods is to make sure all your anime content is in a folder/directory called "anime", and then have your "normal" TV shows in a different directory. Then you can use the file path "/anime/" for smart playlists or video nodes.
    • Tags can be used to manually mark specific shows as anime or not. Tags can be viewed directly by going to Videos -> Tags, or they can be used as a rule for smart playlists or video nodes.
  • Using a skin that supports custom home items you can also edit the home screen of Kodi. You can give anime it's own entry on the home screen and/or filter anime out of the normal TV show and movie listings, if you wish.

3 Hi10P

Hi10P (also called "10-bit") is a profile of the h.264 video codec. It has recently (last couple of years) become popular in the anime scene for video encodes. Kodi supports Hi10P playback as of v12 "Frodo" and later. It can have issues on some older or weaker hardware. While it's totally possible to avoid Hi10P files, even for current shows, if you're putting together your HTPC for the first time then you might as well prepare for it.

Hardware requirements

Hi10P won't work on some ARM or even some Intel ATOM processors. Hi10P can't be hardware decoded (which is to say, no one makes hardware decoders for them and no company plans to add Hi10P hardware decoding in the foreseeable future), which is what Raspberry-Pi, Android, ATOM processors, and some AMD APU systems require for smooth playback of demanding video (Hi10P is very demanding). Thus, Hi10P requires CPU/software decoding.

A safe bet would be at least a Core 2 Duo/Celeron G530 processor (or equivalent AMD) or higher.

4 Artwork

Most artwork (movie posters, show art, episode thumbnails) should be handled normally by the TVDB or AniDB scrapers. If you want to further customize the artwork, here are some additional sources:

5 Random notes

Feel free to just dump things (links, tips, etc) here if you're not sure where to put it, and someone will sort it later:

  • Ordered chapters are currently unsupported. The workaround is to use a tool such as UnlinkMKV to embed the linked segments.