Hacker News new | ask | show | jobs
by nyx_land 1167 days ago
My attempts at making a media manager/server (like Jellyfin and Subsonic) have shown that it's easier said than done to reliably sort video files since there's not really a standardized way of embeddeding metadata into video files like music files have with ID3v2. I imagine this is because unlike with music which had the MP3 player craze, by the time it became normal for users to have access to digital AV media due to improved storage and networking, locally saved files were bypassed by streaming. So you have to resort to ugly regexes to strip out all the nonsense from a filename (like if you have acquired a movie file from a torrent or something), which has a whole bunch of edge cases. It's made even more annoying by TMDB not having something like MusicBrainz to rank similarity of searches, so you better hope the file you end up with is a good quality string with ideally also the year of release, otherwise you'll probably have to tag stuff manually.

So I can't blame the devs for just expecting the user to sort their movie files beforehand (maybe with a different tool (except there aren't any for movie files as far as I know)). It's the kind of thing that there aren't any good solutions to. Not sure how Plex manages to guess movie files better than Jellyfin (I just ended up stealing JF's regexes for my thing) but since it's proprietary there's no way of knowing what regex magic they use.

4 comments

Sonarr, Radarr and Lidarr are doing great job. Everything is easy and compatible with other system. Jellyfin sometimes needs help with media identification to create good nfo files, but that's rate. Then you can use Tdarr or unmanic to standardise on what the media contains, like, remove languages, hardcoded subtitles and convert to a single codec and container.

Sorting moving like this project suggests: E1.mkv, E2.mkv... yea, no thank you.

For films and TV series, I'm a fan of using TinyMediaManager (https://www.tinymediamanager.org/). It performs a search on TMDB, IMDB etc and you select the best match. It populates an NFO file with the relevant data as well as downloading actors, posters etc and renames the file/folder.
Reliable for all cases is one thing, but it should support scene naming fairly trivially. The approach they are taking seems to lose information that's within the filenames, particularly with movies (i.e. the year).

For scene naming you don't really need to filter much of anything out, the tokens are there to split on already. For TV "<seriesname>\.S<ss>E<ee>\.<junk>", for movies "<moviename (greedy if REGEX)>\.<yyyy>.\<junk>".

Just a strange choice to go with something nonstandard that you can't come back from. It's a barrier to testing it.

Filename.nfo

Jellyfin creates them automatically. But you can adjust them