最近学习 webrtc 搞了一个 P2P 聊天室,支持语音视频通话、分享屏幕、传送文字文件

2023-01-06 21:39:49 +08:00
 ellermister

契机

是有时候需要和朋友连麦打游戏,但往往有些朋友不能够连接 discord 。

之前站内有人发过了自己实现的 webrtc 语音通话, 有使用过, 不过和朋友连接时已经连不上了,似乎已经不再维护了。

https://www.v2ex.com/t/828646

自己开始尝试研究搞一个简陋的 P2P 语音网页,从纯测试连接 demo 到用 vue 实现了个完整功能的简陋 demo.

功能支持

说到底就是利用 浏览器 JS API 建立一个 P2P 连接, 在这个连接上附加一些 [语音视频流] 传输,再利用 [数据通道] 实现文件的传输。

因为数据直接传输不经过服务器, 所以如果两人网络状况较好体验佳. 局域网也可以使用。

不过也有大概率连接不上,取决于网络运营商和你设备的 nat 穿透情况

比起语音视频功能,文件传输对我还是很有用,比如在帮助朋友 [远程桌面] 解决一些问题是,他的电脑又没有相关软件进行排查,糟糕的网盘和中转环境经常很难将文件传输到达, todesk 前不久又限制付费用户传输文件了, 这个就很好用。

到目前为止

东西倒是写完了, 以上的个人需求, 没一个用上,有了就备不时之需吧。

Github

有需要的朋友自己玩玩

https://github.com/ellermister/ishoni

预览地址

https://p2p.mjj.ee

2772 次点击
所在节点    分享创造
13 条回复
R5iCXvUx
2023-01-06 21:55:39 +08:00
沙发 支持楼主 技术贴顶顶
shadoworld
2023-01-06 23:08:59 +08:00
支持!
Chad0000
2023-01-07 05:28:43 +08:00
谢谢分享。
suke119
2023-01-07 18:09:22 +08:00
我在掘金出了 WebRTC 系列的小册🤓🤓🤓
suyuyu
2023-01-07 18:58:12 +08:00
是隔壁的 mjj 吗
moonrailgun
2023-01-07 21:12:02 +08:00
我正在基于 mediasoup 实现多人会议,共同学习啊
https://github.com/msgbyte/tailchat-meeting
ellermister
2023-01-07 22:30:28 +08:00
@suke119 点你资料看了下,是付费的🙃


@suyuyu 算吧


@moonrailgun
你这个很全面啊,不过默认的黑色背影图像,吓死人
miniblink
2023-01-07 22:34:01 +08:00
看起来挺不错的
meathill
2023-01-07 23:05:02 +08:00
感谢分享
HungryOrangeCat
2023-01-08 09:55:49 +08:00
teamspeak 和这个的区别是什么呢
suke119
2023-01-08 10:57:25 +08:00
@ellermister 是的收费的 小册子一杯咖啡的钱性价比还是很高的 毕竟有 mesh sfu mcu 三种架构的系统性教程 这么全的教程基本在国内没得
ellermister
2023-01-08 15:02:43 +08:00
@HungryOrangeCat 我这个肯定没有人家专业的全面,你如果初次接触这个,可以用来学习它的交互流程,以此构建自己的应用程序。
st2udio
2023-01-08 18:31:33 +08:00
之前做了一个终端的 webrtc 聊天工具,golang 写的 https://github.com/szpnygo/gtc

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/907092

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX