What's up with "Plex Servers"?

https://sh.itjust.works/post/54482006

I mean, Kaity and I run a Jellyfin server for our family to access, as well as a couple of friends. But that’s about as public as it gets…
Sounds like a solid theory. Most are probably Jellyfin servers, but “I have a Jellyfin Guy” doesn’t have the same ring.

I run a Jellyfin server for anyone who has VPN access to my internal network.

However, there’s “plex server” posters with QR codes on them on telephone poles in my area, that seem to have a subscription portal you have to go through to get an account.

So there are definitely people attempting to make some money off of pirate plex servers.

yes but usually at the family and friends distribution level

first, id like to say.. fuck plex. friends dont let friends use plex.

that said, im the guy youre talkin about. i have a massive personal video library i push into a front-end that i share with friends and family.. even some coworkers.

the fact is, storage is very cheap now... throw in the very mature applications for obtaining/servicing the stuff stored therein it becomes trivial for guys like me to spread the wealth.

data hoarders like me are people that dont appreciate having to rely on other people for our shit.. streaming? only from our own servers. there are lots of us

friends dont let friends use plex

Emby and Jellyfin still don’t have Apple TV Apps. Many of us bought a Lifetime Plex Pass ages ago and it still does what it’s supposed to. Migrating / starting over with something else is quite an undertaking when what you already have is working fine.

storage is very cheap now

In what universe? I bought two refurbished 12TB enterprise HDDs for $80 USD each back in 2024. The same type of disks are now $250+ each.

Jellyfin still don’t have Apple TV Apps

I can heartily recommend Infuse for accessing both Plex and Jellyfin on Apple TV.

I do have Infuse and the pro subscription!

It’s not really a “first party” (for lack of a better term) solution so the UI is not consistent with the other apps.

Personally, I don’t really like Infuse’s UI arrangement and use it exclusively for content that has Dolby Atmos.

Many of my friends / family aren’t all that techy, usability is key and having access to that content through a single app / single name is pretty important.

Jellyfin does have Apple TV apps. Two.

im runnin 3 sets of 6x4TB. cheap.

i wouldnt use apple products if they paid me, so ya got me there

the fact is, storage is very cheap now…

Lmao maybe a year ago… Storage costs have skyrocketed recently.

I am that guy. I got pissed off that there was no way to buy all of the episodes of Good Eats legally. Next thing I knew, I had a dual xeon server and 60TB of hard drives. Of the 50 or so people using my server I think 6 have servers of their own.
Good Eats radicalized me too. Not for plex but for cooking.
How so
Alton Brown’s enthusiastic and educational way he did the cooking show helped bring home cooking to a lot of people. For me, we watched it in my middle school’s cooking class
Oh I see, thank you

Alton showed me a few things and taught me that if I was patient I could figure it out the rest of the way. That was almost 20 years ago. Now I happily share cooking duty with my wife.

I named a dog after him. It didn’t stick, and my daughter named the dog after a kid in class’s little brother, but the through was there.

Yeah, everyone in my family has cooked professionally for at least a few years. My wife’s family lived off of microwaved food. As I was teaching her that food could have flavor, she started asking questions about cooking that were easier to answer with a clip from good eats. Eventually, I went looking for a boxed set of it, and one hadn’t been released. So I spent the $600 I was willing to spend on it on a server.
Did you find a good source for good eats? The only one I found was low quality TV rips.
I grabbed the low quality complete rip, and have sonarr set to upgrade episodes. Even a decade later, I think I still have a few 480p/720p episodes.

I don’t do any of this stuff, but it’s really interesting to me.

Do you mean that sonarr is always looking for a better version of content you already have, and that over time your library gets upgraded? that’s pretty cool. Can you specify versions in your “shopping list”, like the special edition or director’s cut or even a VHScopy?

Generally it looks for a higher resolution. Sonar also has the ability to look for anything listed for a show in tvdb’s “specials”. That’s usually things like extended cuts of episodes, or interviews.
Interesting, thank you. sounds like a pretty well developed set of tools.
I spent forever looking for Mythbusters on DVDs, the only 2 DVDs I ever found were “collections” and not seasons. So weird they don’t want my money.

I’m a Plex server guy for friends and family, I have about a dozen users and maybe 3-4 at a time at the peaks. I charge nothing, it’s just a hobby. We’re out there.

I’d switch to Jellyfin but my users need transcoding and Plexamp is my favorite audio player since Winamp.

I’m a Jellyfin Server Guy, and same deal. Around a dozen friends & fam, no charge.

