dyc3 / opentogethertube

Watch videos with your friends. The spiritual successor to TogetherTube, preserving the spirit of it's simple to use interface, while improving it's look, feel, and reliability.
https://opentogethertube.com
GNU Affero General Public License v3.0
405 stars 56 forks source link

Add video/voice chat #787

Open TheMychenik opened 1 year ago

TheMychenik commented 1 year ago

Is your feature request related to a problem? Please describe.

I like so much w2g.tv feature ability with cameras and mics so i think you can add it also to yours project

Describe the solution you'd like

Buttons for turning on video and mics (also disabling that feature in room settings) for mics should be great make two use way like in discord by button (if it possible) or voice, cameras i think very good done in w2g website they have default small size with fixed position in room users list and by individual button for every user you can take it to own floating "window"

Additional context

No response

dyc3 commented 1 year ago

This sounds like a lot of work for a feature that I don't think would get a lot of use.

I'll leave this issue open for now, because I'm curious if other people want this.

ArkShocer commented 1 year ago

I personally think that it won't get much usage for now. This is something that could be done to "round the project up" once more requested features like https://github.com/dyc3/opentogethertube/issues/246 or https://github.com/dyc3/opentogethertube/issues/758 are done.

rasos commented 1 year ago

This could be achieved by instantly creating a video conferencing room e.g. based on Jitsi software. We run a larger Jitsi deployment with several video bridges and we know from our users that they also use it for watching videos together.

Example:

A room https://opentogethertube.com/room/8b94e6f4-f9b3-4073-a4e5-cbd9c44cdbed could just open a Jitsi room with the same room UID https://fairmeeting.net/8b94e6f4-f9b3-4073-a4e5-cbd9c44cdbed (no further login required) or embed it via iFrame

<iframe allow="camera; microphone; fullscreen; display-capture; autoplay" src="https://fairmeeting.net/8b94e6f4-f9b3-4073-a4e5-cbd9c44cdbed" style="height: 100%; width: 100%; border: 0px;"></iframe>

dyc3 commented 1 year ago

Technically, that would work. However, I don't want to go that route because:

  1. It's another third party dependency, which introduces a lot of privacy and reliability concerns.
  2. Where are we gonna put the iframe? It's going to be very difficult to end up with a good user experience.
rasos commented 1 year ago

There are several other platforms that embed a Jitsi based service as their video conferencing tool (workadventure, nextcloud, OpenSlides, chatmosphere, ...). It is quite easy to host Jitsi for yourself, unless you expect hundreds of users in dozens rooms, then it may get a bit more complex as you need to add some jitsi video bridges.

Jitsi also offers an overlay mode, showing a small box on top of another window if you change the focus away from conferencing. So a very simple option could be to open the video conference in another tab, and the overlay will be on the video (and can be removed if annoying).

Probably there should be no default provider added, but just a setting to add a jitsi service URL. Those who would like to experiment with can try it and offer an add-on service for viewing together.

Kahlis commented 1 month ago

Not long time ago I used Livekit-SDK for a mobile app, it uses WebRTC for voice and video chat with low latency, can be self hosted (main reason why I'm suggesting it) or in their private cloud services. Maybe I can work on it soon. If so, I'll let you guys know in this feature request.