Berdasarkan KOLSON25/WEBRTC-MULTI-PEER-Video-Audio, proyek ini bertujuan untuk mencoba WEBRTC.
Anda dapat mencobanya di topaz.h91.co
Untuk menjalankan proyek, cukup salin compose docker.yml dalam folder dan jalankan perintah berikut:
docker-compose up -d
Untuk mengujinya, Anda harus pergi ke https: // localhost: 3000.
Pastikan Anda menggunakan SSL (melalui proxy terbalik misalnya) atau Anda tidak akan bisa mendapatkan akses ke kamera Anda.
Untuk pengembangan saya menggunakan NGROK yang dapat diandalkan untuk HTTPS dan bahkan pengujian dengan orang-orang jarak jauh :-)
Anda dapat menyalin dan mengatur config.json.dist Anda sendiri. Untuk saat ini, konfigurasi hanya berfungsi dengan plugin obrolan.
Untuk membuat plugin, Anda harus membuat file JS dengan struktur berikut:
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 )
} ,
} ;
} ;Dukungan adalah fungsi yang digunakan untuk memeriksa apakah plugin harus memanipulasi pesan. Dapat bermanfaat untuk mendeteksi bahwa seseorang telah dikutip, atau jika string dimulai/berisi sesuatu.
Transform mengambil nama pengguna, avatar, pesan dan akan menerapkan transformasi jika dukungan mengembalikan true. Anda dapat menggunakan FormatRespons untuk mengembalikan format yang baik atau Anda dapat melakukannya secara manual menggunakan sintaks berikut:
{
"author" : " username " ,
"avatar" : {
"avatar" : " bear " ,
"color" : " red " ,
"image" : " <svg.../> "
},
"message" : " SOME MESSAGE "
}
Untuk mengaktifkan plugin menambahkannya ke file _plugins.js: Contoh:
module . exports = {
me : "./plugins/me.js" ,
giphy : "./plugins/giphy.js" ,
pluginName : "./path/to/file.js"
}PluginName digunakan untuk mengambil konfigurasi yang disimpan di config.json.
{
"plugins" : {
"giphy" : {
"api_key" : " GIPHY API KEY "
},
"pluginName" : {
"some_random_config" : " SOME_VALUE "
}
}
} Berbagi layar sedang dalam pengembangan awal, untuk mencobanya, memulai tab baru di browser Anda dan pergi ke /screen.html saya mencoba menggabungkan keduanya, tetapi tampaknya sedikit rumit bagi saya, karena saya tidak merasa bingung dengan Javascript :).