
Show HN: Nodetube – Open-source YouTube alternative with image and audio uploads - mayeaux
https://github.com/mayeaux/nodetube
======
chmod775
> Deploy to Heroku

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.

~~~
stareatgoats
Do you have a dedicated server provider you can recommend?

~~~
capableweb
Hetzner offers dedicated servers that basically have unrestricted traffic
amounts. You can see the pricing here: [https://www.hetzner.com/dedicated-
rootserver](https://www.hetzner.com/dedicated-rootserver)

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.

~~~
continuations
Would Hetzner be a good choice for hosting a site with mostly US-based
visitors?

If I got a 1Gbps Hetzner server would I be able to serve 1Gbps to the US?

~~~
chmod775
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?

~~~
continuations
So bandwidth from Hetzner to USA isn't any worse than to Europe? In both cases
you're getting about 500 Mbps for a 1 Gbps server?

> I should write a blog post about all this and more at some point. Maybe next
> year?

Please do. I'd be interested to read more about your experiences.

~~~
chmod775
> 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.

------
anon9001
It can't federate with peertube yet, but there's an issue open for it with the
author's support:
[https://github.com/mayeaux/nodetube/issues/32](https://github.com/mayeaux/nodetube/issues/32)

I think there's a good case to be made for multiple federated clients _and_
servers to ensure the health of the ecosystem.

~~~
mayeaux
Absolutely, since ActivityPub is becoming a W3C standard it makes sense for as
many social sites as possible to support it.

------
anderspitman
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?

~~~
redis_mlc
I'm involved with some large youtube channels and wanted to comment on why
Youtube works for content creators.

There's 3 reasons why they like Youtube:

1\. easy-to-use (free, no administration)

2\. discoverability, though large channels already have a built-in audience
that is self-viral!

3\. monetization, typically $1k - $5k/million views/month (eligible above
10,000 subscribers for acceptable content)

The downsides are:

1\. "copyrights", which are mostly Youtube takedowns (seldom DMCA)

2\. the sporadic nature of payments. You might get $0 next month, or $1000.
Very mysterious, so creators rely on Patreon to pay their rent.

3\. Occasionally your comments get disabled, related to "copyrights." Then you
have to manually re-enable, which is a hassle for hundreds of videos.

Oh, and your account could be deactivated at any time. :)

~~~
mayeaux
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.

~~~
LemonAndroid
I just uploaded porn. How will it be handled?

~~~
mayeaux
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.

~~~
LemonAndroid
I didn't.

Thanks for the reply.

~~~
mayeaux
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.

------
katzgrau
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.

~~~
mayeaux
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.

~~~
katzgrau
> 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.

~~~
mayeaux
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.

------
bavell
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!

~~~
mayeaux
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!

~~~
bavell
I'm looking forward to seeing the project's progress!

------
summitsummit
fyi: seconds after deploying this, my heroku account that I haven't used in a
year randomly got suspended with no details.

~~~
TazeTSchnitzel
Perhaps it's because you haven't used it and their system suspects someone
stole your details and wants to run a Bitcoin miner or something?

------
AnnoyingSwede
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/](https://nodetube.live/) will stay around, however
understand if you will need ads to make it work financially soon.

~~~
mayeaux
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](https://discord.gg/ejGah8H)

------
ALittleLight
Can you tell me if I'm understanding this right?

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.

~~~
mayeaux
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 ;)

------
hayksaakian
The More competition for YouTube the better.

The bigger question to answer: How do you appeal to viewers?

~~~
enitihas
The bigger question is how do you plan to foot the bill for serving videos at
that scale.

~~~
javajosh
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".)

~~~
zamadatix
Getting 1 video to a billion people is dead simple, getting a million videos
to 1,000 people is damn hard. YouTube serves both ends of the spectrum.

~~~
mayeaux
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.

Thanks guys!

~~~
detaro
> _people hate YouTube._

Do they? In my bubble, that's certainly a very uncommon sentiment from the
consumer side.

~~~
mayeaux
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.

~~~
filleduchaos
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".

------
lidHanteyk
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.

~~~
mayeaux
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!

------
whatsmyusername
You're using backblaze as a storage medium?

ex:
[https://f000.backblazeb2.com/file/fred12/anthony/PgIOufN.mp4](https://f000.backblazeb2.com/file/fred12/anthony/PgIOufN.mp4)

~~~
mayeaux
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.

------
gbraad
How is this different from PeerTube?

------
tyzerdak
How to del upload?

