Venus
网页版的视频聊天工具,功能和微信一样
Install / Use
/learn @xiaojiaqi/VenusREADME
Venus
曾经我尝试做一个类似~~钉钉~~的开源产品。但是在找投资的时候,被告知类似的产品很多,产品并没有太多的意义。所以它在硬盘里又躺了快1年吧,最后我想还是放出来吧。
这是一款IM 产品,它以网页版的形式提供服务,支持手机端 PC端。它的功能包括 直接语音留言, 视频聊天,音频聊天,文字聊天,加好友等基本功能。没错,是利用网页直接进行视频聊天,语音聊天。在webrtc 如此使用广泛的情况下,做到这点很容易。
说说效果,在局域网里,比如在公司内部,我觉得你可以获得不亚于QQ 微信的使用体验。视频聊天都会非常正常,效果也不错。如果是互联网上,你文字和语音留言都不成问题,如果要视频,你需要专门提供一个stun服务器才有可能。stun的速度决定了你的效果。坦白地说,利用网页形式 直接进行视频聊天的条件并不成熟。但是5G时代,我相信这样的应用会更加容易实现
我搭建了一个演示网站,可以直接使用
https://www.meetyoucn.com

效果大概这样!
](http://www.iqiyi.com/w_19s8wf4dp5.html)
部署
-
如果 我在Internet 上部署,我需要做什么?
首先你需要准备SSL证书。然后将证书分别改名为cert.pem 和 key.pem。覆盖项目里原有的证书。
其次,你需要安装一个redis 服务器作为数据库。
下载完源码: 在本地看大概这样

代码的位置在 /webroot/html/js/domain.js
修改代码里的配置

然后分别重新启动 程序即可。 注意 启动离线语音消息服务器的时候,需要 修改域名部分。
启动的样子大概这样,
启动网站

启动 信令服务器

启动IM服务器 这个需要指定redis服务器的地址

启动离线语音消息服务器, 注意 这个需要指定完整的域名

比如你的域名是 www.aaa.com 那么你启动离线语音消息服务器的命令就是
./upload -hostname=https://www.aaa.com
注意必须是https://www.aaa.com 不是http://www.aaa.com
注意 在Internet 上进行视频通信,需要安装stun,否则视频大概率是会失败的。
比如你和对方在不同地方使用手机,服务器在Internet上,直接文字聊天,语音留言都没有问题,但是你们直接视频聊天大概率会失败。
如果你和对方在同一局域网内,使用的服务器在Internet上,那么无论文字聊天,语音留言,直接视频是没有问题的。
-
如果我有自己的域名和证书, 我想在局域网里部署,我需要做什么?
同Internet 部署,没有任何区别
-
如果你没有自己域名和证书,但是也想试试局域网部署。
首先,确认你会安装服务器程序的IP, 如果 它们的Ip 是如下IP 里的一个,那么你可以用这个程序直接安装。

比如我想安装到的服务地址是 192.168.0.1 那么我可以用www01.meetyoucn.com 作为你的局域网里的域名。
第一步 修改源码
代码的位置在 /webroot/html/js/domain.js
修改代码里的配置

将域名修改成 www01.meetyoucn.com
然后分别重新启动 程序即可。 注意 启动离线语音消息服务器的时候,需要 修改域名部分。
启动的样子大概这样,
启动网站

启动 语音聊天的信令服务器

启动IM服务器 这个需要指定redis服务器的地址

启动离线语音消息服务器, 注意 这个需要指定完整的域名
启动命令将改成 ./upload -hostname=https://www01.meetyoucn.com

然后你使用 电脑 手机 ipad 打开 https://www01.meetyoucn.com 就可以注册,运行产品了。
浏览器版本要求
| | 文字聊天 | 视频聊天 | 操作系统 | | :---------: | ----- | --------------- | ---- | | PC | 所有浏览器 | Firefox, Chrome | 无要求 | | Ipad/Iphone | 所有浏览器 | Safari | 12.0 | | Android | 所有浏览器 | Chrome | 无要求 |
服务器一共有5个。我发现虽然开源过代码,但是我发现大家并没什么兴趣,看来一个可用的产品才是最重要了。
- 第一个 是 网页部分,这个部分是基于一个Layim的产品构建的。我已经购买了源码,你可以放心在上面继续开源使用。
- 第二个 是一个Web服务器, 这个你完全可以用一个nginx服务代理。
- 第三个 是语音留言服务器, 当你进行语音留言的时候,它会帮你将数据存储在web服务器上。
- 第四个 是信令服务器, 主要用于视频聊天时管理双方的信令交互。
- 第五个 是IM服务器,主要负责好友关系处理,聊天这样的服务。
如何使用docker 运行?
docker 的使用很简单。 使用 docker push xiaojiaqi/venus:0.1.0 下载镜像!
https://cloud.docker.com/repository/registry-1.docker.io/xiaojiaqi/venus
3 种情况
第一种, 我就是用镜像测试一下 首先,假设你没有域名,那么你需要找一个 上图里的 ip,作为你的服务器。 比如你本地服务器 ip 是 192.168.2.2 那么 www22.meetyoucn.com 就是你可以用的域名
运行一下命令 就 ok 了 sudo docker run --env WEBHOST=www22.meetyoucn.com -p 80:80 -p 443:443 -p 8888:8888 -p 8090:8090 -p 8091:8091 -d xiaojiaqi/venus:0.1.0 这种玩法的缺点在于,容器重启 资料就没了。
第二种情况, 我本地有一个 redis 服务器,我想把数据保留下来 假设我的 redis 是 192.168.1.1 我的本地服务器还是 192.168.2.2, 那么域名就仍然是 www22.meetyoucn.com
运行以下命令 sudo docker run --env WEBHOST=www22.meetyoucn.com --env REDIS=192.168.1.1:6379 -p 80:80 -p 443:443 -p 8888:8888 -p 8090:8090 -p 8091:8091 -d xiaojiaqi/venus:0.1.0
第三种情况, 我有一个自己的证书, 我想用自己的域名 那么你需要把 cert.pem key.pem 两个挂载进系统
差不多就是这样
sudo docker run -v /local/cert.pem:/app/cert.pem -v /local/key.pem:/app/key.pem --env WEBHOST=www.myhost.com --env REDIS=192.168.2.30:6379 -p 80:80 -p 443:443 -p 8888:8888 -p 8090:8090 -p 8091:8091 -d xiaojiaqi/venus:0.1.0
源码的话,看大家反应吧,如果星多就逐步发布吧。
有任何问题 都可以邮件 xiaojiaqi.cn#gmail.com
Related Skills
node-connect
344.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
