Nextcloud Talk
用于 Nextcloud 的视频和音频会议应用程序
为什么这么厉害?
- 聊天集成! Nextcloud Talk 提供了一个简单的文本聊天功能,使您可以共享 Nextcloud 中的文件并提及其他参与者。
- 私人,团体,公共和密码保护电话! 邀请某人、整个群组或发送公共链接以邀请参加电话。
- 电脑屏幕共享! 与通话参与者共享屏幕。 您只需要在此 Chrome 扩展程序中使用 Firefox 版本52(或更高版本),最新的 Edge 或 Chrome 49(或更高版本)。
- 与其他 Nextcloud 应用程序(如文件,联系人和 Deck)的集成,还有更多功能。
- 我们不会重新发明轮子! 基于强大的 simpleWebRTC 库。
并在即将推出的版本中工作:
- 联合通话(Federated calls),以呼叫其他 Nextcloud 上的人员。
如果您有任何建议或问题,请提出一个问题或直接做出贡献:)
支持的浏览器
浏览器 | 兼容性 |
---|---|
Firefox | ![]() |
Chrome/Chromium | ![]() |
Edge | ![]() ![]() ![]() |
Safari | ![]() ![]() ![]() |
生产环境安装
Nextcloud Talk 真的很容易安装。您只需要从Nextcloud App Store启用该应用程序,一切就可以使用。
在某些情况下(使用严格防火墙/对称NAT的用户),需要TURN服务器。安装起来比较麻烦。您可以在我们的文档中找到说明,Nextcloud VM 背后的团队已经开发了一个脚本,可以为您处理所有事情(vm-talk.sh)。该脚本已在 Ubuntu Server 18.04 上进行了测试,但也应在 16.04 上运行。请记住,它是专门为 VM 开发的,任何问题都应在该存储库中报告,而不是在此处。
这里有一个关于如何做到这一点的短片。
可扩展性
Talk 是点对点工作的,即每个参与者向每个其他参与者发送端到端加密流,并为每个其他参与者接收一个流。带宽使用量随着参与者的数量而增长。
单个视频流当前使用大约 1 Mbit/sec,可以如下计算所需的总带宽:
1 Mbit/s * (participants - 1)
这意味着在有5个参与者的呼叫中,每个参与者必须发送和接收大约 4 Mbit/sec。考虑到大多数典型宽带连接的不对称性,它发送的视频迅速成为瓶颈。此外,对所有这些视频流进行解码会对每个参与者的系统造成很大的压力。
为了限制和占用 CPU 带宽,参与者可以禁用视频。这将使带宽使用率仅下降到音频,约为 50 kbit/sec(约为视频带宽的1/20),从而消除了大多数解码工作。当所有参与者都处于快速网络上时,可以与 20 个人进行无视频通话。
在处理信令时,呼叫仍然会给参与者的浏览器(解码流)和服务器造成负担。例如,这也会对支持呼叫的设备产生影响。移动设备浏览器将很快耗尽计算能力,并导致呼叫问题。尽管我们一直在努力优化 Talk 的性能,但仍然有很多工作要做,因此暂时不会出现瓶颈。我们非常欢迎您帮助优化电话!
如何使通话中的参与者人数达到最大
为确保通话可以吸引最多的参与者,请确保:
- 每个参与者都有一个快速的上载和下载。
- 每个参与者都有足够快的系统。这表示:
- 在台式机/笔记本电脑系统上,应使用 Firefox 或 Chrome 之类的浏览器。其他浏览器中的 WebRTC 实施通常不及标准。在笔记本电脑上,应插入电源线-这通常可以提高 CPU 性能。
- 在移动设备上,应使用 Android/iOS 应用程序,因为移动浏览器将很快耗尽计算能力。
- 所有参与者均禁用其视频流。
使用此设置,典型设置中应该可以有20个用户。
通话中扩展到5-20位用户
Nextcloud提供了一个合作产品,即Talk高性能后端,该产品通过包括选择性转发单元(SFU)来解决此可扩展性问题。每个参与者将一个流发送到SFU,SFU将其分配给参与者。通常可以扩展到30-50个甚至更多的活跃参与者。此外,HPB设置还允许与数百个被动参与者进行呼叫。参与者的数量仅受SFU设置带宽的限制。这对于在线研讨会或远程教学课程等一对多流式传输非常理想。
HPB还负责信令,减少了Talk服务器上许多呼叫的负担和可选的SIP集成,因此用户可以通过电话拨入呼叫。
如果您需要在企业环境中使用Talk,请联系我们的销售团队以访问Talk高性能后端。请参阅我们的网站以获取更多详细信息和价格。
开发设置
- 只需将此存储库克隆到 Nextcloud 开发实例的
apps
文件夹中即可。 - 运行
make dev-setup
以安装依赖项。 - 运行
make build-js
. - 然后通过应用程序管理将其激活。
- 要在本地构建 docs,请在本地安装:
apt install mkdocs mkdocs-bootstrap
.
如果您想参加讨论,也可以在我们公开的Talk团队对话中找到我们。
API文档
API文档可在此处获得。
里程碑和分支
分支
在Talk应用程序中,每个Nextcloud服务器版本都有一个分支。应用程序的stable *分支应始终与Nextcloud服务器的同一分支一起使用。这仅是在服务器版本附近,以使功能更容易完成,因此我们不必向后移植。
大事记
- 5.0.0 -- 数字里程碑被确定并等待它们的发布或一些最终的润色
- Next Minor (15) --下一个次要里程碑是针对给定Nextcloud版本的下一个Dot-Release的 issues/PR(在示例15中 --例如5.0.1)
- Next Major(下一个重大事件) -- 下一个重要的里程碑是针对 issues/PR 的问题,该问题/事件进入新的主要Nextcloud版本的下一个功能版本(因为有次要版本为15,因此为16)
- Following Major(后续主要里程碑)-- 后续主要里程碑是针对 issues/PR 的问题,应努力解决,但由于时间限制而没有进入下一个重大里程碑
- 待办事项 -- 待办事项里程碑已分配给所有剩余问题
你可以从任何一个里程碑中选择一个任务,如果时间允许,我们会帮助你把它放到指定的里程碑中或者更早的一个。这只是对我们认为应该进行的工作有一个概述和更好的可视性的问题,但它不是唯一的。
有用的测试技巧
- 禁用相机直到重启:
sudo modprobe -r uvcvideo
- 重新启用相机:
sudo modprobe uvcvideo
- 在Firefox中发送 fake-stream(音频和视频)
- 打开
about:config
- 搜索
fake
- 切换
media.navigator.streams.fake
为 true
- 打开
贡献准则
有关更多信息,请参阅贡献准则。
(vz: The first translated version was on 06/17/2020)