e.g., of generated command: ffmpeg -y -hide_banner -i /mnt/storage/rips/bluray.mkv -i ./eng.sdr.srt -map 0:v -map 0:a -map 1 -c:v copy -c:a copy -c:s mov_text -metadata:s:a:0 language=eng -metadata:s:a:0 title=eng -metadata:s:s:0 language=eng -metadata:s:s:0 title="English (SDR)" -disposition:s:0 hearing_impaired -metadata title="Film Title" -metadata genre="Pretentious Comedy" -metadata artist="Alan Smithee" -metadata date=2026 -f mp4 -movflags +faststart "/mnt/storage/movies/Film Title (2026).mp4"
Do whatever encoding you want in advance too of course. Note, the above is generated from a script (not created manually) that is run like `./cleanvideo.py ./bluray.mkv ./eng.sdr.srt https://www.themoviedb.org/movie/985-eraserhead`
After doing this for over a decade, I find that Jellyfin, or even just a caddy directory listing, make a great media library browser. Jellyfin will almost never identify things incorrectly. Can always fall back to just listing things and playing your content with `mpv https://machine.tailnet-name.ts.net/movies/...` even remotely given the use of tailscale. Or VLC from my phone, etc.