Library organisation

How to organise films and TV shows for a media server

A practical folder and naming structure for films and series, for editions and for subtitles, that stays understandable to you and to a media server.

By Quven Editorial Team Updated 2 September 2026 Verified 2 September 2026

A media server is only as good as the folders you point it at. The software will read almost anything, but a library built over years tends to hold the same film in three versions, a season scattered across six directories, and files called final-v2.mkv that tell a person nothing and a catalogue even less.

This guide is a handful of naming habits that will outlast the next hard drive, the next computer and the next media server. None of it requires a weekend of archiving. The aim is to find things, keep the matches plausible, and give playback a sensible place to start.

Give the library one front door

Start with a stable root folder. It may live on a NAS, an internal disk or network storage mounted by the machine running the server, but it shouldn’t move every few weeks. Inside it, the clearest split is usually the best one: Films, TV Shows and Documentaries, with a separate area for concerts or home video only if you really use it.

That should be enough structure for most libraries. Films can have their own folders; shows should have a show folder followed by seasons. It’s readable today and it will still be readable when the software changes.

Media/
  Films/
    Arrival (2016)/
      Arrival (2016).mkv
  TV Shows/
    The Bear (2022)/
      Season 01/
        The Bear (2022) - S01E01.mkv
  Documentaries/
    Free Solo (2018)/
      Free Solo (2018).mkv

The year is the quickest way to separate remakes, identical titles and productions that otherwise look the same, so it’s worth the few seconds it takes. If you’re unsure, take a moment to check it before giving the file the wrong identity.

Let a filename say what it is

A useful filename identifies the work first; the details of the encode can come later or never. Title and year, then season and episode for television, solve a surprising number of problems. Technical detail belongs at the end only when it helps distinguish two copies.

Films/
  Dune Part Two (2024)/
    Dune Part Two (2024) - 2160p HDR.mkv

TV Shows/
  Andor (2022)/
    Season 02/
      Andor (2022) - S02E03 - Harvest.mkv

Abbreviations that made sense the night you wrote them rarely survive the year, and the date you downloaded something is a poor substitute for the year it was made. A filename crammed with codec flags, release names and technical trivia will read about as well as an empty one. Keep what separates one edition from another, and leave the rest out.

An edition is not automatically a duplicate

A 4K copy, a lighter 1080p remux and a director’s cut can all earn their place. Each of them serves a different screen, a different network, or a different evening. The important part is making the reason visible.

Name the thing that actually differs: Director's Cut, Extended, 2160p HDR, 1080p. If each variant gets its own title, or you trust memory to tell them apart, you’ll have lost track within six months. Every file should be able to say why it’s there.

Quven reads one explicit marker for this. Put {edition-Name} anywhere in the filename and the scanner strips it before matching, keeps the name as the edition label and attaches the file to the same title instead of inventing a second one. The braces matter: without them the words are just part of the filename, and two files that differ only by Color or Noir et Blanc will look like two unrelated releases.

Films/
  Sin City (2005)/
    Sin City (2005) {edition-Theatrical}.mkv
    Sin City (2005) {edition-Recut Extended}.mkv

An episode accepts the marker the same way a film does, which is the right fix when a series ships a colour cut and a black-and-white one and the metadata provider lists them as two separate shows.

TV Shows/
  Spider-Noir (2026)/
    Season 01/
      Spider-Noir (2026) - S01E01 {edition-Color}.mkv
      Spider-Noir (2026) - S01E01 {edition-Black and White}.mkv

A marker Quven can’t read is stripped and recorded in the server log, so a typo costs you the label and not the match.

The catalogue filter lists the editions Quven knows even where your library holds none of them, and adds whatever labels your own files carry. That’s deliberate: a filter showing only what’s present can’t tell you that you have no extended cut, because the row you would look for simply isn’t there. Pick one you don’t own and you get an empty page, and that empty page is the answer.

Keep subtitles close to the film

Where should subtitle files live? Beside the video, with a name you’d recognise; they’re far easier to manage that way. The base name does the work: Quven reads a sibling file whose name begins with the video’s own filename and breaks at a dot, a _ or a -. That boundary is why Arrival (2016).it.srt will attach to Arrival (2016).mkv while Arrival (2016) 2.srt attaches to nothing.

Arrival (2016)/
  Arrival (2016).mkv
  Arrival (2016).it.srt
  Arrival (2016).en.srt
  Arrival (2016).commentary.it.srt

Everything that trails the base name is read. A genuine language code becomes the language, in two letters or three, so it, ita, eng, fre and ger all land where you’d expect. forced marks a forced track, and sdh, hi or cc mark one written for the hard of hearing, in any order and beside any language. Everything left over becomes the label you see in the track list, which is how commentary in the example above survives instead of being thrown away. Only real codes are accepted, so a release tag like web, cam or hdr can never be promoted to a language.

