Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I am curious to know about the infra / tech stack, if you're comfortable with sharing any information.


Sure.

As @diminoten mentions, legality is questionable here, so I do not recommend. If you do dabble, restrict access, and encrypt everything so that if you lose your keys, they only option is to destroy the stack and start over.

Cloud provider of your choice

Plex media server running on a high-throughput instance, with cloud storage mounted locally for reading. (Redundantly created in multiple regions depending on where the service is being accessed from)

A separate master instance responsible for downloading content from a private torrent site, with cloud storage mounted locally for writing.

Multiple on-demand background workers that are spun up when new content is available to be reformatted in various resolutions. They pull the original video from cloud storage, create various versions, and re-upload it to the cloud storage.

The largest cost is in data usage, and storage.

@diminoten Not sure what I did to "oversell" it. I used off-the-shelf tech components, and some cloud-enginuity from experience, to build a proof-of-concept competitor. I didn't build the entire interface from scratch, or write my own OS, if that's what it sounded like.


Interesting, thanks for sharing!

Do you think it would be viable using a pool of 'a few' residential connections (think fiber >500 Mbps upload) in each region, with some x86 server behind each to transcode / store?

The idea being to self-host the whole infra between users themselves, those willing to plug a desktop/server somewhere.

I figure you'd only need a basic load balancer in an actual cloud (always on) which redirects to whichever server is available enough.

Any thought about any of this?


How many users were trying to support simultaneously? I can stream maybe four or five streams at various levels of real time transcoding on my Core I3. But I do have about 900Mbps up.


$400/month and multiple cloud instances sounds like overkill though. The same could probably be achieved with a Raspberry Pi or Intel NUC on your home network. Maybe an RPi wouldn't be great for multiple reencodings, but I don't think that's really needed. How often do you really want to watch low resolution TV-series on your mobile data connection?

One feature I haven't seen on any commercial service is the ability to integrate with your IMDb watchlist, and automatically download "Linux ISOs" when they become available.


Transcoding video won't work on a Raspi (in any realistic sense), and video streaming is pretty I/O intensive if you have multiple clients.

You can certainly get a similar thing working on a Raspi, but you'll likely notice buffering issues. Especially if you try to stream different content to different clients.


Keep the hot stuff on a nvme.

Your archive on bigger drives next to it. Problem solved.

If that's not enough use zfs with a nvme cache and add a few more sticks of ram I to it.


Mine has been happily running on a Synology 1019+ NAS. It has hardware encoding and can support multiple 4k streams.


You can rent a Hetzner server for ~€25 bucks (has local storage and a good Intel CPU for live transcoding streams if needed), get infinite cloud storage for ~€10 and Plex Pass for ~€5 bucks. Add in a private domain for ~€5 per year and you're done.

Total cost ~€40.50 per month. Hetzner gives you infinite ingress and a few TB egress bandwidth per month. As long as you only give access to your box to family/close friends you'll never hit that cap. And all they need is a Plex account. Then you just invite them and the setup is done, zero technical finnicking for them.


You could run it off of a laptop sitting in your closet and be able to support 3-5 simultaneous users no problem. It'd be a benefit if you had 1GBPS symmetric fiber, though.

But yeah, RPi is rough because you do need legit CPU to transcode on the fly, which is what Plex does, and the more users the more transcoding power you need.


It's possible to cache Plex encodes, I think.

But Plex is very limited in its encoding capabilities. H265 with HDR is just not supported properly. On top of that, there is just no way to encode H265 in real time (a high quality reencode of a Bluray can take days on top of the line Xeon CPUs). One would be better off downloading a few versions of the same movie; plex supports choosing which version to play.


Why should I care about any of that? I just want to watch 30 Rock, not run an A/V store.


Flexget, flexget.com, can help with the ability to download your IMDB watchlist.


He's (possibly) overselling his accomplishment here a little bit. You can achieve what he's describing using a combination of Plex, Sonarr, Jackett, and a private torrent site. You also need a torrent client that can work with Sonarr (Synology's torrent client works great in "watch this directory" mode).

It's a truly self-running system. Other than the upgrades, you're able to select whatever shows you want to follow, and that's it. They automatically get downloaded, sorted into the right directory structure, picked up by Plex, and on-demand streaming around the world is yours, with all kinds of cool features like bandwidth optimization, offline show downloads, etc. More or less feature parity with Netflix, without any of the restrictions.

Of course it's 100% illegal, though honestly I've never heard of a prosecuted case in the US.


Anyone want a docker compose file?

Would take about 30 minutes to actually get everything up if you have most of an idea of what to do and a sloppily written guide.


Sure, post a GitHub/Gitlab link.





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: