Video call integration/plugin?

Hi! I’m wondering if anyone has done or has thought about doing some sort of video call integration with Discourse? I saw that someone has asked about a feature like this before and others suggested either integrating with Skype or Mumble.

Are other people been interested in a feature like this? Are there any existing solutions? I’m just trying to get a sense if other communities are interested in this sort of feature and what any existing solutions are.

6 Likes

This would be super helpful on our site too. We feel the constant pull towards Slack, Discord, or similar so that we can call people from within the platform we use. That would vanish if we could do a one on one video call with the person we are PM’ing - or better yet a conference call with all who we are PM’ing.

3 Likes

I’m bringing this topic back up for a few reasons. :slight_smile:

I am extremely interested (and I’d like to assume a number of other people are too due to recent events).

5 Likes

Rocket.chat integrates jitsi into its chat functions. I could see something similar being done.
Jitsi is a open source video conference software you can host yourself: GitHub - jitsi/jitsi-meet: Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.

8 Likes

Is there a plugin for Google Duo integration? I couldn’t find anything by searching.

Is there an API that allows integration with Duo now?

The last time I checked Google wasn’t offering any means to integrate.

With Jitsi I think you’re basically just talking about an iframe at the most basic. Everything is rendered by the browser. Kind of an extended oneboxing.

It would be great for our community’s regular meetings, it could even be automated to create a new topic with a date/title/etc. from week to week and embed a unique meeting URL for each instance of the meeting.

5 Likes

I gave this a quick shot tonight and the result is this theme component that embeds the Jitsi Meet API in a Discourse post:

I recorded a quick screencast of the user-facing UI as well.

It’s quite simple and untested beyond my local dev site at this point. Also, it relies on a recent change to core in its CSP integration, if you try this in a Discourse instance that is not on the latest tests-passed commit, you might need to add https://meet.jit.si/external_api.js to your content security policy script src site setting.

27 Likes

This looks awesome! @pacharanero, do you think that we could use this?

3 Likes

Maybe. Coincidentally I was talking about Jitsi to Pavilion team on our chat earlier. It does look good.
I will investigate. It would be pretty damn handy for a few of my Discourses.

5 Likes

Combined with the events plugin, polls, and date/time and you have full international videoconferencing functionality. Cool.

5 Likes

Thank you @pmusaraj this seems to be just what I had in mind! We will try it out for our team over the next week or two.

:trophy: :star: :heart:

8 Likes

Amazing work. Now I can allow GSoC students/mentors to have videoconferences and keep with our “all comms must be public” rule!

4 Likes

Hi - just tested this. A great idea! A few issues encountered however:

  • Only I can see the placed video link in any post I create. Other users see rest of message, but not that link. Other users also cannot place Jitsi links of their own (the video icon is not shown in post editing controls). A possible cause might be I accidentally installed this theme component twice? The first time I did not apply it to current theme. The second time I did. Could this explain why other users not see embedded link? How can I uninstall an installed component? (and why is a double install even possible?)

    **** Edit - yes, the double install seems to have been the culprit. Got things working by ensuring the first installed version had no associated themes, which moved it into the ‘deactivated’ list (would still like a way to uninstall it though). I also toggled the second install to remove then add back in all themes it would associate to.*

  • A user trying to connect from home who works through his office VPN could not connect - apparently got an error message along the lines of ‘you need to use your own internet connection’ (I don’t have error details). I realize this is a Jitsi issue rather than a plugin issue - but what is a possible solution for VPN users?

  • I could not see any way to edit the displayed name or appearance of the embedded link - is this doable? Would be great if button could have a name descriptive of the purpose of the video meeting, to distinguish it from any others.

Especially if emailed Outlook/Google/iCal etc calendar invites could go to users who opt in to join video session on specific date

1 Like

We are halfway there with the Events plugin in that regard; they can insert it into their calendar themselves. I’d better go install the amazing custom wizard that @angus has crafted for us before pestering him about that though…

Yes, this is a Jitsi issue. The theme component defaults to using the free Jitsi server at meet.jit.si, but you can also roll your own server (see the Jitsi Meet quick install guide) and use that (see the theme component’s settings).

You can edit the generic name in the theme component’s translations. At the moment, you can’t add a name per button, although that would be a fairly easy feature to add. It makes sense to me, I will update the component and add that option.

1 Like

Even more amazing would be a way to select button style and colour, or even use a user submitted image as an icon - is this possible? Or does that fit into ‘give them an inch and they want to take a mile’ category?

It sure does :slight_smile:

Styling shouldn’t be part of this component, though. You can use SCSS to change button style and colour. You can target this button using the button.launch-jitsi selector.

The component can add an icon as part of the button that you can override in the theme settings, that is doable.

2 Likes

Cool - some ‘getting up to speed with scss’ homework for me :slightly_smiling_face: