レビュー:コミュニティにDiscord風のビデオとボイスルームを追加する 🎙

みなさん、こんにちは!Discourseに直接音声とビデオチャットルームを追加する新しいプラグインResenhaをご紹介します。外部アプリは不要で、サイドバーにピアツーピアのWebRTCを実装します。

ライブで試す

:point_right: https://discourse-on-a-pi5.falco.dev/

動作原理

サイドバーのルームをクリックして参加し、再度クリックして退出します。デフォルトでは、すべてのメディアはWebRTC経由でピアツーペアで送信され、Discourseサーバーはシグナリングのみを処理し、メディアは処理しません。大規模な通話が必要なサイトは、オプションでLiveKitメディアサーバー(LiveKit Cloudまたはセルフホスト)を介してルームをルーティングできます。インストール時にデフォルトの「ウォータークーラー」ルームが作成され、コミュニティはすぐに会話を開始できます。

機能

  • サイドバーファーストのUX — Discordスタイルのサイドバーに、アニメーション付きの発話インジケーター付きのルームとライブ参加者アバターを表示
  • ビデオと画面共有 — オプションのカメラビデオと画面/タブ共有、フルルームページ、タイル/プレゼンテーションレイアウト、フルスクリーン対応
  • 永続的な通話ウィジェット — フォラムを閲覧中に追随する、ドッキングされたリサイズ可能なミニ通話ウィジェット(ビデオを含む)
  • 音声とビデオ設定 — デバイス選択、ライブマイクテスト、入力感度ゲート、WebAssemblyノイズ抑制(DTLN)、MediaPipe背景ぼかし — すべてブラウザ内でローカル処理
  • ルームチャット — 各ルームに、リアルなDiscourseチャットチャンネルとスレッドをバックエンドとしたテキストチャット
  • ステージルーム — AMAやコミュニティ通話用の、スピーカー/オーディエンスルームと発言リクエストキュー
  • ルーム権限 — 公開、グループ制限、プライベートルーム、サイドバーのロックバッジ、投稿内のルームリンク用のルームハッシュタグ
  • 参加者制御 — ユーザー別音量、ミュート、ディフェン、キックのコンテキストメニュー、AFK自動ミュート/切断、自動ユーザーステータス
  • ルーム管理 — グループによるユーザールーム作成制限、スタッフCRUD UI、プログラム制御用の完全なREST API
  • デフォルトでゼロインフラ — DTLS-SRTP暗号化付き純粋なブラウザWebRTC、SFU/MCU不要
  • オプションのLiveKit統合 — 個別のルームをオプトインするか、大規模通話のためにLiveKit Cloudまたは独自のLiveKitサーバーを介してすべてをルーティング、管理者ヘルスパネルとWebベースの調整機能付き

ステータス

数週間前から内部会議で使用しており、小規模グループでは非常にうまく動作しています。大規模グループはLiveKitと併せてデプロイすることを検討すべきですが、最大10人の参加者までの通常サイズでは、デフォルトのメッシュ構成で非常にうまく動作します。

インストール

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/xfalcox/resenha.git

Admin > Settings > Plugins > resenha enabledで有効化します。

フィードバック歓迎

これは新しいプラグインです — バグ、アイデア、質問はすべてこのトピックで歓迎します。PRも歓迎です!


注:これは#official::tagプラグインではありません。

「いいね!」 56

レビュー、素晴らしい、大好きです、私の同胞よ、ありがとう

「いいね!」 12

インストールして約30分でセットアップが完了し、動作も順調なようです!いくつか機能の変更/追加を希望します。

機能 ステータス
ルーム名の変更 :cross_mark: 未実装
ルームの削除 :cross_mark: 未実装
デフォルトのルーム名の変更 :cross_mark: ハードコード済み
ルームとDiscourseカテゴリの関連付け :cross_mark: サポートされていません
ルームごとの権限設定 :cross_mark: サポートされていません
自動有効期限切れルームの作成 :cross_mark: サポートされていません
ルームの説明/トピック :cross_mark: サポートされていません
「いいね!」 10

