Regular resource retrieval from URI requires the entire file to be downloaded before previewing. Streaming makes this more efficient by loading only chunks and playing back with a much smaller buffer, especially for much larger files on the order of GBs.
This blog entry talks a little bit about his transition from Plex to Jellyfin.
Note that there are these few names floating around:
Plex media server has proprietary codebase, with free editions that inject their own streaming content and ads.
Emby has a shared codebase history with Jellyfin (Emby-fork), with much more support for mobile clients and server
OS but behind paywall.
Kodi is not a media server, but a streaming client infamous for maintaining lists of server that stream pirated content.
Experimented with Jellyfin for a couple hours. Some initial thoughts:
Library updating speed is absolutely horrendous, indexing about 30 2-minute videos in 5 minutes, and loading individual videos takes about 5-10 seconds each. This is more reasonable for situations where the library browsing time is far shorter than that of watching time. Perhaps from transcoding?
Moving between screens also take about 3-5 seconds each, making for quite a subpar experience. Running this on an i3-10110U (2 core, 2.10GHz), so perhaps this is a bottleneck.
Note that if the server selection page appears when attempting to connect to the Jellyfin server, need to manually access the server by its local IP, not the computer name.
Edit: I take it back. The slow loading speed is likely from the CPU utilization during transcoding and indexing. Once loaded, it is pretty efficient.