Chocobozzz / PeerTube

ActivityPub-federated video streaming platform using P2P directly in your web browser
https://joinpeertube.org/
GNU Affero General Public License v3.0
13.54k stars 1.56k forks source link

Client-Assisted YouTube Sync #6852

Open maltfield opened 1 month ago

maltfield commented 1 month ago

Describe the problem to be solved

YouTube's rollout of IP-based blocking and rate-limiting have broken the channel synchronization feature 99% of the time.

Many PeerTube instances find that their IP has already been blacklisted by YouTube. If it's not to start with, eventually it'll get rate-limited to the point that the synchronization feature doesn't work for the majority of the users.

Describe the solution you would like

The key to fixing this is to have more IP addresses downloading videos from YouTube. Fortunately, PeerTube has access to lots of IP addresses: its users!

This ticket is a feature request asking for instance admins to have access to a setting named "client YouTube synchronization," which (when enabled) will push PeerTube-instance-wide YouTube-synchronization tasks down to all of its clients.

As people watch videos on PeerTube, their browsers will (in the background) download videos from YouTube and upload them to the PeerTube server.

Ideally, downloads from YouTube will be done in parts and be spread across multiple clients -- just like PeerTube already works for viewing its own videos.

ProgramminCat commented 1 month ago

As people watch videos on PeerTube, their browsers will (in the background) download videos from YouTube and upload them to the PeerTube server.

There's a potential for this to be abused. I agree, but suggest verifying the video (through MD5 hashing or an alternative).