I’m not sure why needing transcoding would keep you off Jellyfin though, Jellyfin transcodes just fine.

How do you share it? I assume you don’t expose it to the Internet as is?
iirc you can set a username and password 
You can, but it’s also not a very hardened piece of software so relying on just that isn’t recommended.
I’m that guy as well, but can’t get family to use it. So when they complain they can’t steam something, I just ignore them. I do it for myself, they just get it because. But I’m not going to keep offering, fuck it. Go spend your money on shitty atreing services. I’ve got 7000 movies now and almost 300 series.
I’m specifically doing this to get family and friends to cancel their streaming subscriptions. Not to save them money, to hurt the corporations more than I can do just myself.
Can’t make someone do something they don’t want to, even if it benefits them financially. I stopped trying.

Wild to me that people are that stubborn. I am lucky that a friend gave my access to their server. I just feel bad asking for stuff even though they tell me all the time to ask for anything I want.

I offer to pay or buy some hard drive space but they say it’s okay.

Do you know if I can join more than one server? Do you guys think people will offer stuff like that? What do you guys think about IPTV people?

I’ve seen a few friends boast about their IPTV but as far as I’m co concerned the content is low quality and mostly filled with so much unnecessary content and the UI is very janky.

My Plex Guy (Jellyfin Guy, technically) made a discord bot for our server so we can request movies/shows and have them autodownload. I’m also constantly asking my family on my local server to suggest more movies. Don’t be afraid to ask your Guy for suggestions, we get a dopamine hit from it.
Doesn’t Jellyseer take care of this? It integrates with your arr stack and suggests content based on your views and media. You can set it to auto approve or wait for your ok. I just finished building me a server 2 weeks ago because my initial testing with an old laptop and Jellyfin went so well. Hooking up my parents this week (again, with better performance).
Do you have a link or some keywords I can use to look into this? I have heard of jellyfin before. Jellyfin server?

For me the journey started with this post from 2 years ago by @devidedbyzer0. lemmy.dbzer0.com/post/5911320

Things have changed a bit by now but it gives you a great complete all in one overview of how it all is connected together. One of the things changed is prowlarr instead of the suggested search tool.

Also I have set up a gluetun tunnel for Qbittorrent connected to airvpn. This requires a few tweaks to sonarr and radarr but not that hard (designate network service in your compose file and some port guiding)

If docker and docker compose all makes no sense to you first start there. Once you understand you can just have your stack up and running with just one text file of a couple of dozen lines, you’ll appreciate the whole thing and understand why ppl run it this way. I migrated my entire stack last week with only a few tweaks… It was a great experience.

If you need some tips let me know.

The complete guide to building your personal self hosted server for streaming and ad-blocking powered by Plex, Jellyfin, Adguard Home and Docker. - Divisions by zero

