[HN Gopher] Owncast is a self-hosted live video and web chat server
___________________________________________________________________
Owncast is a self-hosted live video and web chat server
Author : memorable
Score : 118 points
Date : 2022-06-20 14:07 UTC (8 hours ago)
(HTM) web link (owncast.online)
(TXT) w3m dump (owncast.online)
| throwaway81523 wrote:
| Can someone explain what makes this different from Jitsi,
| Nextcloud Chat, and other stuff of that sort? I get that this is
| a useful software category but it would be good to have a guide
| to what is what.
| sbarre wrote:
| I think the goal here is to have an out of the box "self-hosted
| Twitch" experience.
|
| Spin up their Docker container, connect it to a storage
| provider, and you're good to go.
|
| Jitsi and Nextcloud are video conferencing solutions if I'm not
| mistaken, this is livestreaming.. A bit of a different model,
| where only the broadcaster is sending out video, and everyone
| else is just watching and maybe using the (text-based) chat
| room.
| RektBoy wrote:
| foxhop wrote:
| This seems really cool, I like that it seems to be compatible
| with the existing twitch APIs in regards to webhooks for
| automation, not that I've ever used those cabibilities yet on
| twitch but knowing that the workflows could be written once &
| work both on twitch & owncast which means migrations are possible
| for even popular steam channels.
|
| I have half a mind to rig up an old phone to stream my garden &
| chickens 24/7 to an owncast server as a test.
| lelag wrote:
| The idea to self-host your own livestream is a great idea in
| theory but is unlikely to be economical in practice due to
| bandwidth cost.
|
| Even if you do manage to set everything properly on your own,
| with a CDN and all, it will become quickly expensive for a
| moderately popular streamer and the cost with scale up linearity
| with popularity (hence with your revenue).
|
| Assuming the following:
|
| - you are using AWS and CloudFront as CDN
|
| - your have 300 viewer on average
|
| - your viewer average bandwidth is 3 Mbits
|
| - you just stream a healthy 30 hours per week (pretty low for a
| popular Twitch streamer)
|
| CDN Bandwidth cost alone would hit 1000 USD per week. To put it
| another way, every viewer cost you 3 USD per week. Even with a
| generous community, that's not going to work out financial for
| most streamers.
|
| Self-hosting would only work for very small community allowing
| you to stay in the free tier of a cloud provider but that won't
| take you far.
|
| There is a reason Twitch is almost a monopoly and all powerful:
| it does not make economic sense to be elsewhere unfortunately.
| Sebguer wrote:
| > Twitch is almost a monopoly
|
| Calling it Twitch, rather than Amazon, makes it sound better.
| But really, it's Amazon that's the monopoly - and they're able
| to use their bandwidth pricing power to prevent anyone else
| (aside from other mega-scale cloud providers) from getting
| anywhere close.
| nsriv wrote:
| This is a great point that I wish was made more often.
| tracerfett wrote:
| jonathantf2 wrote:
| Why would you be hosting this on AWS? Host it on a normal cloud
| provider that doesn't rip off it's customers with bandwidth
| fees and you'll find it's quite affordable.
| eropple wrote:
| Cloudfront isn't a great option here, but CDN transit fees
| are still pretty high for this sort of scenario unless you
| have significant economies of scale.
| melony wrote:
| Your math is off by an order of magnitude. That pricing is for
| web apps. For streaming, look towards Bunny CDN and similar for
| wholesale pricing.
| bityard wrote:
| > you just stream a healthy 30 hours per week
|
| Unless streaming is somehow your job, I fail to see how that is
| even remotely healthy.
| looperhacks wrote:
| For many popular streamers it is indeed their job
| fragmede wrote:
| "somehow"... Twitch pays about $3.50 per 1,000 views to full-
| time streamers, starting somewhere around 500 regular
| viewers. Top end streamers make $5k/mo streaming 40 hrs a
| week. It's not SF senior dev money, but high-school me would
| think it's pretty cool to be making money "just" playing
| video games. (Instead I'm posting on HN for free.)
| bryans wrote:
| What you're describing isn't very realistic, since nobody would
| willingly choose the most expensive option(s) for transfer --
| and CDNs aren't even particularly useful for live video, as the
| minimal latency increase of using a single location is easily
| counteracted with larger buffers, all of which is already baked
| in to the protocols.
|
| Here's some counterpoint math including revenue, using even
| higher bitrates across a couple cheap load-balanced 4Gbps VPSs.
| For simplicity, I'll use a single average stream.
|
| Transfer: 300 avg. viewers * 6 hours * 5mbps = 4TB @ $0.01/GB =
| $40
|
| Revenue: 5,000 total views * 0.01 conversion * ($5 avg.
| contribution - processing) = $228
|
| That's a $188 margin self-hosted versus approximately $120 via
| Twitch mechanisms. Presuming 5 streams per week, Twitch is
| taking a $17,000/year commission. Twitch does provide some
| other functionality and very minimal discovery, but if you
| already have a dedicated audience, then self-hosting absolutely
| makes sense for any sized streamer, especially considering that
| you're not limited to streaming to only one platform.
| ryukafalz wrote:
| How about peer-to-peer delivery like with PeerTube? It
| introduces a 30s-1m delay, which may not be acceptable for some
| streamers, but in exchange the users watching also participate
| in distribution.
| Karrot_Kream wrote:
| A lot of the fun from live streaming is directly interacting
| with the streamer in chat. 30s-1m variable (I presume this is
| HLS torrenting?) latency would dash all the fun.
| vorpalhex wrote:
| I think a cheap streaming solution using bittorrent would be
| awesome. You would still need a beefy seed host but otherwise
| I'd love to something like that exist.
|
| For a lot of cases, 60s of latency is fine.
| ryukafalz wrote:
| This does exist, by the way: https://joinpeertube.org/
| idiotsecant wrote:
| For streaming I think a big part of the experience is
| 'chat' all seeing what each other are commenting on the
| thing that is happening right now, and the streamer's
| interaction with chat. Throw in a 30-60s delay that is
| variable depending on user and you destroy that element.
| vorpalhex wrote:
| It just depends. Obviously "Twitch plays X" sort of
| content where there is a lot of audience participation
| isn't great with that much delay, but there are a lot of
| streamers where chat is more reactive than suggestive and
| a delay there just doesn't matter much.
|
| You may want to add in an artificial delay to chat though
| so it's synchronized to the video.
| codemonkey-zeta wrote:
| On the other hand, it may be a _feature_ for some streamers:
|
| "Our service includes built-in stream-sniper protection by
| default!"
| jszymborski wrote:
| It'd likely involve a huge amount of latency, but any chance
| you can get a livestream working with torrent.js in the way
| PeerTube does? Maybe using HLS or something? Would certainly
| address some of the bandwidth concerns.
| oever wrote:
| Livecasters with a large audience could fund development of
| multicast support for Owncast.
| xiconfjs wrote:
| therefore renting a dedicated server from a provider with 100TB
| traffic included is still useful - there are many of them [1]
| around ~70EUR/month
|
| [1] https://www.google.com/search?q=100+tb+trafic+server
| candiodari wrote:
| Something like Hetzner will also work for 30 euro/month and
| certainly won't run out of bandwidth. Plus this isn't a great
| amount of traffic, getting a decent VPS should work fine.
| hdjjhhvvhga wrote:
| I think the times of EUR30/month are over, Hetzner is now a
| EUR40/month provider (unless you take some hardware from
| the auction - I did and it was mostly fine, but with much
| lower specs than their regular offering).
| lrae wrote:
| While I agree that it's not cheap, no idea why one would choose
| Cloudfront for live video which is pretty down there in the
| choices of a CDN for live video.
|
| With Bunny you'd be at what, not even a $100.
| fragmede wrote:
| > unlikely to be economical in practice
|
| > your have 300 viewer on average
|
| > a healthy 30 hours per week
|
| I get that live-streaming on twitch is a whole thing, but many
| streamers would be really happy to get 30, or even 3 viewers,
| and don't stream anywhere near 30 hours a week. If you have a
| _good_ home connection with a decent, no-cap upload, there 's
| no need to pay a cloud provider either.
| paulmd wrote:
| > If you have a good home connection with a decent, no-cap
| upload, there's no need to pay a cloud provider either.
|
| serving viewers directly from your home IP means they know
| your home IP, and there's definitely already trends both to
| fuck with streamers generally, and specifically in games to
| DDOS people and get them dropped from the game.
|
| Usually the mechanism for leaking IP data is voice chat
| (since that's often implemented via P2P because game
| companies are cheap) but you're talking about making your
| home IP available to everyone who connects to your stream.
|
| "Your computer is broadcasting an IP!" advertisements
| aside... there _are_ scenarios where that 's a problem,
| specific IPs can certainly be DDOSed off the internet and
| that means a streamer won't be able to stream anymore.
| idiotsecant wrote:
| I think the benefits that twitch provide go beyond just
| bandwidth. There might be enough bandwidth on a good home
| connection but onboarding users, building a community,
| getting sales to advertisers to support the service, etc are
| all core function that would be quite difficult for a sole
| provider to handle.
| LinuxBender wrote:
| That could be true, especially if one live streams 24/7. It
| might be a nifty proof of concept if they set up a live demo
| without a CDN on a bog-standard VPS provider like Linode,
| DigitalOcean, Vultr, etc... Does anyone here have this running
| in one of the VPS providers?
| mig39 wrote:
| Also interested to know this. How many people watching can a
| cheap VPS like Linode handle?
| crtasm wrote:
| Here's an instance running on Linode:
| https://live.retrostrange.com/
|
| List of instances: https://directory.owncast.online/
| LinuxBender wrote:
| Nice! What is the highest number of viewers you have ever
| seen on a stream at once?
| crtasm wrote:
| I just found it in the list, wonder the same.
| vel0city wrote:
| Running the numbers for 300 streamers at ~3Mbps each for ~30
| hours a week works out to 12,150,000MB. That value * 4 for
| about monthly bandwidth usage. For a s-4vcpu-8gb instance on
| DO, that's ~$436 monthly overage on a $40 monthly cost
| droplet. Not too insane, but you're really stressing out that
| single droplet. You'd probably want to balance that across a
| few different instances across the country instead of it all
| being on a single droplet, in which case you're essentially
| rolling your own probably crappier CDN and trading CDN costs
| for your time managing it all.
| thakoppno wrote:
| For ~300 streamers, wouldn't a single symmetrical fiber
| 1gbps line, like a residential AT&T install, basically
| cover it?
|
| The TOS prohibits it but I always figured it'd be fine so
| long as one didn't get too popular. I guess I'm wondering
| to what extent increased residential bandwith keeps CDN
| bandwidth cost in check.
| paulmd wrote:
| Streamers won't want to serve directly from their home IP
| because it makes them a DDOS target.
| thakoppno wrote:
| Ddos prevention never crossed my mind, good point. I
| don't spend much time in the gaming community. Who would
| be the most likely attacker, a competitor in the game
| trying to get an advantage? If so, thats kinda
| fascinating in a way. It's almost like a cyberwar
| scenario where the battlefield is virtual and physical.
| paulmd wrote:
| it's both, competitors in the game (or just trolls) have
| attacked random in-game players using IPs leaked from
| things like VOIP chat in games (which is often
| implemented P2P rather than running through the server)
| and people also specifically go after streamers to harass
| them.
|
| https://www.eurogamer.net/dead-by-daylight-streamers-are-
| bei...
| Karrot_Kream wrote:
| Other than the DoS attempts the sibling mentioned, the
| symmetric Gigabit on a home connection varies depending
| on congestion, and NAT mapping could change changing your
| IP causing the whole Livestream session to renegotiate.
| LinuxBender wrote:
| Agreed that was my thought process as well. One could spin
| up a few dozen instances, start the live stream and then
| nuke the instances. That should scale to however many
| viewers one has. I guess that begs the question does this
| application have the instrumentation or hooks that would
| make it super simple to scale up nodes on demand? Like an
| API to query number of viewers and their bandwidth settings
| to calculate required capacity.
| throwaway81523 wrote:
| I've livestreamed with ffmpeg and Icecast fanned out to a
| layer of cheap VPS and that worked ok. Yes there was enough
| lag to be annoying but not anything like 40 seconds.
| crtasm wrote:
| Other than preventing some viewers seeing a delayed feed, why
| do I need a CDN at all? This can run off a single server with a
| 1Gbps uplink... can't it?
|
| In any case there's plenty of people/organisations who run less
| regular streams and don't need to serve this many viewers.
| vorpalhex wrote:
| Latency and scaling, yeah. Depending on stream setting and
| encoding you might saturate hardware before bandwidth.
| password4321 wrote:
| I'd like to know what can be supported multiplexing through a
| Scaleway Stardust instance, "up to 100Mbps" unmetered for
| EUR2/month.
| pmontra wrote:
| Is this project affiliated or owned by Facebook / Meta? In the
| HTML source: <meta property="article:publisher"
| content="https://www.facebook.com/"
|
| Maybe a copy and paste leftover. I noticed it when I pasted the
| link in Telegram and the preview displayed the Facebook URL.
| jjice wrote:
| My guess would be that the default is to take a config car
| that's your Facebook link and append it to the end of that URL.
| But that's just a complete shot in the dark.
| [deleted]
___________________________________________________________________
(page generated 2022-06-20 23:01 UTC)