1 概述
最近在調(diào)研一些開源的即時通訊方案,也許會后續(xù)更新一些新的使用測評。
2 vocechat
并不是完全的開源,似乎僅提供客戶端的代碼。文檔也僅是提供了部署和使用的說明庭瑰,開發(fā)源文件這些似乎并沒有介紹。
官方主頁 https://voce.chat/
優(yōu)點
- 體積小抢埋,部署快弹灭,網(wǎng)頁加載也迅速
- 滿足基本的通信需求
- 發(fā)文字(可通過markdown排版)
- 發(fā)文件(不限制格式)
- emoji
- 提供restful-API文檔,方便自己定制bot(和客戶端)
- 支持通過掛件SDK內(nèi)嵌到網(wǎng)頁揪垄,實現(xiàn)在別的網(wǎng)頁中嵌入聊天頻道(適合那種彈出式客服鲤屡?)
<!-- 將以下代碼放置于你的網(wǎng)頁中 -->
<script
data-host-id="1"
data-close-width="48"
data-close-height="48"
data-open-width="380"
data-open-height="680"
src="http://your.server.domin/widget.js"
async
/>
缺點
- 服務端不開源、提供bin文件
- 20用戶以下免費福侈、20-100用戶收費 $99 酒来、不限制用戶收費$499
- 對話同步性不佳,已刪除的信息有時會在新的客戶端刷新出來肪凛。(可能是我配置不對堰汉?
- 移動端app 難用辽社,不如網(wǎng)頁版輕便好用,但移動端網(wǎng)頁也存在適配問題
- 服務端數(shù)據(jù)管理不透明翘鸭,無法方便定位數(shù)據(jù)
3 nextcloud talk
基于開源的網(wǎng)盤應用nextcloud滴铅,代碼倉庫,可根據(jù)官網(wǎng)的介紹部署安裝
部署好網(wǎng)盤后就乓,可以在網(wǎng)盤的應用商店中方便的下載安裝即時通訊組件talk
優(yōu)點
Why is this so awesome?
?? Chat Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mentioning other participants.
?? Private, group, public and password protected calls! Invite someone, a whole group or send a public link to invite to a call.
?? Screen sharing! Share your screen with participants of your call. You just need to use Firefox version 66 (or newer), latest Edge or Chrome 72 (or newer, also possible using Chrome 49 with this Chrome extension).
?? Integration with other Nextcloud apps like Files, Calendar, User status, Dashboard, Flow, Contacts and Deck, with more to come.
?? We’re not reinventing the wheel! Based on the great simpleWebRTC library.
?? Sync with other chat solutions With Matterbridge being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.
缺點
- 基于網(wǎng)盤應用nextcloud, 單看即時通訊的話志衣,有些冗余
- 加載網(wǎng)頁js的速度較慢(對服務端帶寬要求高屯援,可通過架設CDN解決)
- 通話和視頻對用戶端的帶寬和CPU要求高
Talk works peer to peer, that is, each participant sends an end-to-end encrypted stream to every other participant and receives one stream per other participant. Bandwidth usage grows with the number of participants.
A single video stream currently uses about 1 Mbit/sec and the total required bandwidth can be calculated as follows:
1 Mbit/s * (participants - 1)
This means that in a call with 5 participants, each has to send and receive about 4 Mbit/sec. Given the asymmetric nature of most typical broadband connections, it's sending video that quickly becomes the bottleneck. Moreover, decoding all those video streams puts a big strain on the system of each participant.
To limit and CPU bandwidth usage, participants can disable video. This will drop the bandwidth use to audio only, about 50 kbit/sec (about 1/20th of the bandwidth of video), eliminating most decoding work. When all participants are on a fast network, a call with 20 people without video could be doable.