Hacker News new | ask | show | jobs
PeerTube 1.0: A decentralized video hosting network, based on libre software (joinpeertube.org)
64 points by varal7 2811 days ago
11 comments

I've been doing lots of research on video games and some other niche areas, it's staggering how much information is on YouTube and only on YouTube. There are millions of hours of super high quality user-generated content locked up in videos that can't be (or aren't) indexed properly, all of which are effectively owned and maintained by Google.

The number of alternatives to youtube is approximately zero. No one wants to upload to a new platform because it's a lot of work and you don't get paid for it (once you hit a certain number of YT views you start getting paid and there's real incentive there, you can potentially get relatively wealthy from it).

Perhaps peertube will be the solution, but I suspect we need something groundbreaking to conquer the monopoly here.

Censorship seems to be the main driving force behind users looking at other platforms at the moment. That being said, unfortunately, without the ad model, there's minimal incentives for users to fully migrate to other platforms like Patreon (for instance). If any new platform that wants to come online and compete, it will have to integrate the ad-model to provide any kind of real incentives for the users.
Patreon should become a supporter of PeerTube development when Youtube axes Patreon platform use entirely.
YT now has channel "memberships" built in that mimic Patreon. Since it is integrated into YT you get a streamlined perks platform along with a special icon noting you are a "member" of the channel when commenting.
Patreon is part of the SV mafia.. They're just as bad w/ arbitrary censorship.

Bitcoin is a better use case for PeerTube imo.

why/how would youtube axe Patreon platform use?
Using Youtube for Patreon videos, generating costs for YT that don't have a revenue/monetization component.

https://www.polygon.com/2017/9/28/16380186/youtube-patreon-d...

https://mashable.com/2017/09/28/youtube-outside-links-partne...

Patreon is also censoring.
It's a good point. I'm very interested in plans to allow recouping of network costs. I'm happy to store my videos on my home desktop or in the cloud somewhere; that's inexpensive. But if a million people want to download my videos in 4K someday? I can't afford to pay for that. Those downloaders might be willing to pay a few pennies each, though. An advertising network seems like the obvious but wrong solution. I wonder if there could be some standardized way of generifying payment for videos, so that users could plug in any combination of ad viewing, direct payments, or whatever as desired, so that the ecosystem around getting money out of viewers could develop independently from the ecosystem for providing content.
I think that you’re fundamentally describing BitTorrent, which allows very wide distribution of large files with very low bandwidth costs. If one’s only goal is hosting videos with minimal bandwidth usage, BitTorrent (and maybe a scheme to prioritize uploading to peers that upload more themselves) works perfectly, and there exist browser plugins to enable in-browser torrent streaming. The problem, of course, is that there’s no way to monetize that, but honestly the vast majority of YouTubers don’t make any money anyway.
That's kinda the whole point of PeerTube: the people watching your video also become peers in the WebTorrent swarm so no one party ends up eating 100% of the bandwidth cost. To use your example: if "if a million people want to download my videos in 4K" then you will have a LOT of peers in that swarm. The more peers in a swarm the less likely _any_ PeerTube instance will have to serve _any_ video content at all.

TLDR; popular videos are the most likely to have little-to-no bandwidth cost for the content creator/instance admins.

Ever heard about Brave or BAT? https://github.com/brave
Good media hosts with all the fixins like CDNs, multiple formats, etc. are much needed on the fediverse.

And iirc this project has been ongoing for at least a year, maybe more than two, so this isn't a rushed 1.0. Kudos for the persistence and contribution.

Another win for ActivityPub!

I don't think it's possible due to issue #1229. I know I shouldn't judge a project by it's closed issues but honestly I think the issue closure here has branded PeerTube as forever small fry in my mind

https://github.com/Chocobozzz/PeerTube/issues/1229

Chocobozzz didn't say that PeerTube will never support load balancing, just that -- for the issue you linked -- load balancing the transcoding engine is not a priority for the core dev team/doesn't promote their top-line goals of decentralization.

I'm sure they'd accept a well-written PR.

For context

> Sorry but peertube does not support load balancing. If you plan to have many users, you should consider creating different instances (to promote decentralization).

How I read this, whether correctly or not, was that it’s suggested you set up an entirely new server, new database, new domain, new storage (cluster?), etc instead of being able to grow out your one instance. So now any new users need to register and upload to server2.example.com because of “because decentralisation”

It’s just not feasible for the mainstream.

Please do correct me if I’m interpreting incorrectly

> How I read this, whether correctly or not, was that it’s suggested you set up an entirely new server, new database, new domain, new storage (cluster?), etc instead of being able to grow out your one instance.

I could see that interpretation. Personally, I read that as "if you need to load balance transcoding, that code won't be done by the core team (right now)". You can already use whatever Postgres/Redis/nginx setup you want, cluster/load-balance those how you desire, etc. Load balancing the transcoding engine for new uploads is simply a different beast.

> So now any new users need to register and upload to server2.example.com because of “because decentralisation”

The only scenario in which load balancing transcoding changes anything is if 1) a user is uploading videos to a specific instance and 2) that instance is busy transcoding videos that were uploaded previously. So if a user uploads a video to an instance where all the transcoding threads are already busy, it wouldn't be available until a thread freed up to transcode it.