これは素晴らしいです。アルファ版からリリースされた後、チームがこれを公式にする計画はありますか?

「いいね!」 7

現在、公式にする予定はありません。これは主に、この技術の可能性とDiscourseとの統合方法を探るためのものだからです。

とはいえ、他のすべてと同様に、お客様が何を望むかによります。

「いいね!」 9

これは素晴らしいですね、Falco!あなたがリストアップしたことについて、かなりの数の応用例が見えます。このようなフィーチャープラグインは、Discourse Metaを頼れるプラットフォームにするのに間違いなく役立ちます!

「いいね!」 4

新しい部屋を作成するオプションはどこにありますか?

これは実験的な技術プロジェクトであり、本番サイト向けの完成されたソリューションではないため、それに対応するUIはありません。

「いいね!」 2

今のところ#experimentalは必要ではないでしょうか?

クールなプラグインです

「いいね!」 3

これを数日間試していますが、素晴らしいです!!!

フォーラム/チャットのディスカッションを口頭での会話に簡単に「アップグレード」できるという問題を美しく解決してくれます。長年にわたり、他のプラットフォームに切り替える必要性や、リソースを大量に消費する(試みとしての)統合されたビデオ会議との間で苦労してきました。

もしさらに発展させることをお考えでしたら、チャットとの統合を望みます。チャットから直接、チャットのメンバーのためにプライベートな音声ルームを起動できれば(その後、きれいに整理して)、それはまさに素晴らしいでしょう。そして、チャットは追加のコメント、ファイル、リンクなどをドロップするための完璧な場所として残ります。

さらに望むこと(あれば最高です)は次のとおりです。

  1. ビデオのオプション(このような軽量な技術では技術的に不可能かもしれません)

  2. 関連トピックやチャットを統合するのに十分な賢さを持つAI文字起こし。これは会議の記録係として本当に驚異的でしょう。

「いいね!」 11

フィードバックありがとうございます!それがまさに私の目標でした!

間違いなく、それは論理的な次のステップであり、それをバックアップするためのエフェメラル(一時的な)ルームが用意されます。

SFU/MCUなしで、アップロードが十分な人向け、またはオプションでサポートを追加することで、どちらも十分に実現可能です。

「いいね!」 7

これは完璧でした。しばらくはアップデートしませんが、ESRがリリースされてこのプラグインを含める際に、2月に最後にアップデートする予定です。

とても楽しみにしていますし、実現することを願っています。

「いいね!」 2

「ウォータークーラー」チャットルームのアイコンを bottle-water に変更する可能性はありますか?

「いいね!」 3

ルームを管理するためのUIが新しく追加されました。

「いいね!」 10

Falcoさん、このプラグインをありがとうございます:heart:

素晴らしい仕事です: অনুগ্রহ করে

「いいね!」 1

本番環境でテスト中です。フィードバックを持って戻ります!レビューしましょう :brazil:

「いいね!」 1

このケースでは、リングの方が良いかもしれません。部屋の中にいて、自分のプロフィールまたは他の誰かのプロフィールをクリックすると、ホームページに戻ってDOMが更新されます。

Discourse Chatのケバブメニューパターンを使用した部屋の詳細画面が利用可能になりました

「いいね!」 2

デフォルトのテーマでは重ならないので、パディングのペースを調整するためにテーマを調整してみてはいかがでしょうか?

image

これは現在修正されました。

「いいね!」 3

最近のニュースを受け、プラグインに新しい機能を追加しました。AI駆動のノイズフィルターです。

管理者はサイト設定(デフォルト:オフ)で利用可能にでき、その後、ユーザーはボイスチャットルームで自分のユーザーをクリックすることでオプトインできます。

「いいね!」 6