If you just want a way to stream music and movies from your own server or home computer, with on-the-fly re-encoding to adjust to available bandwidth, I would recommend airsonic. https://github.com/airsonic/airsonic
Since you're just running it and not developing it, what difference does the language make (beyond making sure you have mem/cpu to meet application requirements)?
1) insufficient knowledge of the source code behind the tools you use, or
2) a really dull and limited computing experience
I maintain my own Lisp implementation that has a decent object system, exceptions, delimited continuations, compiler and virtual machine, and a whole-document pattern matching language for easy text transformation.
I've worked on early versions of the POSIX threading library for Glibc, Linux device drivers, all sorts of middleware stacks in wireless, VoIP and such.
Code of mine is in e2fsprogs: https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/tree/li...
In Wireshark: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=b...
I started working with 8 bit microcomputers in the early 1980's, writing games and utilities, and dial-up BBS's, using assembly language and BASIC. I had dabbled in 3D graphics and the "demo" scene. I used to code in Pascal and Modula-2 before C. I've worked as a C++ dev for many years.
Java simply isn't something that would interest me. Java programs look verbose and blubby. To be fair, a lot of what I use and have used is blubby, like the C language, Unix shell and whatnot. But I don't need more blubby. I have my fill of blub calories already. The Java platform bloated, and the ecosystem is self-absorbed. To its credit, it has a reputation for supposedly having good garbage collection and concurrency in its VM, that's about it.
But considering airsonic runs on Java, and you aren't developing for it, the only relevant issues with respect to the source language are performance and program size in terms of both memory and storage.
Considering you're storing videos on this server, storing a tiny Java app is a non-issue. And the memory the program itself takes up is meager compared to the memory usage from streaming and encoding/decoding media. If I had to guess, based on the lean interface, it has a lower memory profile than Plex. Performance, again on par with Plex.
So, if you don't have an ideological opposition to Java due to its proprietary nature, then I don't understand why you give a shit if the best media server for your needs runs on it.
We can hardly avoid using Java stuff in daily lives. If you use Android at all, you're using Java programs. Lots of web applications have Java back ends.
If someone else has done that (on the other side of an HTTP wall, for instance), I don't care.
> Which is basically everything.
Sorry to burst your Java bubble, but no, it isn't.
2. I hate Java as a language but it is used in embedded systems everywhere. Oh look, another hyperbole.
Disclaimer: I'm not affiliated with Jellyfin's team, I just contributed one patch to the codebase.
Ha! I use precisely this setup for my media needs: Kodi runs on an Odroid-XU4 SBC hooked up to a wired gigabit Ethernet LAN and my Big Display Device (the one with the ATSC tuner) and my server is my laptop. I even created some hinky shell scripts to play arbitrary video files:
https://github.com/chbarts/kodi-command-line
I have the YouTube plugin so I can do things like
kodi-play $YOUTUBE_URL
or kodi-play -y $YOUTUBE_VIDEO_ID
(When I was doing research on this project, it was kinda frustrating how many websites assumed I'd be making the SBC the server.)
Plex is proprietary and can shut down any time. Although it runs locally, it contacts the plex servers for quite a lot of stuff. Granted, you won't lose your media and can replace plex easily.