FreeTubeApp / FreeTube

An Open Source YouTube app for privacy
https://freetubeapp.io/
GNU Affero General Public License v3.0
13.37k stars 825 forks source link

[Feature Request]: Synchronized video watching #2619

Closed Gnorv closed 2 years ago

Gnorv commented 2 years ago

Guidelines

Problem Description

Watching a (youtube) video with other people remotely and trying to sync up video playback.

Proposed Solution

The website Sync Tube is an example of what I am imagining. People join a defined room/mode inside FreeTube via a link or UI element and from thereon everyone in the same room sees their videos synchronized. Including pausing, skipping, seeking. Using a shared playlist would be great as well.

Alternatives Considered

Alternatives to this would be

Issue Labels

new feature

Additional Information

No response

absidue commented 2 years ago

All of those synchronisation systems require a central server that knows what's going on at all times. As FreeTube runs locally on your device with the goal of being as private as possible, introducing a central server that tracks everything you are doing into the mix, goes against the whole principle of FreeTube. As there doesn't seem to be an easy to use solution that is also private, I'm going to close this feature request.

Gnorv commented 2 years ago

Is it true that there is no way of having one FreeTube user being the host, other joining the room? This would not require a central server. Host could give control privileges to other users, such as allowed to add videos, pausing and seeking. I am aware this is not a priority feature but I think the issue was closed prematurely.

absidue commented 2 years ago

Something like that would be possible but it would require you to open ports in your computer's firewall, setting up a static ip for your computer and setting up portforwarding on your router. Which is not something that most users of those features would want to do, especially as portforwarding exposes your computer to the internet, making it much easier to attack.

Gnorv commented 2 years ago

Is that what happens with tools like Hamachi or Syncthing? I used those without the steps you named but I am not knowledgeable about this topic. Maybe those programs do what you described automatically.

absidue commented 2 years ago

According to the Syncthing website their programms automatically talk to your router to setup portforwarding for you using UPnP. So basically it opens up that hole in your firewall for you, which doesn't seem like a particularly great thing security wise.

Simple. Syncthing doesn't need IP addresses or advanced configuration: it just works, over LAN and over the Internet. Every machine is identified by an ID. Give your ID to your friends, share a folder and watch: UPnP will do if you don't want to port forward or you don't know how. https://syncthing.net/

According to their website Hamachi uses central servers. https://vpn.net/security

Gnorv commented 2 years ago

Alright, I see the point. Thanks for clarifying.

hilburger commented 1 year ago

Hi! What about using OBS Studio with FreeTube as a source? You could even add webcam easily. Performance should work for 2-6 people easily.

zeratax commented 1 year ago

According to the Syncthing website their programms automatically talk to your router to setup portforwarding for you using UPnP. So basically it opens up that hole in your firewall for you, which doesn't seem like a particularly great thing security wise.

Simple. Syncthing doesn't need IP addresses or advanced configuration: it just works, over LAN and over the Internet. Every machine is identified by an ID. Give your ID to your friends, share a folder and watch: UPnP will do if you don't want to port forward or you don't know how. https://syncthing.net/

According to their website Hamachi uses central servers. https://vpn.net/security

just for clarification syncthing does not require any port forwarding. but if u do not port forward it still uses servers in between. lots of people host relay servers that tunnel the encrypted traffic. in that way no server knows what the actual traffic is and u get around the nat. but ofc there is metadata associated with that and there is currently (it's being replaced with a dht afaik) a central server that keeps track of the relay servers.