They have a soft limit of 2TB traffic/month, so you're probably not gonna get very far on that platform.
I run a very high traffic site on a hobby budget and my experience is that you're probably not gonna get around shopping for dedicated servers. That is if you want 500TB - 1PB of traffic per month to be in any way affordable. Forget AWS, Heroku and all that stuff. They're roughly twenty times (literally) more expensive.
You could put a CDN in front of the static content (the videos are likely 99% of YouTube's bandwidth), and you could use Heroku for serving the few kilobytes of HTML.
> You could put a CDN in front of the static content
Most are still way more expensive than dedicated server traffic and "fixed price" CDNs like Cloudflare are going to give you the boot if you serve >100TB on their 20 bucks plan and/or a lot of larger files.
Thanks for the suggestion. Currently I am just running the hosting off of a Backblaze B2 account. It's still super cheap right now, if it ever gets expensive I will definitely look into a VPS or Dedicated Server, but hopefully there will be a pretty solid community around the NodeTube source at that point.
You could use WebTorrent which is P2P in the browser, the issue is exposing people's public IP addresses which I really don't like, so I would never run it in prod unless it was a user opt-in, but not a big priority for me at the moment.
Heroku has an ephemeral filesystem I'm not sure how you would really serve content from Heroku. Better is to use a service like BackBlaze to host. 2000 GB -> 20$/month using their service.
The amount of electricity on Earth is not unlimited so at the end of the day there is a literal limit to the amount of data that can be transferred but for the purposes of advertising the product it's fair to describe the bandwidth as unlimited since what we're trying to do is inform the customer so they can make a purchasing decision :)
This is what they write about their "unlimited traffic":
> Traffic usage is unlimited and free of charge. Please note that our unlimited traffic policy does not apply to servers that have the 10G uplink addon.
I have 3 Hetzner "1 Gbps" servers in my fleet right now, and my experience is that you're only going to get about 50% of that bandwidth reliably to any place in the world (I suspect they secretly capped me, considering how exactly each server keeps hovering around that number).
They're still a good deal at that price point though.
A server provider that delivered on exactly what they're selling has been online.net, though they ramped up their prices recently. When they sell you X Mbit/s amount of "premium" bandwidth, you're always going to get at least that. If you exceed it a lot they'll cap you to exactly that though. I used to have 8 dedicated servers with them at ~30 Euro/month (excl. taxes) each for a total of ~3Gbit/s bandwidth.
I've had some complaints about download speeds by users from NA when using German-based providers and significantly less complaints when using servers in France (i.e. online.net) or elsewhere west of Germany. I cap download speeds at 3MB/s per user anyways though.
Though beggars can't be choosers. I buy any cheap bandwidth offers I see.
Another thing to look out for if you're planning to saturate 1Ggbit/s is using SSDs and/or a good amount (>=32GB) of RAM. You'll probably not manage to do that if you have 1TB worth of files on a HDD and 8GB RAM for your OS's page cache. If you're planning to use SSL to serve stuff make sure your CPU isn't super old or an Intel Atom or something (I tried having a fleet of a lot of mini dedis once...).
I should write a blog post about all this and more at some point. Maybe next year?
> So bandwidth from Hetzner to USA isn't any worse than to Europe?
Europe is always going to be better by some margin.
And, as I said, I've had some complaints with German-based providers (like Hetzner) from users in NA. Not enough to be a serious consideration though when weighted against cost.
Hetzner is about 100ms from the US east coast, which is doable. Closer to 200-225ms from the US west coast, which takes quite a bit more effort to deliver a good user experience. You'd probably want a secondary west coast datacenter/CDN.
That said, architecting your application so that all the small, latency-sensitive data was served from a CDN and all the bulk data was served from Hetzner would be a good/affordable option.
The main advantage that keeps people using YouTube seems to be discoverability (and of course momentum). Would it be feasible to make a search engine that aggregates across YouTube and some of these alternatives to facilitate gradual transitioning, or are there technical/policy limitations to doing that?
Honestly though there's something to be said for an up and coming platform. I mean I just uploaded some stupid video of Bill Gates and it is on the way to 2k views on NodeTube right now, I think there is a first-adopters bonus to being the first to adopt a new platform. And I have some good plans for monetization as well, really the big issue is breaking the monopoly YouTube has. Maybe once that happens they'll actually not treat their creators like crap which would be a win in and of itself.
Did you see the comment I left? Porn is actually against the TOS, and this instance itself is going to be SFW only by the end of the night, just a heads up.
I don't mind if someone forks NodeTube and has a more permissive TOS but for this main node I want it to be pretty family friendly yknow just because it's really a proof of concept for the devs of the world at the moment a bit more than a filesharing site. And hey no problem.
Monetization is a big deal, but I've got to believe it would be cheaper to cut out the ad middle men. If I could pay $0.5/mo to each of the ~20 channels I'm subscribed to on YT, I'd totally consider that (if adblock wasn't already doing the trick). Are ads still a better deal for the creators in a scenario like that?
The goal here is to get enough of an OS community behind NodeTube that there are a lot of different sized instances out in the wild. At that point with ActivityPub the idea is to federate them and allow servers to index eachother's content, that's the vision at the moment.
Bing Videos already does something similar, where video results from a bunch of different sources are presented in their player, so you can get away with not actually knowing where your video is hosted.
I think the image and audio uploads are a good first attempt at differentiation, although it does open you up to competition from two other specialized giants (imgur, soundcloud), so now you've got a war on 3 fronts.
I'd instead focus on differentiation specific to video uploads to attract a niche of YouTube users.
YT is over 10 years old, so they've covered some major ground and solved many infrastructure problems that you haven't. They also have distribution via apps on pretty much every smart device. Between Vimeo and YT, video hosting is arguably a solved problem unless you can find a hard to replicate feature that they can't and is important to a niche of users.
Best of luck, but seriously consider whether you're passionate enough about this project that you will put in the effort to grow it to a point where you've found that niche and users are supporting it in some way to the point where it sufficiently covers your costs and time.
The response I've gotten to this project has been incredible, it just needs to get in front of enough eyes where the OS community behind it grows a bit and we get several instances up. The code is bomb, it will go viral with some eyeballs, I have no doubt about. Thanks for the warning but I know a deadend project when I see one and this isn't it lol.
NodeTube also has monetization, livestreaming, lots of epic stuff. Enough interest on Github and this thing will go to the moon in my opinion.
> it will go viral with some eyeballs... Enough interest on Github and this thing will go to the moon in my opinion.
I'm only offering this feedback as someone who has been down a similar path, and I sincerely hope for the success of the project. You're expecting or at least hoping for lightning to strike. Consider the case where if it doesn't and you need to move forward. It's the intellectually honest thing to do, and will cover the most likely scenario.
Yeah this is still a side project for me, I would only move to work on it full-time if it was already profitable/generating enough value for me that it would make sense. But I don't see myself giving this project up anytime soon I love it as a project too much and the world needs it. But thanks for the sober analysis I'll definitely take it to mind.
I love the idea and have been wanting a good OSS YT alternative for some time now. My initial impression from looking at the code and browsing the demo site is that this project is very much in it's infancy and has a long way to go before I'd consider running it in production as an admin or frequenting the site as a viewer. E.g. code smell, poor comment functionality, UX issues, minimal documentation and examples...
Something I think would help bring in contributors is an architectural diagram and/or blog post on how the subsystems fit together.
Best of luck to all involved, it won't be easy but it's certainly a worthy goal!
Hi bavell thanks for the feedback. The codebase itself is pretty robust in my opinion but the documentation it sparse at the moment, it's still very much in its infancy as an OS project, I mean a bunch of really cool features that are built in are not even mentioned at the moment because I haven't had time to get to it yet. So hopefully we can get that documentation to a point where developers feel happy to fork and join in the development, that is the big goal, but thanks for your feedback!
That is so bizarre, there is an old Coinhive implementation that I was testing out but it is totally commented out, I just sent a message to Heroku support I will get back to you super sorry to hear that that happened. That's crazy that Heroku is that strong-armed about this if that is the case, will let you know what I hear back.
Cool to see a youtube alternative. Registered and became the 60th user, however it seems a bit slashdotted already with upload of my first video hanging at 99%, "About" link gives internal error, profile picture not being able to upload. Like the initiative however, keep it coming and hope https://nodetube.live/ will stay around, however understand if you will need ads to make it work financially soon.
Thanks for the support! If you hop in the Discord I can take a look at some of those things with you, the profile pics not working is a known bug with the B2 implementation, meant to get it done yesterday but the site's been going pretty viral so have been mostly dealing with that. Here's the Discord link if you're interested thanks for the feedback! https://discord.gg/ejGah8H
Some people deploy their own Node Tube instances. Each instance has users (creators and viewers) and content (videos, images, comments, etc).
If so, how are NT instances joined together? How does discovery happen? Are users shared between instances? Do you have an about or summary page that answers these and other questions?
Really excited and glad to see YouTube competitors. I think there's a lot of opportunity there. Plus, I watched a video of Bill Gates jumping over a chair and it worked perfectly.
Currently NT instances are not joined together but that is a planned feature using the Fediverse and ActivityPub. Probably the best place to find info is the Github if you scroll down to features, or to ask me in the Discord (also linked on Github). The Readme is super incomplete missing a lot of information on a lot of features but I'll probably have a chance to take care of that tomorrow. Thanks for the interest and yeah that's a classic Bill Gates video had to upload it ;)
If everyone downloads once and serves twice, then you can reach every human in about 30 iterations.
If you want to prevent client storage because you want to create a repeated controllable attention resource, then you will have a scaling problem.
(It's too bad you can distribute everything as a torrent and give people an easy way to pay for the movie they just downloaded, even if it was just "on their honor".)
Really good points raised here guys. Here's my take on each point raised:
1) Appeal to viewers: it's slick, no clutter, really fun, and people hate YouTube. There's lots of appeal already just based on the reaction I've gotten posting it around a bit.
2) NodeTube has built in integration with Stripe where you can offer a 'plus' version of the site for $5/month. $5/month gets a LOT of hosting bang for your buck, so the bet is that your Plus subscriptions will outpace your hosting costs, I feel quite confident in that.
3) Regarding a video that may sit on the platform for a long time with zero views, my suggestion would be in that case since the file is serving the purposes more of being backed up rather than serving as content that you would prompt the user to pay a fee for using NodeTube as a 'backup service'. It seems harsh but if profitability is important to the project then you would remove those uploads that satisfy a condition that basically marks them as 'totally inactive, only using the platform as a content backup'. Interested to hear your guys thoughts on this concept.
My honest opinion is yes. Look at how disliked the Rewind videos are, or how much flack YouTube gets on Twitter. Susan Wojicki is not looked on with much fan fare.
My honest opinion is that that's an opinion that might have arisen in a bubble, considering that multiple, actually mature alternatives to YouTube exist and yet its content and userbase continue to grow at a frankly alarming rate. It's like how a lot of people on here seem so certain that Facebook is a dead platform that nobody sane uses and everybody hates, when its number of _daily_ active users ranks in the billions.
I think part of that is people not recognizing the difference between "I hate this platform, as in I will actually put my money where my mouth is and leave or boycott it at the slightest provocation" and "I hate this platform, as in I grumble about it because pretty much every hugely successful venture has everyone grumbling about one thing or the other, but my net feelings towards it are actually rather positive and I have no intentions of leaving it".
Even if you could sell ads as well as YouTube, you will neither have Google's scale or technological advantages, nor will you be able to survive on the same margin as YouTube. But off course, any YouTube competitor will most likely receive far less from ads than YouTube does (not counting things like facebook video here).
If we ever want to have a better YouTube alternative, I think the main question is would people be willing to pay a good amount of money for that service. Personally, I find the YouTube model better. Even though it tracks people, it atleast makes videos freely accessible to everyone. Would something like khan academy or OCW even exist without YouTube?.
However, I have observed that as one progress through the social ladder economically, the appetite for a paid but non tracking model grows.
Most individuals have gotten very accustomed to largely not paying (directly) for hosted content/email/etc.
This isn't universal. There are relatively niche sites that people pay to use, or at least have paid tiers. But free is what most people expect. (Look at all the outrage when SmugMug eliminated the 1TB free limit that Yahoo put on Flickr.)
My take is you go the freemium model. Free version of NodeTube gets you cool features, but if you want really epic features (livestreaming, increased file uploads, private/unlisted uploads) then you have to pay a bit. My bet is that people will get behind the project and pay a bit of extra money on a freemium model to access the extra features and support the NodeTube instance.
Honestly, I think a lot of creators are fed up with YouTube. Also creators like variety and the opportunity to leverage new platforms. I think new creators will really like the platform, also there is already automatic YT->NT backup functionality built into the app (as a Plus feature if I'm not mistaken)
Well, quite a few YouTube creators I know of seem to be willing to try new video hosting platforms, and have signed up for quite a few of the existing alternatives. So there's definitely interest there.
The real question is how you'll get a criticial mass of quality content creators, since while 10/100/1000/whatever could be persuaded to sign up to a new platform pretty easily, YouTube has tens or hundreds of thousands of great content creators on it. Also how to get them to prioritise the new platform over the old one, since many use these new platforma as a secondary one right now, not their first port of call for new content.
The biggest complaint I hear from popular YouTubers is that it is getting increasingly difficult to monetize their content. An easy way for content creators to monetize in whatever way they wish would be a huge draw. Most of the content creators I follow have turned to Patreon to reduce reliance on staying in Google's monetized good graces.
It's not an easy problem to solve. Viewers hate ads but also want "free" content. Making it possible for creators to monetize through ads, micropayments, or sponsorship is only part of the solution.
The ideal thing would be a way where you can load 'credits' onto your app and then reward them to creators, very similar to Sparks/Subs on Twitch. If you can get that into a media hosting platform you're golden.
What's privacy like? One of the big problems with Peertube is that participating peers can gather information on what you watch. Is Nodetube any better? Ideally, I would not need to let anybody else know which videos I'm watching.
Personally I would never implement WebTorrent on production because of that exact issue. If you wanted to have it turned off by default and then have a user opt-in that would be one thing but I would never have it on by default. NodeTube doesn't share your IP publicly it just serves videos from the server itself. Thanks for your input!
NodeTube has a really nice BackBlaze integration so I'm just using it for the purposes of this demo app atm. Even with the high traffic the site is experiencing right now it's incredibly inexpensive to use B2.
They have a soft limit of 2TB traffic/month, so you're probably not gonna get very far on that platform.
I run a very high traffic site on a hobby budget and my experience is that you're probably not gonna get around shopping for dedicated servers. That is if you want 500TB - 1PB of traffic per month to be in any way affordable. Forget AWS, Heroku and all that stuff. They're roughly twenty times (literally) more expensive.