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.
Maybe Jellyfin, where I believe you can force a low bitrate for every remote client. It wouldn’t be “adjust to internet speed” but you could minimise buffering that way.
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.
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
I’m a big fan of Jellyfin. I run it at home with a dedicated Nvidia A2000 for hardware transcoding. It’s able to transcode multiple 4k streams with tonemapping faster than they can play.
As much as I’d love to use Jellyfin, there are two major issues: My internet connection is so slow, that I’d be lucky to stream 720p at a low bitrate. I’d spend the money on a faster connection, but I live in an area that doesn’t even get cell phone service. My options are DSL and Starlink, and I have both; the DSL is just slow, and Starlink uplink speed isn’t much better, plus I have plenty of obstructions that make it somewhat unreliable. The second problem is that Jellyfin has too steep of a learning curve. Telling my relatives “oh, if it starts buffering, just lower the bitrate” isn’t an option. Not to mention, I’d have to run it on a VPS, and hosting a VPS with the resources required for this is way too expensive for me.
Removed by mod
Have you considered keeping them on YouTube but unlisted, so that they don’t show up on your profile nor in youtube searches?
Otherwise, you could create a Google Photos album, but either quality suffers, or the videos will take a lot of space.
All the other options I could suggest either call for a recurrent payment, but trust me, it gets tedious after a while (ie. VPS with Peertube or similar), or call for losing quality by a lot (ie. Whatsapp or Telegram channels/groups), or quickly become unpractical (ie. Mega, Dropbox…)
There are plenty of choices, and if you’re 100% sure you’re fine with recurring payments and having to constantly mantain a system/keep it updated and secure, then go ahead and make a VPS, but if you’d rather have it be convenient, look into additional YouTube settings or common alternatives like Vimeo.
Yup, this is the answer - if they need to be able to open the video with just the link, there’s functionally no difference if it’s self-host or YouTube unlisted. Just a lot less effort.
Crazy idea, but if you can’t get the bandwidth to support a media server like Jellyfin or Emby where you live, what about placing a server at a trusted relatives or friends house that does have access to high bandwidth? You might need/want to help offset a better internet plan for them though. You could then setup a VPN connection to be able to manage the server remotely and sync files and media to it. You could even use it for off site backup.
I think bunny.net has something like that. Not self hosted but still much less distasteful than the big companies imho.