Media Server
Lately, there has been a huge rise in media consumption, especially movies and TV shows. The biggest one is by far Netflix, but it was followed by Amazon Prime Video, Disney+, and many more.
I must say that I hate subscription-based services, I prefer to own my own media directly that I can add to my personal library, without any risk of losing it because of price rising, banishment because I went on a trip and my IP temporarily changed, a regulation that would make the companies just stop working in my country, etc.
Instead, I prefer self-hosted open-source solutions. A friend of mine recommended me Plex, but it requires an account on a third-party website. I instead looked for another fully self-hosted solution that could work on any of my devices, and I found Jellyfin. It is a media server capable of hosting any kind of media, including movies, TV shows, music, and books.
It requires a bit of configuration to integrate it in my system (LDAP for the authentication, transcoding for the device that cannot play H.265 videos, metadata synchronization, etc.), but once everything is set up, it is a great solution.
I later added an automatic conversion from any format towards H.264, since it is the most widely supported encoding format and the Jellyfin transcoder does not work properly on some specific devices like smart TV. This system uses FileFlows to automatically detect newly added files, check their encoding, and if necessary, convert them using a custom ffmpeg command I wrote. This allowed me to have a full library that I can play anywhere, but also gain 35% of storage space thanks to additional compression.
I also added a support for subtitles since I watch a lot of movies and TV shows in English, and I wanted them to be automatically downloaded from sources like OpenSubtitles. I used a service called Bazarr capable of fetching subtitles from these sources. It can also connect to AI services like Whisper to generate subtitles automatically. I had the occasion to use Voxtral and Whisper with the GPU of my university’s server.
It worked pretty well, but my personal server does not have the hardware required to run any AI models beyond the Google Edge TPU installed on it for home surveillance purposes.