# The complete guide to building your personal self hosted server for streaming and ad-blocking. Captain’s note: This OC was originally posted in reddit [https://www.reddit.com/r/Piracy/comments/pqsomd/the_complete_guide_to_building_your_personal_self/] but it’s quality makes me wants to ensure a copy survices in lemmy as well. — We will setup the following applications in this guide: * Docker * AdguardHome - Adblocker for all your devices * Jellyfin/Plex - For watching the content you download * Qbittorrent - Torrent downloader * Jackett - Torrent indexers provider * Flaresolverr - For auto solving captcha in some of the indexers * Sonarr - *arr service for automatically downloading TV shows * Radarr - *arr service for movies * Readarr - *arr service for (audio)books * lidarr - *arr service for music * Bazarr - Automatically downloads subtitles for Sonarr and Radarr * Ombi/Overseer - For requesting movies and tv shows through Sonarr and Radarr * Heimdall - Dashboard for all the services so you don’t need to remember all the ports Once you are done, your dashboard will look something like this. Heimdall Dashboard [https://lemmy.dbzer0.com/pictrs/image/779256bf-4eae-48fa-a942-c960a3f556dc.png] I started building my setup after reading this guide https://www.reddit.com/r/Piracy/comments/ma1hlm/the_complete_guide_to_building_your_own_personal/ [https://www.reddit.com/r/Piracy/comments/ma1hlm/the_complete_guide_to_building_your_own_personal/]. ## Hardware You don’t need powerful hardware to set this up. I use a decade old computer, with the following hardware. Raspberry pi works fine. Hardware [https://lemmy.dbzer0.com/pictrs/image/07685cac-36d7-4270-b3a7-c156e232829c.png] ## Operating system I will be using Ubuntu server in this guide. You can select whatever linux distro you prefer. Download ubuntu server from https://ubuntu.com/download/server [https://ubuntu.com/download/server]. Create a bootable USB drive using rufus [https://rufus.ie/en/] or any other software(I prefer ventoy [https://www.ventoy.net/en/index.html]). Plug the usb on your computer, and select the usb drive from the boot menu and install ubuntu server. Follow the steps to install and configure ubuntu, and make sure to check “Install OpenSSH server”. Don’t install docker during the setup as the snap version is installed. Once installation finishes you can now reboot and connect to your machine remotely using ssh. ssh username@server-ip # username you selected during installation # Type ip a to find out the ip address of your server. Will be present against device like enp4s0 prefixed with 192.168. ## Create the directories for audiobooks, books, movies, music and tv. I keep all my media at ~/server/media. If you will be using multiple drives you can look up how to mount drives. We will be using hardlinks [https://trash-guides.info/Hardlinks/Hardlinks-and-Instant-Moves/] so once the torrents are downloaded they are linked to media directory as well as torrents directory without using double storage space. Read up the trash-guides [https://trash-guides.info/Hardlinks/Hardlinks-and-Instant-Moves/] to have a better understanding. mkdir ~/server mkdir ~/server/media # Media directory mkdir ~/server/torrents # Torrents # Creating the directories for torrents cd ~/server/torrents mkdir audiobooks books incomplete movies music tv cd ~/server/media mkdir audiobooks books movies music tv ## Installing docker and docker-compose Docker https://docs.docker.com/engine/install/ubuntu/ [https://docs.docker.com/engine/install/ubuntu/] # install packages to allow apt to use a repository over HTTPS sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release # Add Docker’s official GPG key: curl -fsSL https://download.docker.com/linux/ubuntu/gpg [https://download.docker.com/linux/ubuntu/gpg] | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # Setup the repository echo “deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu [https://download.docker.com/linux/ubuntu] $(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # Install Docker Engine sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io [http://containerd.io] # Add user to the docker group to run docker commands without requiring root sudo usermod -aG docker $(whoami) >Sign out by typing exit in the console and then ssh back in Docker compose https://docs.docker.com/compose/install/ [https://docs.docker.com/compose/install/] # Download the current stable release of Docker Compose sudo curl -L “https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$ [https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$](uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose # Apply executable permissions to the binary sudo chmod +x /usr/local/bin/docker-compose ## Creating the compose file for Adguard home First setup Adguard home in a new compose file. Docker compose uses a yml file. All of the files contain version and services object. Create a directory for keeping the compose files. mkdir ~/server/compose mkdir ~/server/compose/adguard-home vi ~/server/compose/adguard-home/docker-compose.yml Save the following content to the docker-compose.yml file. You can see here [https://hub.docker.com/r/adguard/adguardhome] what each port does. version: ‘3.3’ services: run: container_name: adguardhome restart: unless-stopped volumes: - ‘/home/${USER}/server/configs/adguardhome/workdir:/opt/adguardhome/work’ - ‘/home/${USER}/server/configs/adguardhome/confdir:/opt/adguardhome/conf’ ports: - ‘53:53/tcp’ - ‘53:53/udp’ - ‘67:67/udp’ - ‘68:68/udp’ - ‘68:68/tcp’ - ‘80:80/tcp’ - ‘443:443/tcp’ - ‘443:443/udp’ - ‘3000:3000/tcp’ image: adguard/adguardhome Save the file and start the container using the following command. docker-compose up -d Open up the Adguard home setup on YOUR_SERVER_IP:3000. Enable the default filter list from filters→DNS blocklist. You can then add custom filters. Filters [https://lemmy.dbzer0.com/pictrs/image/57e11e55-08b0-4b11-98e6-2f3b8d14be86.png] ## Creating the compose file for media-server ## Jackett Jackett is where you define all your torrent indexers. All the *arr apps use the tornzab feed provided by jackett to search torrents. There is now an *arr app called prowlarr that is meant to be the replacement for jackett. But the flaresolverr(used for auto solving captchas) support was added very recently and doesn’t work that well as compared to jackett, so I am still sticking with jackett for meantime. You can instead use prowlarr if none of your indexers use captcha. jackett: container_name: jackett image: linuxserver/jackett environment: - PUID=1000 - PGID=1000 - TZ=Asia/Kolkata volumes: - ‘/home/${USER}/server/configs/jackett:/config’ - ‘/home/${USER}/server/torrents:/downloads’ ports: - ‘9117:9117’ restart: unless-stopped prowlarr: container_name: prowlarr image: ‘hotio/prowlarr:testing’ ports: - ‘9696:9696’ environment: - PUID=1000 - PGID=1000 - TZ=Asia/Kolkata volumes: - ‘/home/${USER}/server/configs/prowlarr:/config’ restart: unless-stopped ## Sonarr - TV Sonarr is a TV show scheduling and searching download program. It will take a list of shows you enjoy, search via Jackett, and add them to the qbittorrent downloads queue. sonarr: container_name: sonarr image: linuxserver/sonarr environment: - PUID=1000 - PGID=1000 - TZ=Asia/Kolkata ports: - ‘8989:8989’ volumes: - ‘/home/${USER}/server/configs/sonarr:/config’ - ‘/home/${USER}/server:/data’ restart: unless-stopped ## Radarr - Movies Sonarr but for movies. radarr: container_name: radarr image: linuxserver/radarr environment: - PUID=1000 - PGID=1000 - TZ=Asia/Kolkata ports: - ‘7878:7878’ volumes: - ‘/home/${USER}/server/configs/radarr:/config’ - ‘/home/${USER}/server:/data’ restart: unless-stopped ## Lidarr - Music lidarr: container_name: lidarr image: ghcr.io/linuxserver/lidarr [http://ghcr.io/linuxserver/lidarr] environment: - PUID=1000 - PGID=1000 - TZ=Asia/Kolkata volumes: - ‘/home/${USER}/server/configs/liadarr:/config’ - ‘/home/${USER}/server:/data’ ports: - ‘8686:8686’ restart: unless-stopped ## Readarr - Books and AudioBooks # Notice the different port for the audiobook container readarr: container_name: readarr image: ‘hotio/readarr:nightly’ ports: - ‘8787:8787’ environment: - PUID=1000 - PGID=1000 - TZ=Asia/Kolkata volumes: - ‘/home/${USER}/server/configs/readarr:/config’ - ‘/home/${USER}/server:/data’ restart: unless-stopped readarr-audio-books: container_name: readarr-audio-books image: ‘hotio/readarr:nightly’ ports: - ‘8786:8787’ environment: - PUID=1000 - PGID=1000 - TZ=Asia/Kolkata volumes: - ‘/home/${USER}/server/configs/readarr-audio-books:/config’ - ‘/home/${USER}/server:/data’ restart: unless-stopped ## Bazarr - Subtitles bazarr: container_name: bazarr image: ghcr.io/linuxserver/bazarr [http://ghcr.io/linuxserver/bazarr] environment: - PUID=1000 - PGID=1000 - TZ=Asia/Kolkata volumes: - ‘/home/${USER}/server/configs/bazarr:/config’ - ‘/home/${USER}/server:/data’ ports: - ‘6767:6767’ restart: unless-stopped ## Jellyfin I personally only use jellyfin because it’s completely free. I still have plex installed because overseerr which is used to request movies and tv shows require plex. But that’s the only role plex has in my setup. I will talk about the devices section later on. For the media volume you only need to provide access to the /data/media directory instead of /data as jellyfin doesn’t need to know about the torrents. jellyfin: container_name: jellyfin image: ghcr.io/linuxserver/jellyfin [http://ghcr.io/linuxserver/jellyfin] environment: - PUID=1000 - PGID=1000 - TZ=Asia/Kolkata ports: - ‘8096:8096’ devices: - ‘/dev/dri/renderD128:/dev/dri/renderD128’ - ‘/dev/dri/card0:/dev/dri/card0’ volumes: - ‘/home/${USER}/server/configs/jellyfin:/config’ - ‘/home/${USER}/server/media:/data/media’ restart: unless-stopped plex: container_name: plex image: ghcr.io/linuxserver/plex [http://ghcr.io/linuxserver/plex] ports: - ‘32400:32400’ environment: - PUID=1000 - PGID=1000 - TZ=Asia/Kolkata - VERSION=docker volumes: - ‘/home/${USER}/server/configs/plex:/config’ - ‘/home/${USER}/server/media:/data/media’ devices: - ‘/dev/dri/renderD128:/dev/dri/renderD128’ - ‘/dev/dri/card0:/dev/dri/card0’ restart: unless-stopped ## Overseer/Ombi - Requesting Movies and TV shows I use both. You can use ombi only if you don’t plan to install plex. ombi: container_name: ombi image: ghcr.io/linuxserver/ombi [http://ghcr.io/linuxserver/ombi] environment: - PUID=1000 - PGID=1000 - TZ=Asia/Kolkata volumes: - ‘/home/${USER}/server/configs/ombi:/config’ ports: - ‘3579:3579’ restart: unless-stopped overseerr: container_name: overseerr image: ghcr.io/linuxserver/overseerr [http://ghcr.io/linuxserver/overseerr] environment: - PUID=1000 - PGID=1000 - TZ=Asia/Kolkata volumes: - ‘/home/${USER}/server/configs/overseerr:/config’ ports: - ‘5055:5055’ restart: unless-stopped ## Qbittorrent - Torrent downloader I use qflood [https://hotio.dev/containers/qflood/] container. Flood provides a nice UI and this image automatically manages the connection between qbittorrent and flood. Qbittorrent only needs access to torrent directory, and not the complete data directory. qflood: container_name: qflood image: hotio/qflood ports: - “8080:8080” - “3005:3000” environment: - PUID=1000 - PGID=1000 - UMASK=002 - TZ=Asia/Kolkata - FLOOD_AUTH=false volumes: - ‘/home/${USER}/server/configs/qflood:/config’ - ‘/home/${USER}/server/torrents:/data/torrents’ restart: unless-stopped ## Heimdall - Dashboard There are multiple dashboard applications but I use Heimdall. heimdall: container_name: heimdall image: ghcr.io/linuxserver/heimdall [http://ghcr.io/linuxserver/heimdall] environment: - PUID=1000 - PGID=1000 - TZ=Asia/Kolkata volumes: - ‘/home/${USER}/server/configs/heimdall:/config’ ports: - 8090:80 restart: unless-stopped ## Flaresolverr - Solves cloudflare captcha If your indexers use captcha, you will need flaresolverr for them. flaresolverr: container_name: flaresolverr image: ‘ghcr.io/flaresolverr/flaresolverr:latest [http://ghcr.io/flaresolverr/flaresolverr:latest]’ ports: - ‘8191:8191’ environment: - PUID=1000 - PGID=1000 - TZ=Asia/Kolkata restart: unless-stopped ## Transcoding As I mentioned in the jellyfin section there is a section in the conmpose file as “devices”. It is used for transcoding [https://en.wikipedia.org/wiki/Transcoding]. If you don’t include that section, whenever transcoding happens it will only use CPU. In order to utilise your gpu the devices must be passed on to the container. https://jellyfin.org/docs/general/administration/hardware-acceleration.html [https://jellyfin.org/docs/general/administration/hardware-acceleration.html] Read up this guide to setup hardware acceleration for your gpu. Generally, the devices are same for intel gpu transcoding. devices: - ‘/dev/dri/renderD128:/dev/dri/renderD128’ - ‘/dev/dri/card0:/dev/dri/card0’ To monitor the gpu usage install intel-gpu-tools sudo apt install intel-gpu-tools Now, create a compose file for media server. mkdir ~/server/compose/media-server vi ~/server/compose/media-server/docker-compose.yml And copy all the containers you want to use under services. Remember to add the version string just like adguard home compose file. ## Configuring the docker stack Start the containers using the same command we used to start the adguard home container. docker-compose up -d ## Jackett Navigate to YOUR_SERVER_IP:9117 Add a few indexers to jackett using the “add indexer” button. You can see the indexers I use in the image below. Indexers [https://lemmy.dbzer0.com/pictrs/image/6690e52f-a843-4551-ad66-04c2b34b889e.png] ## Qbittorrent Navigate to YOUR_SERVER_IP:8080 The default username is admin and password adminadmin. You can change the user and password by going to Tools → Options → WebUI Change “Default Save Path” in WebUI section to /data/torrents/ and “Keep incomplete torrents in” to /data/torrents/incomplete/ Create categories by right clicking on sidebar under category. Type category as TV and path as tv. Path needs to be same as the folder you created to store your media. Similarly for movies type Movies as category and path as movies. This will enable to automatically move the media to its correct folder. ## Sonarr Navigate to YOUR_SERVER_IP:8989 * Under “Download Clients” add qbittorrent. Enter the host as YOUR_SERVER_IP port as **8080,** and the username and password you used for qbittorrent. In category type TV (or whatever you selected as category name(not path) on qbittorent). Test the connection and then save. * Under indexers, for each indexer you added in Jackett * Click on add button * Select Torzab * Copy the tornzab feed for the indexer from jackett * Copy the api key from jackett * Select the categories you want * Test and save * Under general, define the root folder as /data/media/tv >Repeat this process for Radarr, Lidarr and readarr. Use /data/media/movies as root for Radarr and so on. >The setup for ombi/overseerr is super simple. Just hit the url and follow the on screen instructions. ## Bazarr Navigate to YOUR_SERVER_IP:6767 Go to settings and then sonarr. Enter the host as YOUR_SERVER_IP port as 8989. Copy the api key from sonarr settings→general. Similarly for radarr, enter the host as YOUR_SERVER_IP port as 7878. Copy the api key from radarr settings→general. ## Jellyfin Go to YOUR_SERVER_IP:8096 * Add all the libraries by selecting content type and then giving a name for that library. Select the particular library location from /data/media. Repeat this for movies, tv, music, books and audiobooks. * Go to dashboard→playback, and enable transcoding by selecting as VAAPI and enter the device as /dev/dri/renderD128 Monitor GPU usage while playing content using sudo intel_gpu_top ## Heimdall Navigate to YOUR_SERVER_IP:8090 Setup all the services you use so you don’t need to remember the ports like I showed in the first screenshot. ## Updating docker images With docker compose updates are very easy. * Navigate to the compose file directory ~/server/compose/media-server. * Then docker-compose pull to download the latest images. * And finally docker-compose up -d to use the latest images. * Remove old images by docker system prune -a ## What’s next * You can setup VPN if torrents are blocked by your ISP/Country. I wanted to keep this guide simple and I don’t use VPN for my server, so I have left out the VPN part. * You can read about port forwarding to access your server over the internet.

