Basierend auf Kolson25/webrtc-multi-peer-video-Audio soll dieses Projekt WEBRTC ausprobieren.
Sie können es unter topaz.h91.co ausprobieren
Um das Projekt auszuführen, kopieren Sie einfach den Docker-compose.yml in einem Ordner und führen Sie den folgenden Befehl aus:
docker-compose up -d
Um es zu testen, müssen Sie zu https: // localhost: 3000 gehen.
Stellen Sie sicher, dass Sie SSL (z. B. über Reverse -Proxy) verwenden oder nicht in der Lage sind, Zugriff auf Ihre Kamera zu erhalten.
Für die Entwicklung habe ich NGROK verwendet, was für HTTPS zuverlässig ist und sogar mit Fernleuten getestet wird :-)
Sie können Ihre eigene config.json.dist kopieren und einrichten. Im Moment funktioniert die Konfiguration nur mit Chat -Plugins.
Um ein Plugin zu erstellen, müssen Sie eine JS -Datei mit der folgenden Struktur erstellen:
module . exports = function ( config , formatResponse ) {
return {
supports ( username , avatar , message ) {
// return true if the plugin should be used.
// for example : return message.startsWith("/hello")
return true
} ,
transform ( username , avatar , message ) {
if ( config . some_random_config == "SOME VALUE" ) {
console . log ( "do something" )
}
// should return a formatResponse in order to be processable.
return formatResponse ( message , avatar , message )
} ,
} ;
} ;Unterstützung ist eine Funktion, mit der das Plugin die Nachricht manipulieren soll. Es kann nützlich sein zu erkennen, dass jemand zitiert wurde oder wenn die Zeichenfolge beginnt/etwas enthält.
Transformation nimmt einen Benutzernamen, einen Avatar, eine Nachricht und wendet Transformation an, wenn die Unterstützung der Unterstützung true. Sie können das FormatRect verwenden, um das gute Format zurückzugeben, oder Sie können die folgende Syntax manuell durchführen:
{
"author" : " username " ,
"avatar" : {
"avatar" : " bear " ,
"color" : " red " ,
"image" : " <svg.../> "
},
"message" : " SOME MESSAGE "
}
Um ein Plugin zu aktivieren, fügen Sie es der Datei _plugins.js hinzu: Beispiel:
module . exports = {
me : "./plugins/me.js" ,
giphy : "./plugins/giphy.js" ,
pluginName : "./path/to/file.js"
}Der PluginName wird verwendet, um die Konfiguration abzurufen, die in config.json gespeichert ist.
{
"plugins" : {
"giphy" : {
"api_key" : " GIPHY API KEY "
},
"pluginName" : {
"some_random_config" : " SOME_VALUE "
}
}
} Der Bildschirmteilung ist in der frühen Entwicklung, um es auszuprobieren, einen neuen Registerkarte auf Ihrem Browser zu starten und zu /screen.html zu gehen.