Основываясь на Kolson25/Webrtc-Multi-Peer-Video-Audio, этот проект направлен на то, чтобы попробовать WEBRTC.
Вы можете попробовать это на topaz.h91.co
Чтобы запустить проект, просто скопируйте Docker-compose.yml в папке и запустите следующую команду:
docker-compose up -d
Чтобы проверить это, вы должны перейти на https: // localhost: 3000.
Убедитесь, что вы используете SSL (например, через обратный прокси) или вы не сможете получить доступ к вашей камере.
Для разработки я использовал NGROK, что является надежным для HTTPS и даже тестирования с отдаленными людьми :-)
Вы можете скопировать и настроить свой собственный config.json.dist. На данный момент конфигурация работает только с плагинами чата.
Чтобы создать плагин, вам нужно будет создать файл JS со следующей структурой:
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 )
} ,
} ;
} ;Поддержки - это функция, используемая для проверки, должен ли плагин манипулировать сообщением. Может быть полезно определить, что кого -то цитировали, или если строка запускает/содержит что -то.
Transform принимает имя пользователя, аватар, сообщение и будет применять преобразование, если поддержка возвращает True. Вы можете использовать Formatresponse, чтобы вернуть хороший формат, или вы можете сделать вручную, используя следующий синтаксис:
{
"author" : " username " ,
"avatar" : {
"avatar" : " bear " ,
"color" : " red " ,
"image" : " <svg.../> "
},
"message" : " SOME MESSAGE "
}
Чтобы включить плагин добавить его в файл _plugins.js: Пример:
module . exports = {
me : "./plugins/me.js" ,
giphy : "./plugins/giphy.js" ,
pluginName : "./path/to/file.js"
}PluginName используется для получения конфигурации, которая хранится в config.json.
{
"plugins" : {
"giphy" : {
"api_key" : " GIPHY API KEY "
},
"pluginName" : {
"some_random_config" : " SOME_VALUE "
}
}
} Обмен экранами находится в раннем развитии, чтобы попробовать, запустить новую вкладку в вашем браузере и перейти к /screen.html Я попытался объединить оба, но кажется мне немного сложным, потому что я не чувствую конпортации с JavaScript :).