Com base no kolson25/webrtc-multi-peer-video-audio, este projeto visa experimentar o WebRTC.
Você pode tentar em topaz.h91.co
Para executar o projeto, basta copiar o docker-compose.yml em uma pasta e executar o seguinte comando:
docker-compose up -d
Para testá -lo, você deve acessar https: // localhost: 3000.
Certifique -se de usar o SSL (via proxy reverso, por exemplo) ou não poderá obter acesso à sua câmera.
Para o desenvolvimento, usei o Ngrok, que é confiável para HTTPS e até testes com pessoas remotas :-)
Você pode copiar e configurar seu próprio config.json.dist. Por enquanto, a configuração funciona apenas com plugins de bate -papo.
Para criar um plug -in, você precisará criar um arquivo JS com a seguinte estrutura:
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 )
} ,
} ;
} ;Suporta é uma função usada para verificar se o plug -in deve manipular a mensagem. Pode ser útil detectar que alguém foi citado ou se a string iniciar/contiver alguma coisa.
Transform pega um nome de usuário, avatar, mensagem e aplicará transformação se suportar retornar true. Você pode usar a FormatResponse para retornar o bom formato ou fazer manualmente usar a seguinte sintaxe:
{
"author" : " username " ,
"avatar" : {
"avatar" : " bear " ,
"color" : " red " ,
"image" : " <svg.../> "
},
"message" : " SOME MESSAGE "
}
Para ativar um plug -in, adicione -o ao arquivo _plugins.js: Exemplo:
module . exports = {
me : "./plugins/me.js" ,
giphy : "./plugins/giphy.js" ,
pluginName : "./path/to/file.js"
}O nome do pluginname é usado para recuperar a configuração que é armazenada em config.json.
{
"plugins" : {
"giphy" : {
"api_key" : " GIPHY API KEY "
},
"pluginName" : {
"some_random_config" : " SOME_VALUE "
}
}
} O compartilhamento de tela está em desenvolvimento inicial, para tentar, inicie uma nova guia no seu navegador e vá para /screen.html , tentei mesclar os dois, mas parece um pouco complicado para mim, porque não me sinto confortável com o JavaScript :).