> Please do correct me if I’m interpreting incorrectly

FWIW I'm not trying to put words in Chocobozzz's mouth, just my interpretation.

So close, but ug [0]. A worthy effort (one I might pursue myself) is a self contained binary (or installer if I have to) that runs on Windows, daemonizes/service-izes itself w/ built in web server, dyn DNS's itself or other NAT punch approach, etc.

A laudable first step to be sure, but to decentralize we need to target desktops. Many have them at home and are willing to leave them on all day, especially content creators. And it needs to be as easy to setup and non-desktop-invasive as possible. So sqlite instead of postgres? In mem instead of redis? Built-in web server instead of nginx? Windows instead of not-Windows? UI instead of a bunch of scripts? Bandwidth concerns, now we can talk about the value of BT or similar, but lots of content has few enough users to leverage a home connection.

Or we can meet in the middle, find a quality hosting reseller, and have a UI that internally deploys containers/content for them for a couple bucks a month.

0 - https://github.com/Chocobozzz/PeerTube/blob/develop/support/...

An omnibus Docker container is preferable, and could even be run from always-on home gateways and NAS devices instead of transient desktops.

Targeting desktops natively (and the development effort required) would be a bucket of sadness, and IMHO, a waste of time.

I like this project in it's concept, but I could never get the server to run properly.

I also have problems with the fact that the IPs of the watchers are publicly shared due to the nature of the beast (p2p sharing). I'd like something like this but where I could give the users the option of running directly off my server or p2p. Perhaps this is even possible and that I have not seen it yet.

It would be awesome if I could run my own "pod" with my let's plays and have it federated throughout the network. Currently I use google but without any form of monetisation as it's a hobby and I don't want to burden people with adds.

Knowing google though they probably show adds themselvs and/or penalise me in the search for not having the on.

With YouTube I have noticed more and more videos require "age verification" which means forced log in. Just turns me off to be honest. Because first of all, anyone can create an email address and sign up, including my teen kid. So no it is not an age verification but a tracking system. If I am at my moms or a friends and using YouTube I don't want to sign into their potentially compromised pc with my credentials(sadly no yubikey at this time). Plus my password is like 20 long and random generated so I have no chance of remembering it. So I get to these videos and I am blocked from watching it without putting in an effort so I clearly can be tracked. I wait for the day people ditch YouTube for peer tube and the few videos I have in mind to future create, will be straight to peer tube not YouTube. My motivations are to share my knowledge not make any money from it.

    anyone can create an email address and sign up
    including my teen kid

    my password is like 20 long and random generated
    so I have no chance of remembering it.
Solution: Ask your kid to set up a throwaway account for you. With an easy to remember password.
That does not address the tracking I have a problem with so not exactly a solution. Every time I use that throw away account on any pc I become connected forever to that pc in many data points. Youtube is getting plenty of data even if I use a throw away account. I would need to make a new throw away account, from a different ip address each time I wanted to do as you describe to avoid tracking so sometimes I just don't bother with the video.
This doesn't address your main point, but you might appreciate an easy workaround for this problem: access the video at

    /embed/$videoid
I prefer the DTube approach personally.

It instead uses the Steem blockchain for text content so it doesn't have the issue that ActivityPub or other federation protocols have where it needs to bootstrap to the largest instances, which is in effect partial centralisation.

Blockchain use also means that server costs are passively paid for due to block rewards which makes it scalable. Lastly content creators can get paid directly via cryptocurrency so it encourages much more content creation.

I was hopeful for something more normal user manageable, an .exe would've be nice :/
How do you search across all those instances?
IIRC You can search from any instance that's well-peered: https://instances.joinpeertube.org/instances
So what does this do that bitchute.com or d.tube doesn't do?
Is this going to be the new youtube for piracy?
Piracy, or other objectionable content, is not exclusive to P2P platforms. YouTube has moderation features and so does PeerTube. From the FAQ:

  Being free doesn’t mean being above the law! Each PeerTube hosting provider can decide on its own general conditions of use, abiding by their local laws.
  
  For example, in France, discriminatory content is prohibited and may be reported to the authorities. PeerTube allows users to report problematic videos, and each administrator must then apply its moderation in accordance with its terms and conditions and the law.
  
  The federation system, for its part, allows hosts to decide with whom they want to connect, depending on the types of content or the moderation policies of others.
Hopefully it becomes just the new Youtube.