Text subtitles arrive as .srt, .vtt, .ass or .ssa. Bitmap ones work too, as a .sup or as the .idx half of a VobSub pair, and a bare .sub is classified by what’s inside it, because the extension alone can’t say whether it holds a MicroDVD script or VobSub data.

If you’d rather not have four subtitle files sitting next to every video, put them in a Subs folder inside that title’s own folder. Subtitles, Sottotitoli and Sous-titres do the same job, in any capitalisation, on a case-sensitive filesystem as readily as on Windows. What still doesn’t work is the shared folder at the top of the library holding subtitles for a hundred unrelated films: the search starts at the video and looks no further than its own directory and that one companion folder.

Audio deserves the same patience. Before you re-encode something just to make it work, check where you plan to watch it. A source may direct play in a native client and need conversion in a browser. Keeping the source intact will often be smarter than changing it to fix one narrow case.

Plenty of libraries aren’t a plain tree of files. You might keep the films on one disk and the series on another and gather both under a single folder of symbolic links, or run something like Decypharr, where every file under your media folder points into a mounted remote. From Quven 1.1.21 the scan follows those links wherever they lead, files and folders alike, so a folder full of them will read as a folder full of films.

A few rules are worth knowing, since they’re what keeps a linked library from going wrong.

A folder is read once, however many paths arrive at it. If you link a folder back to somewhere the scan has already been, the scan will finish instead of circling, and a film reached through that folder stays one title in your catalogue. Two separate links to the same file are two entries, since they are two things you put in your library. The path Quven records is the one in your library, not the one at the far end, so deleting a film from Quven removes the link and leaves the original alone. Size and date are read from the target, so a film that changes at the far end will be picked up again on the next scan.

There’s a limit of eight links along any one branch. No library should need a ninth, and without a limit a single link pointing at the root of a disk would pull the whole disk into your catalogue.

What happens when a link points at something the server can’t reach? It shows up in the list of files the scan skipped, with the reason, so you can see which link is broken instead of hunting for the films yourself. That list holds the films and the folders, not the subtitles and artwork sitting beside them: when a whole mount goes missing every link under it breaks at once, and a few hundred titles are easier to read than the twenty thousand files around them. That’s the usual symptom in a container: the link is fine on the host, and the container was never given the folder it points into.

Scan without turning it into a clear-out

When you connect the folders to Quven, point it at the final paths and let it build a catalogue. An ordinary scan reads the source; it isn’t a disk-cleaning operation. Before renaming hundreds of files or deleting what looks like a duplicate, keep an independent backup and test the structure with a small, representative part of the library.

The same applies when you move from another media server. Keep the old setup until Quven has read a sample, flagged the ambiguous matches and played the files that tend to expose problems: an episode, a subtitle-heavy film, a large edition and something you know well. A completed scan is only the opening test.

When the catalogue is wrong, correct the catalogue

Naming carries a library a long way, but some titles resist it: a remake sharing its name and decade, a film whose local release title belongs to a different production, a documentary series that no catalogue lists the way your files do. The old answer was to keep renaming folders until the server guessed right, which changes your archive to satisfy an index.

From Quven 1.1.4 you correct the entry instead. In the desktop app or the web client, open the title and edit what’s wrong: the name, the year, the overview, the artwork, the poster. The correction is yours and it will survive the next scan, so the file on disk can keep the name that made sense to you.

Bonus material is handled for you in the same release. Trailers, featurettes, behind-the-scenes reels, deleted scenes and interviews sitting beside a film, in a Featurettes or Extras folder, or carrying one of those words in the filename, are recognised as bonus content belonging to that title instead of being catalogued as films of their own. If you had been keeping them outside the library to avoid a mess of half-titles, you can bring them back in.

Make choices that outlive the app

Media servers change; the disks, the backups and the naming conventions stay. A well-organised library isn’t work done for Quven in particular, and it makes every future move easier.

Quven can then do its part, turning those folders into a catalogue and choosing direct play, remuxing or transcoding for the device in front of it. The most valuable organisation happens before the first scan, in a Media folder that will still make sense years from now.

For the next step, read what a self-hosted media server actually does and why native playback changes server load.

Frequently asked questions

Where do subtitle files have to sit for Quven to find them?

Beside the video, or in a Subs folder inside that title’s own folder; Subtitles, Sottotitoli and Sous-titres are read the same way, whatever the capitalisation. A single folder at the top of the library isn’t consulted, because the search begins at the file being played and stops at its own directory.

Why does one of my subtitles arrive with no language?

Because nothing in the name was a language code. Quven reads the tokens trailing the base filename and accepts two- and three-letter codes only, so a file ending in a release tag such as web or hdr gets a descriptive label instead. Add .it, .eng or .fre before the extension and the track is named properly.

What happens if a filename carries two edition markers?

Neither is used. A name holding more than one {edition-Name} is ambiguous, so Quven strips both before matching and writes a warning to the server log: the file still reaches the right title, it just arrives without a label. One marker per file, or none.

Bring your library home.

Free for home use and yours to run on your own hardware. Install it in minutes.