feat(guide): Update naming scheme and add tvdb/tmdb (#1965)

* feat(guide): Update naming scheme and add tvdb/tmdb

* added: inline notation to ignore specific violations

* changed: result text to reflect what's seen in Radarr GUI

* Updated: Sonarrr Recommended naming scheme

* fixed: typo

* removed: un-needed info

* Apply suggestions from code review

Co-authored-by: bakerboy448 <55419169+bakerboy448@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: zakary <zak@ary.dev>

* fix: MD009

* moved renaming-description-faq to the starr folder because it's used by both

* added: to single placeholder to prevent multiple places to edit the same content

* fix: file location

---------

Co-authored-by: bakerboy448 <55419169+bakerboy448@users.noreply.github.com>
Co-authored-by: zakary <zak@ary.dev>
pull/1970/head
TRaSH 6 months ago committed by GitHub
parent 8053a05761
commit 9735770255
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -1,15 +1,6 @@
# Recommended naming scheme # Recommended naming scheme
On the [Radarr Discord](https://radarr.video/discord){:target="\_blank" rel="noopener noreferrer"} people often ask, "What's the recommended/best way to --8<-- "includes/starr/renaming-description-faq.md"
name your files?" First off, it's personal preference, but it's often recommended to add non-recoverable info.
Why?
If, for what ever reason, you ever need to do a re-install or re-import in
the Starr Apps or Plex/Emby/Jellyfin it's nice to have all that info in the filename so
it gets imported correctly and isn't incorrectly matched as HDTV or WEB-DL etc.
The Tokens not available in the release won't be used/shown.
--- ---
@ -29,75 +20,133 @@ Finally, enable `Rename Movies` to reveal the movie renaming options.
## Standard Movie Format ## Standard Movie Format
This naming scheme is made to be compatible with the [New Plex Agent](https://forums.plex.tv/t/new-plex-media-server-movie-scanner-and-agent-preview/593269/517){:target="\_blank" rel="noopener noreferrer"} that now supports IMDb and TMDb IDs in filenames, if you don't need it or want it just remove `{imdb-{ImdbId}}` --8<-- "includes/radarr/imdb-vs-tmdb.md"
=== "Standard"
```none
{{ radarr['naming']['radarr-naming']['file']['standard'] }}
```
<sub><sup>**Movie**: `The Movie Title (2010) {edition-Ultimate Extended Edition} [IMAX HYBRID][Bluray-1080p Proper][3D][DV HDR10][DTS 5.1][x264]-EVOLVE`</sup></sub>
=== "Plex"
This naming scheme is made to be used with the [New Plex Agent](https://forums.plex.tv/t/new-plex-media-server-movie-scanner-and-agent-preview/593269/517){:target="\_blank" rel="noopener noreferrer"},
!!! danger "If you use the `{edition-{Edition Tags}}` part of the recommended file name, then Plex will recognize the edition of the movie and add it the the Plex UI - e.g., Directors Cut.<br><br>However, this means that if you have two copies of a movie with different editions in a single merged library - for example, a 1080p Directors Cut and a 2160p Theatrical Edition - then these will show as two separate items in Plex.<br><br>If you only want a movie to appear once per library, where you keep more than one copy of a movie, then replace: `{edition-{Edition Tags}}` with `{Edition Tags}`."
=== "Plex (IMDb)"
--8<-- "includes/radarr/tmdb-imdb-info.md"
```bash
{{ radarr['naming']['radarr-naming']['file']['plex-imdb'] }}
```
<sub><sup>**Movie**: `The Movie Title (2010) {imdb-tt0066921} {edition-Ultimate Extended Edition} [IMAX HYBRID][Bluray-1080p Proper][3D][DV HDR10][DTS 5.1][x264]-EVOLVE`</sup></sub>
=== "Plex (TMDb)"
```none
{{ radarr['naming']['radarr-naming']['file']['plex-tmdb'] }}
```
<sub><sup>**Movie**: `The Movie Title (2010) {tmdb-345691} {edition-Ultimate Extended Edition} [IMAX HYBRID][Bluray-1080p Proper][3D][DV HDR10][DTS 5.1][x264]-EVOLVE`</sup></sub>
!!! warning "Starting from v4.2.2.6489, Radarr now supports Plex Multiple Edition tags in naming." === "Plex Anime (IMDb)"
If you're using a lower version or don't need it replace: --8<-- "includes/radarr/tmdb-imdb-info.md"
`{edition-{Edition Tags}}` with `{Edition Tags}` ```bash
{{ radarr['naming']['radarr-naming']['file']['plex-anime-imdb'] }}
```
!!! danger "Only use `{edition-{Edition Tags}}` if you are prepared to have movies separated by edition<br>when using a merged Plex library - e.g., you keep both 1080p and 2160p versions of one movie.<br><br>For example if you have the `Directors Cut` and the `Extended Cut` for one movie, those will show up as two separate movies in your library.<br><br>Note that not using `{edition-{Edition Tags}}` will prevent Plex from recognizing the edition." <sub><sup>**Movie**: `The Movie Title (2010) {imdb-tt0066921} {edition-Ultimate Extended Edition} [Surround Sound x264][Bluray-1080p Proper][3D][DTS 5.1][DE][10bit][AVC]-EVOLVE`</sup></sub>
### Plex === "Plex Anime (TMDb)"
```bash ```bash
{{ radarr['naming']['radarr-naming']['file']['default'] }} {{ radarr['naming']['radarr-naming']['file']['plex-anime-tmdb'] }}
``` ```
??? abstract "RESULTS: - [Click to show/hide]" <sub><sup>**Movie**: `The Movie Title (2010) {tmdb-345691} {edition-Ultimate Extended Edition} [Surround Sound x264][Bluray-1080p Proper][3D][DTS 5.1][DE][10bit][AVC]-EVOLVE`</sup></sub>
`The Movie Title (2010) {imdb-tt0066921} {edition-Ultimate Extended Edition} [IMAX HYBRID][Bluray-1080p Proper][3D][DV HDR10][DTS 5.1][x264]-EVOLVE` === "Emby"
#### Plex Anime Source: [Emby Wiki/Docs](https://emby.media/support/articles/Movie-Naming.html#id-tags-in-folder--file-names){:target="\_blank" rel="noopener noreferrer"}
```bash === "Emby (IMDb)"
{{ radarr['naming']['radarr-naming']['file']['anime'] }}
```
??? abstract "RESULTS: - [Click to show/hide]" --8<-- "includes/radarr/tmdb-imdb-info.md"
`The Movie Title (2010) {imdb-tt0066921} {edition-Ultimate Extended Edition} [Surround Sound x264][Bluray-1080p Proper][3D][DTS 5.1][DE][10bit][AVC]-EVOLVE` ```bash
{{ radarr['naming']['radarr-naming']['file']['emby-imdb'] }}
```
### Emby <sub><sup>**Movie**: `The Movie Title (2010) [imdbid-tt0066921] - {edition-Ultimate Extended Edition} [IMAX HYBRID][Bluray-1080p Proper][3D][DV HDR10][DTS 5.1][x264]-EVOLVE`</sup></sub>
```bash === "Emby (TMDb)"
{{ radarr['naming']['radarr-naming']['file']['emby'] }}
```
??? abstract "RESULTS: - [Click to show/hide]" ```bash
{{ radarr['naming']['radarr-naming']['file']['emby-tmdb'] }}
```
`The Movie Title (2010) [imdbid-tt0066921] - {edition-Ultimate Extended Edition} [IMAX HYBRID][Bluray-1080p Proper][3D][DV HDR10][DTS 5.1][x264]-EVOLVE` <sub><sup>**Movie**: `The Movie Title (2010) [tmdbid-tt0066921] - {edition-Ultimate Extended Edition} [IMAX HYBRID][Bluray-1080p Proper][3D][DV HDR10][DTS 5.1][x264]-EVOLVE`</sup></sub>
#### Emby Anime === "Emby Anime (IMDb)"
```bash --8<-- "includes/radarr/tmdb-imdb-info.md"
{{ radarr['naming']['radarr-naming']['file']['anime-emby'] }}
```
??? abstract "RESULTS: - [Click to show/hide]" ```bash
{{ radarr['naming']['radarr-naming']['file']['emby-anime-imdb'] }}
```
`The Movie Title (2010) [imdbid-tt0066921] - {edition-Ultimate Extended Edition} [Surround Sound x264][Bluray-1080p Proper][3D][DTS 5.1][DE][10bit][AVC]-EVOLVE` <sub><sup>**Movie**: `The Movie Title (2010) [imdbid-tt0066921] - {edition-Ultimate Extended Edition} [Surround Sound x264][Bluray-1080p Proper][3D][DTS 5.1][DE][10bit][AVC]-EVOLVE`</sup></sub>
### Jellyfin === "Emby Anime (TMDb)"
```bash ```bash
{{ radarr['naming']['radarr-naming']['file']['jellyfin'] }} {{ radarr['naming']['radarr-naming']['file']['emby-anime-tmdb'] }}
``` ```
??? abstract "RESULTS: - [Click to show/hide]" <sub><sup>**Movie**: `The Movie Title (2010) [tmdbid-tt0066921] - {edition-Ultimate Extended Edition} [Surround Sound x264][Bluray-1080p Proper][3D][DTS 5.1][DE][10bit][AVC]-EVOLVE`</sup></sub>
`The Movie Title (2010) [imdbid-tt0066921] - {edition-Ultimate Extended Edition} [IMAX HYBRID][Bluray-1080p Proper][3D][DV HDR10][DTS 5.1][x264]-EVOLVE` === "Jellyfin"
#### Jellyfin Anime Source: [Jellyfin Wiki/Docs](https://jellyfin.org/docs/general/server/media/movies){:target="\_blank" rel="noopener noreferrer"}
```bash === "Jellyfin (IMDb)"
{{ radarr['naming']['radarr-naming']['file']['anime-jellyfin'] }}
```
??? abstract "RESULTS: - [Click to show/hide]" ```bash
{{ radarr['naming']['radarr-naming']['file']['jellyfin-imdb'] }}
```
`The Movie Title (2010) [imdbid-tt0066921] - {edition-Ultimate Extended Edition} [Surround Sound x264][Bluray-1080p Proper][3D][DTS 5.1][DE][10bit][AVC]-EVOLVE` <sub><sup>**Movie**: `The Movie Title (2010) [imdbid-tt0106145] - {edition-Ultimate Extended Edition} [IMAX HYBRID][Bluray-1080p Proper][3D][DV HDR10][DTS 5.1][x264]-EVOLVE`</sup></sub>
=== "Jellyfin (TMDb)"
```bash
{{ radarr['naming']['radarr-naming']['file']['jellyfin-tmdb'] }}
```
<sub><sup>**Movie**: `The Movie Title (2010) [tmdbid-65567] - {edition-Ultimate Extended Edition} [IMAX HYBRID][Bluray-1080p Proper][3D][DV HDR10][DTS 5.1][x264]-EVOLVE`</sup></sub>
=== "Jellyfin Anime (IMDb)"
```bash
{{ radarr['naming']['radarr-naming']['file']['jellyfin-anime-imdb'] }}
```
<sub><sup>**Movie**: `The Movie Title (2010) [imdbid-tt0106145] - {edition-Ultimate Extended Edition} [Surround Sound x264][Bluray-1080p Proper][3D][DTS 5.1][DE][10bit][AVC]-EVOLVE`</sup></sub>
=== "Jellyfin Anime (TMDb)"
```bash
{{ radarr['naming']['radarr-naming']['file']['jellyfin-anime-tmdb'] }}
```
<sub><sup>**Movie**: `The Movie Title (2010) [tmdbid-65567] - {edition-Ultimate Extended Edition} [Surround Sound x264][Bluray-1080p Proper][3D][DTS 5.1][DE][10bit][AVC]-EVOLVE`</sup></sub>
--- ---
@ -121,70 +170,86 @@ The filename can be Obscured where the Release naming isn't, especially when you
## Movie Folder Format ## Movie Folder Format
!!! danger "" --8<-- "includes/radarr/imdb-vs-tmdb.md"
**Please note that folder names are created (in the database) whenever the movie is added to Radarr, and it may be missing or incorrect at that time and your folder would have a blank ID!!!** !!! warning "Please note that folder names are created in the database whenever the movie is added to Radarr and it may be missing or incorrect at that time, resulting in your folder having a blank ID.:bangbang:<br><br>If you instead add it to the filename, the IMDb/TMDb ID will be freshly pulled for any download or upgrade."
If you instead add it in the filename, the IMDb ID will be freshly pulled for any download or upgrade. === "Standard Folder"
Another potential negative of using it in the folder is that folder renames are complex, lengthy, and potentially destructive in Radarr compared to file renames. Minimum needed and recommended
### Minimal needed and recommended ```bash
{{ radarr['naming']['radarr-naming']['folder']['default'] }}
```
```bash <sub><sup>**Example**: `The Movie Title (2010)`</sup></sub>
{{ radarr['naming']['radarr-naming']['folder']['default'] }}
```
<small>RESULT:</small> `The Movie Title (2010)` === "Optional Plex"
--- --8<-- "includes/radarr/radarr-folder-name-after-year-info.md"
!!! note === "Plex Folder IMDb"
Keep in mind adding anything more after the release year could give issues during a fresh import in to Radarr, but it helps for movies that have the same release name and year. --8<-- "includes/radarr/tmdb-imdb-info.md"
**Radarr supports IMDb ID and TMDb ID in the folder name.** ```bash
{{ radarr['naming']['radarr-naming']['folder']['plex-imdb'] }}
```
!!! quote "Quote from a developer" <sub><sup>**Example**: `The Movie Title (2010) {imdb-tt1520211}`</sup></sub>
TMDb is usually better as it guarantees a match, IMDb only gets matched if the TMDb entry has the correct IMDb ID association. We don't actually talk to IMDb. === "Plex Folder TMDb"
#### Optional Movies Folder Format ```bash
{{ radarr['naming']['radarr-naming']['folder']['plex-tmdb'] }}
```
This naming scheme is made to be compatible with the new [Plex TV Series Scanner](https://forums.plex.tv/t/beta-new-plex-tv-series-scanner/696242){:target="\_blank" rel="noopener noreferrer"} that now support IMDB and TVDB IDs in file names. <sub><sup>**Example**: `The Movie Title (2010) {tmdb-1520211}`</sup></sub>
##### Optional Plex === "Optional Emby"
```bash --8<-- "includes/radarr/radarr-folder-name-after-year-info.md"
{{ radarr['naming']['radarr-naming']['folder']['plex'] }}
```
<small>RESULT:</small> `The Movie Title (2010) {imdb-tt1520211}` === "Emby Folder IMDb"
##### Optional Emby --8<-- "includes/radarr/tmdb-imdb-info.md"
```bash ```bash
{{ radarr['naming']['radarr-naming']['folder']['emby'] }} {{ radarr['naming']['radarr-naming']['folder']['emby-imdb'] }}
``` ```
<small>RESULT:</small> `The Movie Title (2010)` <sub><sup>**Example**: `The Movie Title (2010) [imdb-tt1520211]`</sup></sub>
##### Optional Jellyfin === "Emby Folder TMDb"
```bash ```bash
{{ radarr['naming']['radarr-naming']['folder']['jellyfin'] }} {{ radarr['naming']['radarr-naming']['folder']['emby-tmdb'] }}
``` ```
<small>RESULT:</small> `The Movie Title (2010) [imdbid-tt1520211]` <sub><sup>**Example**: `The Movie Title (2010) [tmdb-1520211]`</sup></sub>
!!! tip === "Optional Jellyfin"
IMDb IDs are going to be very accurate and rarely change, TVDB/TMDB IDs, on the other hand, do change or are removed more frequently. --8<-- "includes/radarr/radarr-folder-name-after-year-info.md"
--- === "Jellyfin Folder IMDb"
--8<-- "includes/radarr/tmdb-imdb-info.md"
```bash
{{ radarr['naming']['radarr-naming']['folder']['jellyfin-imdb'] }}
```
Thanks: <sub><sup>**Example**: `The Movie Title (2010) [imdbid-tt1520211]`</sup></sub>
A big Thanks to [fryfrog](https://github.com/fryfrog) and [rg9400](https://github.com/rg9400) for the suggestions. === "Jellyfin Folder TMDb"
```bash
{{ radarr['naming']['radarr-naming']['folder']['jellyfin-tmdb'] }}
```
<sub><sup>**Example**: `The Movie Title (2010) [tmdbid-1520211]`</sup></sub>
---
--8<-- "includes/support.md" --8<-- "includes/support.md"

@ -1,15 +1,6 @@
# Recommended naming scheme # Recommended naming scheme
On the [Sonarr Discord](https://discord.gg/M6BvZn5){:target="\_blank" rel="noopener noreferrer"} people often ask, "What's the recommended/best way to --8<-- "includes/starr/renaming-description-faq.md"
name your files?" First off, it's personal preference, but it's often recommended to add non-recoverable info.
Why?
If, for what ever reason, you ever need to do a re-install or re-import in
the Starr Apps or Plex/Emby/Jellyfin it's nice to have all that info in the filename so
it gets imported correctly and isn't incorrectly matched as HDTV or WEB-DL etc.
!!! info "The Tokens not available in the release won't be used/shown."
--- ---
@ -27,97 +18,113 @@ Finally, enable `Rename Episodes` to reveal the episode renaming options.
![Enable Rename Episodes](images/sonarr-enable-rename.png) ![Enable Rename Episodes](images/sonarr-enable-rename.png)
## Standard Episode Format ---
```bash ## Episode Format
{{ sonarr['naming']['sonarr-naming']['episodes']['standard']['default:4'] }}
```
??? abstract "RESULTS: - [Click to show/hide]" === "Standard"
Single Episode: ```bash
{{ sonarr['naming']['sonarr-naming']['episodes']['standard']['default'] }}
```
`The Series Title! (2010) - S01E01 - Episode Title 1 [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp` <sub><sup>**Single Episode**: `The Series Title! (2010) - S01E01 - Episode Title 1 [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp`</sup></sub>
Multi Episode: <sub><sup>**Multi Episode**: `The Series Title! (2010) - S01E01-E03 - Episode Title [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp`</sup></sub>
`The Series Title! (2010) - S01E01-E03 - Episode Title [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp` === "Daily"
--- ```bash
{{ sonarr['naming']['sonarr-naming']['episodes']['daily']['default'] }}
```
## Daily Episode Format <sub><sup>**Example**: `The Series Title! (2010) - 2013-10-30 - Episode Title 1 [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp`</sup></sub>
```bash === "Anime"
{{ sonarr['naming']['sonarr-naming']['episodes']['daily']['default:4'] }}
```
??? abstract "RESULTS: - [Click to show/hide]" ```bash
{{ sonarr['naming']['sonarr-naming']['episodes']['anime']['default'] }}
```
`The Series Title! (2010) - 2013-10-30 - Episode Title 1 [AMZN WEBDL-1080p Proper][DV HDR10][DTS 5.1][x264]-RlsGrp` <sub><sup>**Single Episode**: `The Series Title! (2010) - S01E01 - 001 - Episode Title 1 [iNTERNAL HDTV-720p v2][HDR10][10bit][x264][DTS 5.1][JA]-RlsGrp`</sup></sub>
<sub><sup>**Multi Episode**: `The Series Title! (2010) - S01E01-E03 - 001-003 - Episode Title [iNTERNAL HDTV-720p v2][HDR10][10bit][x264][DTS 5.1][JA]-RlsGrp`</sup></sub>
--- ---
## Anime Episode Format ## Series Folder Format
```bash --8<-- "includes/sonarr/imdb-vs-tvdb.md"
{{ sonarr['naming']['sonarr-naming']['episodes']['anime']['default:4'] }}
```
??? abstract "RESULTS: - [Click to show/hide]" === "Standard Folder"
Single Episode: ```bash
{{ sonarr['naming']['sonarr-naming']['series']['default'] }}
```
`The Series Title! (2010) - S01E01 - 001 - Episode Title 1 [iNTERNAL HDTV-720p v2][HDR10][10bit][x264][DTS 5.1][JA]-RlsGrp` <sub><sup>**Example**: `The Series Title! (2010)`</sup></sub>
Multi Episode: === "Optional Plex"
`The Series Title! (2010) - S01E01-E03 - 001-003 - Episode Title [iNTERNAL HDTV-720p v2][HDR10][10bit][x264][DTS 5.1][JA]-RlsGrp` This naming scheme is made to be used with the [New Plex TV Series Scanner](https://forums.plex.tv/t/beta-new-plex-tv-series-scanner/696242){:target="\_blank" rel="noopener noreferrer"}
--- === "Plex Folder IMDb"
### Series Folder Format --8<-- "includes/sonarr/tvdb-imdb-info.md"
```bash ```bash
{{ sonarr['naming']['sonarr-naming']['series']['default'] }} {{ sonarr['naming']['sonarr-naming']['series']['plex-imdb'] }}
``` ```
<small>RESULT:</small> `The Series Title! (2010)` <sub><sup>**Example**: `The Series Title! (2010) {imdb-tt1520211}`</sup></sub>
#### Optional Series Folder Format === "Plex Folder TVDb"
This naming scheme is made to be compatible with the new [Plex TV Series Scanner](https://forums.plex.tv/t/beta-new-plex-tv-series-scanner/696242){:target="\_blank" rel="noopener noreferrer"} that now support IMDB and TVDB IDs in file names. ```bash
{{ sonarr['naming']['sonarr-naming']['series']['plex-tvdb'] }}
```
##### Optional Plex <sub><sup>**Example**: `The Series Title! (2010) {tvdb-1520211}`</sup></sub>
```bash === "Optional Emby"
{{ sonarr['naming']['sonarr-naming']['series']['plex'] }}
```
<small>RESULT:</small> `The Series Title! (2010) {imdb-tt1520211}` Source: [Emby Wiki/Docs](https://emby.media/support/articles/TV-Naming.html#id-tags-in-folder--file-names){:target="\_blank" rel="noopener noreferrer"}
##### Optional Emby === "Emby Folder IMDb"
```bash --8<-- "includes/sonarr/tvdb-imdb-info.md"
{{ sonarr['naming']['sonarr-naming']['series']['emby'] }}
```
<small>RESULT:</small> `The Series Title! (2010)` ```bash
{{ sonarr['naming']['sonarr-naming']['series']['emby-imdb'] }}
```
##### Optional Jellyfin <sub><sup>**Example**: `The Series Title! (2010) [imdb-tt1520211]`</sup></sub>
```bash === "Emby Folder TVDb"
{{ sonarr['naming']['sonarr-naming']['series']['jellyfin'] }}
```
<small>RESULT:</small> `The Series Title! (2010) [tvdbid-tt1520211]` ```bash
{{ sonarr['naming']['sonarr-naming']['series']['emby-tvdb'] }}
```
!!! tip <sub><sup>**Example**: `The Series Title! (2010) [tvdb-1520211]`</sup></sub>
IMDb IDs are going to be very accurate and rarely change, TVDB/TMDB IDs, on the other hand, do change or are removed more frequently. === "Optional Jellyfin"
Source: [Jellyfin Wiki/Docs](https://jellyfin.org/docs/general/server/media/shows/){:target="\_blank" rel="noopener noreferrer"}
!!! warning "Jellyfin doesn't support IMDb ID's for shows"
=== "Jellyfin Folder TVDb"
```bash
{{ sonarr['naming']['sonarr-naming']['series']['jellyfin-tvdb'] }}
```
<sub><sup>**Example**: `The Series Title! (2010) [tvdbid-1520211]`</sup></sub>
--- ---
### Season Folder Format ## Season Folder Format
For this there's only one real option to use in my opinion. For this there's only one real option to use in my opinion.
@ -125,17 +132,17 @@ For this there's only one real option to use in my opinion.
Season {season:00} Season {season:00}
``` ```
RESULT: `Season 01` <sub><sup>**Example**: `Season 01`</sup></sub>
--- ---
### Multi-Episode Style ## Multi-Episode Style
```bash ```bash
Prefixed Range Prefixed Range
``` ```
RESULTS: <sub><sup>**Example**:</sup></sub>
![results](images/results.png) ![results](images/results.png)
@ -159,8 +166,4 @@ The filename can be Obscured where the Release naming isn't, especially when you
--- ---
Thanks:
A big Thanks to [fryfrog](https://github.com/fryfrog), [rg9400](https://github.com/rg9400) and [bakerboy448](https://github.com/bakerboy448) for the suggestions.
--8<-- "includes/support.md" --8<-- "includes/support.md"

@ -1,17 +1,36 @@
{ {
"folder": { "folder": {
"default": "{Movie CleanTitle} ({Release Year})", "default": "{Movie CleanTitle} ({Release Year})",
"plex-imdb": "{Movie CleanTitle} ({Release Year}) {imdb-{ImdbId}}",
"plex-tmdb": "{Movie CleanTitle} ({Release Year}) {tmdb-{TmdbId}}",
"emby-imdb": "{Movie CleanTitle} ({Release Year}) [imdb-{ImdbId}]",
"emby-tmdb": "{Movie CleanTitle} ({Release Year}) [tmdb-{TmdbId}]",
"jellyfin-imdb": "{Movie CleanTitle} ({Release Year}) [imdbid-{ImdbId}]",
"jellyfin-tmdb": "{Movie CleanTitle} ({Release Year}) [tmdbid-{TmdbId}]",
"plex": "{Movie CleanTitle} ({Release Year}) {imdb-{ImdbId}}", "plex": "{Movie CleanTitle} ({Release Year}) {imdb-{ImdbId}}",
"emby": "{Movie CleanTitle} ({Release Year}) [imdbid-{ImdbId}]", "emby": "{Movie CleanTitle} ({Release Year}) [imdbid-{ImdbId}]",
"jellyfin": "{Movie CleanTitle} ({Release Year}) [imdbid-{ImdbId}]" "jellyfin": "{Movie CleanTitle} ({Release Year}) [imdbid-{ImdbId}]"
}, },
"file": { "file": {
"standard": "{Movie CleanTitle} {(Release Year)} - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[Mediainfo VideoCodec]}{-Release Group}",
"plex-imdb": "{Movie CleanTitle} {(Release Year)} {imdb-{ImdbId}} {edition-{Edition Tags}} {[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[Mediainfo VideoCodec]}{-Release Group}",
"plex-tmdb": "{Movie CleanTitle} {(Release Year)} {tmdb-{TmdbId}} {edition-{Edition Tags}} {[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[Mediainfo VideoCodec]}{-Release Group}",
"plex-anime-imdb": "{Movie CleanTitle} {(Release Year)} {imdb-{ImdbId}} {edition-{Edition Tags}} {[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{MediaInfo AudioLanguages}[{MediaInfo VideoBitDepth}bit]{[Mediainfo VideoCodec]}{-Release Group}",
"plex-anime-tmdb": "{Movie CleanTitle} {(Release Year)} {tmdb-{TmdbId}} {edition-{Edition Tags}} {[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{MediaInfo AudioLanguages}[{MediaInfo VideoBitDepth}bit]{[Mediainfo VideoCodec]}{-Release Group}",
"emby-imdb": "{Movie CleanTitle} {(Release Year)} [imdb-{ImdbId}] - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[Mediainfo VideoCodec]}{-Release Group}",
"emby-tmdb": "{Movie CleanTitle} {(Release Year)} [tmdb-{TmdbId}] - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[Mediainfo VideoCodec]}{-Release Group}",
"emby-anime-imdb": "{Movie CleanTitle} {(Release Year)} [imdb-{ImdbId}] - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{MediaInfo AudioLanguages}[{MediaInfo VideoBitDepth}bit]{[Mediainfo VideoCodec]}{-Release Group}",
"emby-anime-tmdb": "{Movie CleanTitle} {(Release Year)} [tmdb-{TmdbId}] - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{MediaInfo AudioLanguages}[{MediaInfo VideoBitDepth}bit]{[Mediainfo VideoCodec]}{-Release Group}",
"jellyfin-imdb": "{Movie CleanTitle} {(Release Year)} [imdbid-{ImdbId}] - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[Mediainfo VideoCodec]}{-Release Group}",
"jellyfin-tmdb": "{Movie CleanTitle} {(Release Year)} [tmdbid-{TmdbId}] - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[Mediainfo VideoCodec]}{-Release Group}",
"jellyfin-anime-imdb": "{Movie CleanTitle} {(Release Year)} [imdbid-{ImdbId}] - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{MediaInfo AudioLanguages}[{MediaInfo VideoBitDepth}bit]{[Mediainfo VideoCodec]}{-Release Group}",
"jellyfin-anime-tmdb": "{Movie CleanTitle} {(Release Year)} [tmdbid-{TmdbId}] - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{MediaInfo AudioLanguages}[{MediaInfo VideoBitDepth}bit]{[Mediainfo VideoCodec]}{-Release Group}",
"original": "{Original Title}",
"default": "{Movie CleanTitle} {(Release Year)} {imdb-{ImdbId}} {edition-{Edition Tags}} {[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[Mediainfo VideoCodec]}{-Release Group}", "default": "{Movie CleanTitle} {(Release Year)} {imdb-{ImdbId}} {edition-{Edition Tags}} {[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[Mediainfo VideoCodec]}{-Release Group}",
"emby": "{Movie CleanTitle} {(Release Year)} [imdbid-{ImdbId}] - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[Mediainfo VideoCodec]}{-Release Group}", "emby": "{Movie CleanTitle} {(Release Year)} [imdbid-{ImdbId}] - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[Mediainfo VideoCodec]}{-Release Group}",
"jellyfin": "{Movie CleanTitle} {(Release Year)} [imdbid-{ImdbId}] - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[Mediainfo VideoCodec]}{-Release Group}", "jellyfin": "{Movie CleanTitle} {(Release Year)} [imdbid-{ImdbId}] - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[Mediainfo VideoCodec]}{-Release Group}",
"anime": "{Movie CleanTitle} {(Release Year)} {imdb-{ImdbId}} {edition-{Edition Tags}} {[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{MediaInfo AudioLanguages}[{MediaInfo VideoBitDepth}bit]{[Mediainfo VideoCodec]}{-Release Group}", "anime": "{Movie CleanTitle} {(Release Year)} {imdb-{ImdbId}} {edition-{Edition Tags}} {[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{MediaInfo AudioLanguages}[{MediaInfo VideoBitDepth}bit]{[Mediainfo VideoCodec]}{-Release Group}",
"anime-emby": "{Movie CleanTitle} {(Release Year)} - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{MediaInfo AudioLanguages}[{MediaInfo VideoBitDepth}bit]{[Mediainfo VideoCodec]}{-Release Group}", "anime-emby": "{Movie CleanTitle} {(Release Year)} - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{MediaInfo AudioLanguages}[{MediaInfo VideoBitDepth}bit]{[Mediainfo VideoCodec]}{-Release Group}",
"anime-jellyfin": "{Movie CleanTitle} {(Release Year)} [imdbid-{ImdbId}] - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{MediaInfo AudioLanguages}[{MediaInfo VideoBitDepth}bit]{[Mediainfo VideoCodec]}{-Release Group}", "anime-jellyfin": "{Movie CleanTitle} {(Release Year)} [imdbid-{ImdbId}] - {Edition Tags }{[Custom Formats]}{[Quality Full]}{[MediaInfo 3D]}{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{MediaInfo AudioLanguages}[{MediaInfo VideoBitDepth}bit]{[Mediainfo VideoCodec]}{-Release Group}"
"original": "{Original Title}"
} }
} }

@ -4,24 +4,26 @@
}, },
"series": { "series": {
"default": "{Series TitleYear}", "default": "{Series TitleYear}",
"plex-imdb": "{Series TitleYear} {imdb-{ImdbId}}",
"plex-tvdb": "{Series TitleYear} {tvdb-{TvdbId}}",
"emby-imdb": "{Series TitleYear} [imdb-{ImdbId}]",
"emby-tvdb": "{Series TitleYear} [tvdb-{TvdbId}]",
"jellyfin-tvdb": "{Series TitleYear} [tvdbid-{TvdbId}]",
"plex": "{Series TitleYear} {imdb-{ImdbId}}", "plex": "{Series TitleYear} {imdb-{ImdbId}}",
"emby": "{Series TitleYear} [imdbid-{ImdbId}]", "emby": "{Series TitleYear} [imdbid-{ImdbId}]",
"jellyfin": "{Series TitleYear} [tvdbid-{TvdbId}]" "jellyfin": "{Series TitleYear} [tvdbid-{TvdbId}]"
}, },
"episodes": { "episodes": {
"standard": { "standard": {
"default:3": "{Series TitleYear} - S{season:00}E{episode:00} - {Episode CleanTitle} [{Preferred Words }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[MediaInfo VideoCodec]}{-Release Group}", "default": "{Series TitleYear} - S{season:00}E{episode:00} - {Episode CleanTitle} [{Custom Formats }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[MediaInfo VideoCodec]}{-Release Group}",
"default:4": "{Series TitleYear} - S{season:00}E{episode:00} - {Episode CleanTitle} [{Custom Formats }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[MediaInfo VideoCodec]}{-Release Group}",
"original": "{Original Title}" "original": "{Original Title}"
}, },
"daily": { "daily": {
"default:3": "{Series TitleYear} - {Air-Date} - {Episode CleanTitle} [{Preferred Words }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[MediaInfo VideoCodec]}{-Release Group}", "default": "{Series TitleYear} - {Air-Date} - {Episode CleanTitle} [{Custom Formats }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[MediaInfo VideoCodec]}{-Release Group}",
"default:4": "{Series TitleYear} - {Air-Date} - {Episode CleanTitle} [{Custom Formats }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[MediaInfo VideoCodec]}{-Release Group}",
"original": "{Original Title}" "original": "{Original Title}"
}, },
"anime": { "anime": {
"default:3": "{Series TitleYear} - S{season:00}E{episode:00} - {absolute:000} - {Episode CleanTitle} [{Preferred Words }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}[{MediaInfo VideoBitDepth}bit]{[MediaInfo VideoCodec]}[{Mediainfo AudioCodec} { Mediainfo AudioChannels}]{MediaInfo AudioLanguages}{-Release Group}", "default": "{Series TitleYear} - S{season:00}E{episode:00} - {absolute:000} - {Episode CleanTitle} [{Custom Formats }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}[{MediaInfo VideoBitDepth}bit]{[MediaInfo VideoCodec]}[{Mediainfo AudioCodec} { Mediainfo AudioChannels}]{MediaInfo AudioLanguages}{-Release Group}"
"default:4": "{Series TitleYear} - S{season:00}E{episode:00} - {absolute:000} - {Episode CleanTitle} [{Custom Formats }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}[{MediaInfo VideoBitDepth}bit]{[MediaInfo VideoCodec]}[{Mediainfo AudioCodec} { Mediainfo AudioChannels}]{MediaInfo AudioLanguages}{-Release Group}"
} }
} }
} }

@ -0,0 +1,3 @@
<!-- markdownlint-disable MD041-->
While both IMDb and TMDb IDs are unique, TMDb can occasionally remove IDs entirely, sometimes only to be re-added with a new ID later. However, due to using TMDb as its metadata source, they can be seen as "more aligned" with Radarr. IMDb IDs on the other hand, once present, are very accurate and rarely ever change.
<!-- markdownlint-enable MD041-->

@ -0,0 +1,3 @@
<!-- markdownlint-disable MD041-->
!!! note "Keep in mind adding anything additional after the release year could give issues during a fresh import into Radarr, but it can help for movies that have the same release name and year"
<!-- markdownlint-enable MD041-->

@ -0,0 +1,3 @@
<!-- markdownlint-disable MD041-->
!!! info "TMDb is usually better as it guarantees a match, IMDb only gets matched if the TMDb entry has the correct IMDb ID association."
<!-- markdownlint-enable MD041-->

@ -0,0 +1,3 @@
<!-- markdownlint-disable MD041-->
While both IMDb and TVDb IDs are unique, TVDb can occasionally remove IDs entirely, sometimes only to be re-added with a new ID later. However, due to using TVDb as its metadata source, they can be seen as "more aligned" with Sonarr. IMDb IDs on the other hand, once present, are very accurate and rarely ever change.
<!-- markdownlint-enable MD041-->

@ -0,0 +1,3 @@
<!-- markdownlint-disable MD041-->
!!! info "TVDb is usually better as it guarantees a match, IMDb only gets matched if the TVDb entry has the correct IMDb ID association."
<!-- markdownlint-enable MD041-->

@ -0,0 +1,42 @@
<!-- markdownlint-disable MD041-->
On the Radarr/Sonarr Discord people often ask,
- “What's the recommended/best way to name your files or folders?”
- “Why is my naming scheme bad?”
Even though it is a personal preference, it is still recommended to add non-recoverable information for several reasons.
## FAQ
??? question "Why?"
- If, for whatever reason, you ever need to do a re-install or a full re-import in the Starr Apps or Plex/Emby/Jellyfin, it's nice to have all that info in the filename so it gets imported correctly and isn't incorrectly matched as HDTV or WEB-DL etc.
- Prevent download loops.
??? question "What's non-recoverable information?"
- Quality Source (HDTV, WEBDL, Bluray, Remux, etc..)
- Release group
- Edition version
- Repack/Proper
??? question "Why is the non-recoverable information important/needed?"
- **Prevent download loops**.
- **Quality Source (HDTV, WEBDL, Bluray, Remux, etc..)**: Can you tell from the following info: `movie (year).ext`, which quality source the file is from? Probably not, and there is no real way to determine it if it's lost after import. Why would you care? Mainly if you ever want to upgrade or downgrade your media file and to prevent re-downloads of the same file.
- **Release group**: With the knowledge of which release group your release belongs to, you can determine if the file has any issues related to that specific release. It can also help find extra information if it's a hybrid release or which sources are used.
- **Edition version**: To determine if the release is an directors cut, theatrical, unrated, etc.
- **Repack/Proper**: To determine if the release was a repack or a proper, so you know if you have the correct version and not the broken one with playback issues or other issues with the media file.
??? question "But Plex, Emby and Jellyfin work fine with just `movie (year).ext`/`tv showname SxxExx.ext`"
- True, but they don't care about the quality of your media file you're using, their main purpose is just to provide you with your media library and play the media files.
??? question "Why is the file naming so long?"
- To make sure your filename contains all the info needed to prevent download loops after import.
- The so-called "naming tokens" not used in your media file won't be used/shown.
- Any proper media server (Plex, Emby, or Jellyfin) won't display the actual filename outright anyway, so why worry about how the file's naming looks when it has all the needed info included?
The naming scheme provided here is made with the help of the Sonarr/Radarr (Support) Team and information provided by the community.
<!-- markdownlint-enable MD041-->

@ -53,6 +53,9 @@ markdown_extensions:
- pymdownx.superfences - pymdownx.superfences
- pymdownx.tabbed: - pymdownx.tabbed:
alternate_style: true alternate_style: true
slugify: !!python/object/apply:pymdownx.slugs.slugify
kwds:
case: lower
- toc: - toc:
permalink: "" permalink: ""
# toc_depth: 5 # toc_depth: 5

Loading…
Cancel
Save