Basado en Kolson25/WebRTC-Multi-peer-video-Audio, este proyecto tiene como objetivo probar WEBRTC.
Puedes probarlo en topaz.h91.co
Para ejecutar el proyecto, simplemente copie Docker-Compose.yml en una carpeta y ejecute el siguiente comando:
docker-compose up -d
Para probarlo, debe ir a https: // localhost: 3000.
Asegúrese de usar SSL (a través de Reverse Proxy, por ejemplo) o no podrá obtener acceso a su cámara.
Para el desarrollo, utilicé ngrok, que es confiable para HTTP e incluso pruebas con personas remotas :-)
Puede copiar y configurar su propia config.json.dist. Por ahora, la configuración solo funciona con complementos de chat.
Para crear un complemento, deberá crear un archivo JS con la siguiente estructura:
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 )
} ,
} ;
} ;Soporte es una función utilizada para verificar si el complemento debe manipular el mensaje. Puede ser útil detectar que alguien ha sido citado, o si la cadena inicia/contiene algo.
Transform toma un nombre de usuario, avatar, mensaje y aplicará la transformación si admite devuelve verdadero. Puede usar el FormatResponse para devolver el buen formato o puede hacer manualmente usando la siguiente sintaxis:
{
"author" : " username " ,
"avatar" : {
"avatar" : " bear " ,
"color" : " red " ,
"image" : " <svg.../> "
},
"message" : " SOME MESSAGE "
}
Para habilitar un complemento, agrégalo al archivo _plugins.js: Ejemplo:
module . exports = {
me : "./plugins/me.js" ,
giphy : "./plugins/giphy.js" ,
pluginName : "./path/to/file.js"
}El nombre de pluginName se usa para recuperar la configuración que se almacena en config.json.
{
"plugins" : {
"giphy" : {
"api_key" : " GIPHY API KEY "
},
"pluginName" : {
"some_random_config" : " SOME_VALUE "
}
}
} El intercambio de pantalla está en el desarrollo temprano, para probarlo, comenzar una nueva pestaña en su navegador e ir a /screen.html Traté de fusionar ambos, pero me parece un poco complicado, porque no me siento confortado con JavaScript :).