デモ:https://chat.gise.at
ハッシュタグの後の文字は部屋を定義します。ハッシュタグが選択されていない場合、[部屋の作成]ダイアログが表示されます。
たとえば、https://chat.gise.at/#roulette-chatへのリンクを持つすべての訪問者は、部屋に入り、そこで互いに通信できます。
したがって、現在のURLを他のURLに招待するだけです。
このビデオチャットは、独自のWebサーバーにインストールするために行われます。シグナリングの場合、無料のFireBaseプロジェクトを使用するか、node.jsのチャットサーバーベースを使用できます。
ローカル開発環境にコードと依存関係を読み込みます。
git clone https://github.com/vgiselbrecht/gise-video-chat.git gise-video-chat
cd gise-video-chat
npm install
Linux
cp src/config.tmp.json src/config.json
cp src/assets/sass/_custom.tmp.scss src/assets/sass/_custom.scss
Windows
copy srcconfig.tmp.json srcconfig.json
copy srcassetssass_custom.tmp.scss srcassetssass_custom.scss
完全な構成は、src/config.jsonファイルで作成できます。
最も重要なことは、シグナリングの「交換サービス」です。 Node.jsベースチャットサーバーまたは無料のFireBaseプロジェクトを介して、信号には2つの方法があります。
「ExchangeServices/Service」では、チャットサーバー(チャットサーバー)またはFireBase(FireBase)が使用されているかどうかが指定されています。
チャットサーバーへの接続の場合、独自のサーバーにチャットサーバーをインストールする必要があります。 「ExchangeServices/Chat-Server/Host」では、このサーバーにWeb Socket URIを追加する必要があります。
{
"exchangeServices" : {
"service" : " chat-server " ,
"chat-server" : {
"host" : " wss://chat-server.example.com "
}
},
}匿名認証とリアルタイムデータベースを使用して、無料のFireBaseプロジェクトを作成する必要があります。 Firebase構成は、「ExchangeServices/Firebase」に預け入れる必要があります。
{
"exchangeServices" : {
"service" : " firebase " ,
"firebase" : {
"apiKey" : " " ,
"authDomain" : " " ,
"databaseURL" : " " ,
"projectId" : " " ,
"storageBucket" : " " ,
"messagingSenderId" : " " ,
"appId" : " " ,
"measurementId" : " "
}
},
}追加のスタン/ターンサーバーは、通信/webrtc/Iceserversに追加することもできます。いくつかのファイアウォールとNATの後ろにこのビデオチャットを使用するには、ターンサーバーが必要です。
無料のスタンとターンサーバーのリスト
特定のシステム(Twilioなど)では、アイセルバーが頻繁に変化する必要があります。したがって、IceServer構成を通信/webrtc/Iceserversfromurlで動的にロードすることができます。指定されたURLでは、ICESERVERSパラメーター([{"urls": ""}、...])と同じ方法でJSON形式のリターンが要求されます。
いくつかの機能は、インストールごとに個別にアクティブ化できます。
{
"meta" : {
"title" : " Video Chat " ,
"description" : " Open-Source video chat based on WebRTC and Firebase. " ,
"keywords" : " chat, webrtc, video-call, video-chat " ,
"image" : " "
},
"privacy" : {
"firebaseAnalytics" : 0 ,
"imprint" : " " ,
"gdpr" : " "
},
"exchangeServices" : {
"service" : " chat-server " ,
"chat-server" : {
"host" : " wss:// "
}
},
"communication" : {
"webrtc" : {
"iceServers" : [
{ "urls" : " stun:stun.services.mozilla.com " },
{ "urls" : " stun:stun.l.google.com:19302 " }
],
"iceServersFromUrl" : " "
}
},
"features" : {
"soundEffects" : false ,
"mutePartner" : true ,
"soundOffPartner" : true
}
}SASSデザインの適応をファイル「SRC/ASSETS/SASS/_CUSTOM.SCSS」に追加できます。最も簡単な方法は、ここで_settings.scssから変数を上書きすることです。このファイルは、更新後も残ります。
grunt deploy
DISTディレクトリからローカルWebサーバーのドキュメントルートにコンテンツを追加します。
grunt deploy --target=production
DistディレクトリからWebサーバーにコンテンツをコピーします。
grunt watch
プロジェクトファイルを保存した後、DISTディレクトリのコンパイルされたコードを変更します。理想的には、Distディレクトリは、NginxやApacheなどのローカルWebサーバーのドキュメントルートです。
Githubスポンサーを介して私を後援することができます。
認識として、私はスターを受け取ることを喜んでいます。
拡張機能の提案とプルリクエストはいつでも大歓迎です。
Apacheライセンス2.0