I have a decent amount of video footage that I’d like to share with friends and family. My first thought was Youtube, but this is all home videos that I really don’t want to share publicly.
A large portion of my video footage is 4k/60, so I’m ideally looking for a solution where I can send somebody a link, and it gives a “similar to Youtube” experience when they click on the link. And by “similar to Youtube,” I mean that the player automatically adjusts the video bitrate and resolution based on their internet speed. Trying to explain to extended family how to lower the bitrate if the video starts buffering isn’t really an option. It needs to “just work” as soon as the link is clicked; some of the individuals I’d like to share video with are very much not technically inclined.
I’d like to host it on my homelab, but my internet connection only has a 4Mbit upload, which is orders of magnitude lower than my video bitrate, so I’m assuming I would need to either use a 3rd-party video hosting service or set up a VPS with my hosting software of choice.
Any suggestions? I prefer open-source self-hosted software, but I’m willing to pay for convenience.
Note that for jellyfin (or any software) to reduce the bitrate it will have to transcode the video
Of course. Youtube and the like “pre-transcode” it so that would be one way for Jellyfin to better solve it, at the cost of a significant amount of disk space.
You can get an intel arc a310 for ~$90 and it has absolutely insane transcode performance, so depending on how large your library is it might even end up cheaper than buying more storage to just live-transcode everything.
Or if you have a 7th gen or newer Intel CPU with integrated graphics, those work great too. Support for 10 bit does require a later model CPU though.
I suspect the delay would still be longer than a Youtube like implementation which may need to switch transcodes multiple times, but that’s probably unrealistic at this point anyway.
Transcoding everything to AV1 could be a solution too, since high resolutions can look quite good at low bitrates, so you could limit it to 5mbps or 10mbps for any resolution and be done with it. But I’m not sure Jellyfin supports that, and at least from the UI it doesn’t give you particularly fine grained control over resolution/bitrates. Perhaps having a secondary library of just AV1 transcodes that you handle manually (perhaps even using a software encoder) could be an option for some.
The client side is also an issue, with not that many devices supporting hardware decoding (although I’ve found it’s fast enough in software with most modern smartphones at least).
Removed by mod