
Plex Pass lifetime jumped past $250, remote streaming got paywalled, and a lot of people who already own the disks their movies live on are asking the obvious question: why am I renting access to my own library. The good news is that the whole stack you need to stream 4K from a home NAS to a hotel Wi-Fi is free. A media server on the NAS, a mesh VPN or tunnel on the laptop, and you are watching in a few minutes with no monthly bill.
We spent a couple of weeks testing the best apps for remote NAS media streaming on Windows, macOS, and Linux. Seven made the cut. Some are full media servers with their own remote clients. Some are networking tools that make a local server reachable from anywhere. A couple do both. We looked at real remote-playback quality (not just LAN), transcoding behaviour on modest CPUs, setup effort, and how likely each one is to break at 2am.
What to look for in a remote NAS streaming setup
There is no single app that does this. A working setup has two halves, and picking the wrong tool in either half is where most people get stuck.
- Media server or direct file access. A media server (Jellyfin, Emby, Kodi as a client to a shared library) organises the collection, transcodes on the fly, and speaks a protocol clients understand. Direct file access (SMB, NFS, WebDAV) skips the server and hands the file to a player. Servers scale better past a few hundred titles.
- Remote access method. Port forwarding is the fastest and the worst idea if you value not exposing your NAS to the whole internet. A mesh VPN like Tailscale or NetBird puts your laptop on the same virtual LAN as the NAS. A reverse tunnel like Cloudflare Tunnel keeps the NAS unroutable and publishes only the media server port through Cloudflare’s edge.
- Transcoding hardware. 4K HEVC playback over a hotel connection almost always needs a transcode. Intel Quick Sync in an N100 mini PC handles two or three 4K streams. An older ARM NAS will stutter. Match the server to the silicon.
- Client coverage across your devices. Native apps on Windows, macOS, Linux, phones and TVs matter more than feature lists. A great server with a broken macOS client is not usable.
- Bandwidth ceiling of your home upload. Most Western DSL and cable plans upload 20 to 50 Mbps. Direct-play 4K needs 40 to 60 Mbps. Below that you are transcoding, so a strong CPU on the server side matters as much as the pipe.
Quick comparison
| App | Best for | Type | Free plan | Paid tier | Platforms |
|---|---|---|---|---|---|
| Jellyfin | The full free Plex replacement | Media server | Everything | None | Windows, macOS, Linux |
| Tailscale | Zero-config remote access to any NAS | Mesh VPN | 3 users, 100 devices | $6/user/mo | Windows, macOS, Linux |
| Emby | Polished remote UI without paying Plex | Media server | Server free, remote needs paid | Premiere $4.99/mo | Windows, macOS, Linux |
| Kodi | Existing collections on an SMB share | Client | Everything | None | Windows, macOS, Linux |
| Stremio | Aggregating personal library and add-ons | Client | Everything | None | Windows, macOS, Linux |
| NetBird | Self-hosting the mesh instead of trusting one | Mesh VPN | Free managed tier | $5/user/mo | Windows, macOS, Linux |
| Cloudflare Tunnel | Public streaming without opening ports | Reverse tunnel | Free up to 50 users | Enterprise | Windows, macOS, Linux |
The 7 apps
1. Jellyfin, best overall Plex Pass replacement
Jellyfin is the direct answer to Plex Pass costing what it costs. It is a fork of Emby that went fully open source in 2018, runs on any NAS or Docker host, and does not paywall remote playback, hardware transcoding, or DVR. Point it at your movies and TV folders, add your metadata sources, and it looks and behaves almost identically to Plex from a viewer standpoint. Hardware transcoding through Intel Quick Sync, NVENC or VA-API is built in and free.
For the remote-streaming half we pair it with Tailscale or Cloudflare Tunnel. Jellyfin itself does not run its own relay network, which is why Plex feels easier out of the box, but the trade is worth it. There is no account tied to a company that could change pricing next year.
Where it falls short: metadata scraping is fussier than Plex if your file naming is inconsistent, and plugin quality is uneven. The web UI has had a substantial polish pass in the 10.9 line but still looks less commercial than Emby or Plex.
Pricing: free, MIT and GPL-2.0 licensed, no accounts.
Platforms: Windows, macOS, Linux server and desktop clients, plus Android, iOS, Android TV, Roku, Fire TV, LG webOS, Kodi add-on.
Download: jellyfin.org · GitHub
Bottom line: if you are leaving Plex to keep money in your pocket and control over your library, Jellyfin for remote NAS media streaming is where almost everyone should land.
2. Tailscale, best zero-config way to reach your NAS
Tailscale is a mesh VPN built on WireGuard that turns every device you install it on into a peer on a private virtual network. Install it on the NAS, install it on the laptop, log in with the same identity provider, and the NAS is reachable at a stable 100.x address as if it were on the LAN. No port forwarding, no dynamic DNS, no exposing your admin panels. Jellyfin or Emby then works remotely with zero server-side changes.
The free plan covers three users and up to 100 devices, which fits any single household plus a partner and a couple of friends. Speeds on a real coffee-shop Wi-Fi were within a few percent of native. NAT traversal succeeds on almost every network we tested, and when it does not, Tailscale’s DERP relays fall back gracefully.
Where it falls short: the free plan is generous but capped, and the identity model is tied to a third-party SSO provider (Google, GitHub, Apple). Self-hosters who want to control the coordination server should look at Headscale or NetBird instead.
Pricing: free personal plan (3 users, 100 devices); Personal Pro at $5/mo lifts the caps; Starter at $6/user/mo adds team features.
Platforms: Windows, macOS, Linux, Android, iOS, most NAS operating systems (Synology, QNAP, TrueNAS, Unraid).
Download: tailscale.com · GitHub
Bottom line: the fastest path from “my Jellyfin only works at home” to “my Jellyfin works everywhere” is 15 minutes with Tailscale.
3. Emby, best polished server if you do not mind a small subscription
Emby is Jellyfin’s parent project and still sells a much more refined product on the client side. The server binary is free and streams unlimited content on your LAN. Remote streaming, hardware transcoding, cover art groups, and offline sync live behind Emby Premiere at $4.99 a month or $119 for a lifetime pass. That is a fraction of what Plex now charges for a lifetime, and the client quality is closer to Plex than Jellyfin’s is.
We used it as a middle ground for households that want a nicer parental controls story and a smoother iOS app than Jellyfin ships. Setup is Docker-friendly and the metadata scraper is more forgiving of messy file names.
Where it falls short: the closed-source parts of the code make the community wary, and every remote-access feature is inside the paid tier. If you already pay for a mesh VPN or run Cloudflare Tunnel, Jellyfin gives you the same remote streaming for zero.
Pricing: Emby Server free; Emby Premiere $4.99/mo, $54/year, $119 lifetime.
Platforms: Windows, macOS, Linux, plus mobile and TV clients.
Download: emby.media · GitHub
Bottom line: pick Emby when you want most of Plex’s polish, none of Plex’s recent pricing, and are fine paying five dollars a month or a hundred and change once.
4. Kodi, best client for a shared drive full of files
Kodi is not a server. It is a mature open-source media centre that plays whatever you point it at, and it has been playing files off SMB, NFS, and WebDAV shares for close to two decades. Combined with Tailscale so the share is reachable, Kodi on a laptop plays back local NAS content with add-on subtitles, scrapers and a proper 10-foot UI. It also acts as a Jellyfin client through the JellyCon add-on if you want the best of both.
For people whose library is already organised as folders and files on a NAS, Kodi skips the transcoding pipeline entirely. Direct play at 4K over a fast connection just works.
Where it falls short: no remote-access story of its own, so it needs Tailscale, NetBird, or a mounted VPN share. Configuration is more DIY than a Jellyfin or Emby install and the skin defaults have not aged especially well.
Pricing: free, GPL-2.0.
Platforms: Windows, macOS, Linux, Android, iOS (sideloaded), Fire TV, Raspberry Pi.
Bottom line: pick Kodi when your NAS is already a plain SMB share and you want a single app that plays everything without transcoding gymnastics.
5. Stremio, best for mixing personal library with add-ons
Stremio is a modular media hub with an add-on system that reaches into official streaming catalogues, torrent indexers, and, importantly for this article, personal libraries. The Local Files add-on scans a folder or a mounted NAS share and treats it like any other catalogue, so remote playback is a matter of getting the share mounted, which Tailscale handles.
We like Stremio for households that want a unified guide across a home library and a couple of public sources. It also has a first-party Jellyfin add-on that pulls the Jellyfin library into the same interface, which is a neat way to consolidate.
Where it falls short: it is not a media server on its own, transcoding depends on whatever backend you point it at, and the community add-on ecosystem includes plenty of things you should not touch. Stick to the official add-ons for a clean setup.
Pricing: free, closed-source client with open-source add-on SDK.
Platforms: Windows, macOS, Linux, Android, iOS, LG webOS, Samsung Tizen, Steam Deck.
Download: stremio.com · GitHub
Bottom line: pick Stremio when your personal library is one of several places you get content and you want a single guide over all of them.
6. NetBird, best fully self-hosted mesh VPN
NetBird is the mesh VPN to reach for when Tailscale’s dependency on a hosted control plane is a dealbreaker. Same WireGuard-under-the-hood architecture, same peer-to-peer topology, but the coordination server, dashboard and identity layer can all run on your own hardware. That gets you a self-hosted equivalent to Tailscale plus fine-grained access control lists.
For remote NAS streaming the mechanics are identical to Tailscale: install the client on the laptop, install on the NAS, the media server address becomes reachable. In our testing NetBird’s NAT traversal is on par with Tailscale on residential connections. The managed cloud has a free tier that is enough for a personal setup, so you can try it without standing up your own controller.
Where it falls short: the polish gap versus Tailscale is real if you use the managed offering, and the self-hosted install is a bigger commitment than most people want on top of running the media server itself.
Pricing: open source and free to self-host; managed free tier for personal use; Business at $5/user/mo.
Platforms: Windows, macOS, Linux, Android, iOS.
Download: netbird.io · GitHub
Bottom line: pick NetBird when you want the Tailscale experience with the coordination server under your own roof.
7. Cloudflare Tunnel, best zero-trust exposure without opening ports
Cloudflare Tunnel is the surprise pick. Instead of a VPN, it publishes a specific service on your NAS to the public internet through Cloudflare’s edge, with no inbound firewall rule and no port forwarding. Run the cloudflared daemon on the NAS, point it at your Jellyfin URL and hostname, and Jellyfin becomes available at jellyfin.yourdomain.com through Cloudflare, protected by Access policies you define (email domain, GitHub identity, Google Workspace).
We used it when the constraint was giving family members playback access without asking them to install a VPN client. It also works well for casting to a TV that cannot run Tailscale. Cloudflare’s free tier for Zero Trust covers up to 50 users, which is more than enough for a household.
Where it falls short: Cloudflare’s terms explicitly restrict long-form video streaming through the free tier for non-personal use, and heavy 4K remote playback for a large audience is likely to draw an email. For a personal library shared with a handful of family this has not been a problem in practice.
Pricing: free tier via Cloudflare Zero Trust (up to 50 users, personal use).
Platforms: Windows, macOS, Linux client daemon (cloudflared), no user-side install required.
Download: cloudflare.com · GitHub
Bottom line: pick Cloudflare Tunnel when you want playback to work from any device your family owns without asking them to install anything.
How to pick the right one
- If you want the closest thing to a free Plex: Jellyfin plus Tailscale. Fifteen minutes of setup, monthly cost of zero.
- If you already have a large SMB library and just want it to play: Kodi plus Tailscale. Skip the media server entirely.
- If Plex’s polish is what you are paying for: Emby plus Tailscale. Roughly the same UI quality at a fraction of the annual price.
- If you self-host on principle: Jellyfin plus NetBird self-hosted. Nothing in the stack depends on a third-party company.
- If you need family members with zero technical skills to watch: Jellyfin plus Cloudflare Tunnel. They open a link, they log in, it plays.
- If your library is scattered across your NAS and a few public catalogues: Stremio plus Tailscale. Unified guide, one interface, one search bar.
- If you tried Plex remote streaming and gave up when they paywalled it: any of the above. Every combination in this article gets you back to what Plex used to do for free.
FAQ
Is Jellyfin really as good as Plex for remote streaming?
For the playback experience, close enough that most people will not notice a difference after a week. What Plex still does better is the initial remote-access setup, because Plex operates its own relay infrastructure. Jellyfin needs you to add a mesh VPN or a tunnel, which is a one-time 15-minute job. After that, the streams themselves are identical.
Do I have to open ports on my router to stream from my NAS?
No, and you should not. A mesh VPN like Tailscale or NetBird gives your laptop a direct encrypted route to the NAS with no inbound firewall rule. Cloudflare Tunnel does the same job by having the NAS reach out to Cloudflare instead of accepting connections. Port forwarding a media server to the public internet is a routine way to end up in a botnet scanner’s report.
Will 4K work over a normal home internet upload?
It depends on the file. A 4K HEVC stream at 25 to 40 Mbps direct-plays fine over most fibre uploads and struggles over cable and DSL. If direct-play does not fit the pipe, Jellyfin or Emby will transcode down, which needs a capable server CPU. An Intel N100 or a Ryzen with iGPU handles one or two 4K transcodes easily. An older ARM NAS will not.
Is Cloudflare Tunnel legal for personal media streaming?
Cloudflare’s terms restrict serving long-form video through the free plan for commercial use and heavy public audiences. Personal use for your own household is fine in practice and is exactly the scenario Zero Trust Access is designed for. If your library gets popular enough that Cloudflare notices, you are past the point where a free service should be doing the work.
Can I use Tailscale and Cloudflare Tunnel together?
Yes, and it is a useful pattern. Tailscale for the devices you own (your laptop, your phone). Cloudflare Tunnel for the family members you do not want to install anything on. Both point at the same Jellyfin server. Access policies stay separate, so a compromised family email does not reach your admin panels.
Which combination is the cheapest?
Jellyfin plus Tailscale personal is free forever. Jellyfin plus a self-hosted NetBird is free forever with even less trust in third parties. If you already have a domain, Jellyfin plus Cloudflare Tunnel is also free. All three replace a Plex Pass lifetime with an evening of setup.