Good tutorial. Would love to see one on how to use it over I2P for anonymous torrenting.
True that. I don’t pressure them into it.
I love wireguard for this. If they can’t get that working, then no jellyfin for them. Filters out the PEBKAC people wonderfully.
Thanks for introducing me to PEBKAC, great term.
I just learned the expression “layer 8 problem”
Does Jellyfin not do transcoding? I’ve been using it with transcoding for almost two years, so if it doesn’t, man that’s gonna be quite the shock.
I dunno, maybe it didn’t when I was first setting up my server a few years back. It doesn’t have Plexamp though and that’s a deal breaker.
It has finamp though right

Doesn’t have the excellent Plexamp automix nor ability to add all my friends shares to my radio stations.

I appreciate the efforts but I’m very happy with my current setup.

By radio are you referring to proxying internet radio streams, rebroadcasting OTA using an SDR, or an endless playlist stream?
None of the above. Algorithmically generated playlists based off song/album/artist, decades, genres, top rated tracks, etc. including intelligent auto mixing based on key/BPM with crossfading, and ability to choose tracks not only from your own libraries, but from all libraries shared with you.
It definitely does do transcoding.

I’ve been wondering about this, how does hiding the activity from your ISP, as well as the ISP of the person streaming from your server, work?

I have friends I’d like to share my library with but am always nervous about the risk.

Why would that matter? It just looks like HTTPS traffic if you set it up right. And even if they fingerprint it as Plex, they can’t see what exactly is playing. Yes, my Plex library only has public domain content of course.
Https traffic will be enough to hide your streaming activity. They’ll be able to see that you’re streaming something based off of the traffic patterns, but won’t be able to see what specifically is being streamed.

With P2P file sharing, your client is sharing the files with random people on the internet and you’re identified by your IP address (or a VPN IP address / seedbox IP address / etc). MPAA hires companies to check for popular content and log the IP address, time, and content shared, and then sends that to the ISP. The risk and issue is sharing content with anyone randomly, since that is how your ISP is informed of the activity.

With media servers, unless you’re somehow sharing publicly, it’s safe to assume your members aren’t going to report you to your ISP. I guess in theory the ISP could see high upload bandwidth and investigate, but more likely than not, if there are limits, automated systems will just throttle the bandwidth, and no deep packet inspection or other forensics is performed.

I’m transcoding on a HD770 without an issue on jellyfin.

👋

Most of us run systems for friends, family, even a few coworkers; but there are those out there that sell access to their systems to anyone wiling to pay. This is explicitly forbidden by the TOS of Plex/Emby, and I’m pretty sure Jellyfin as well (haven’t checked that one), but it still happens.

There’s even tools like Ombi to automatically manage and retrieve requests for users.

[email protected]

Ombi - Media Request System

Jellyfin doesn’t have a TOS, it’s open source license allows using the software in any way you want
Well that answers that question. Thanks :)