背景:
我是移动端开发,想开发出来一个对讲机 App
功能:
- 添加好有
- 创建房间(可设置密码)
- 房间内实时对讲机语音
- 支持文字聊天(可选)
疑问:想咨询搞音频的大佬们几个问题:
- 有没有不错的开源后端技术方案(音频压缩节省流量、延时低)
- 后端用什么开发语言比较合适
- 如果同时在线 1000 人同时语音,服务器一个月估计得多少花销
|
halovMar 12, 2025
1
要不直接入职 yy 语音呢
|
|
2
建议只专注对讲这一功能。 (就仿照对讲机场景)
设置频道号 --> 加入频道号 --> 点击对讲按钮说话(频道内仅 1 个人可讲话) --> 频道内其它终端自动播放讲话人语音。 建议专一,功能上做减法,越专精的越有使用场景(对讲机的特殊场景)。否则就成了普通的聊天应用了。 |
|
MacTavish123Mar 12, 2025
3
南山对讲
|
|
4
你这个就是 yy ,只不过你正好迟了 20 年。李学凌当年的理想是"不卡、不掉、不延时",我劝你不要再走一次路,这不是一个人或者一个小团队能实现的。不如像 2 楼说的那样,给产品做减法,现在很多公司有这种低通讯场景。
1. 都是核心技术,没有现成的开源方案,你最多只能借鉴 matrix 的实现 2. 后端 C/C++,赶潮流就用 golang/rust 3. 不需要考虑服务器成本这个问题,地推/拉新的成本比服务器贵一个数量级以上 |
|
dzdhMar 12, 2025
5
p2p 对讲。引入 rtsp 。
|
|
lloovveMar 12, 2025 via iPhone
6
这个我专业,目前有全套解决方案
|
|
7
|
|
8
https://github.com/mumble-voip/mumble 如何 这个就是安卓外放连续对话的话有重声 不知道现在优化没
|
|
nzynzynzyMar 12, 2025
9
你要找的是不是:微信
功能: 添加好有 - 有了,几乎人人都有账号 创建房间(可设置密码) - 微信群语音聊天,甚至可以二维码入群 房间内实时对讲机语音 - 不仅可以实时语音还可以延时语音( aka 语音消息 60s ) 支持文字聊天(可选) - 还可以发表情发红包 问题:不支持 1000 人同时语音,但是 1000 人同时语音你怕是也听不见(参考过年时候的火车站) |
|
wyntalgeerMar 12, 2025
10
@nzynzynzy 噗笑了,你自己再好好断一下句:“同时在线 1000 人|||||||同时语音”,是不是你说的火车站
|
|
levelwormMar 12, 2025
11
好奇一把这玩意加密怎么弄?
|
|
yidevMar 12, 2025
12
南山, 淘淘, 微喇. 参考一下
|
|
gscsnmMar 12, 2025
13
南山对讲,看下
|
|
nzynzynzyMar 12, 2025
14
@wyntalgeer #10 这么说很有道理!
|
|
15
找个 RTC 云服务供应商,都会有对应的客户端 demo ;
https://help.aliyun.com/zh/live/user-guide/voice-chat-room-solution 可以前期用云服务按量计费的,功能比较完善,找准你的需求,后期可以做加减法,再考虑更换开源或自研的组件独立部署,降低成本 |
|
v1Mar 12, 2025
16
我好奇如果一群轮子用你的这个对讲会发生什么?
|
|
18
@nzynzynzy 不是 1000 个人同时在一个房间讲话,如果一个房间同时只有一个人能讲话, 那么就是 1000 个房间同时讲话,指服务器端的压力以及流量消耗
|
|
vincentWdpMar 12, 2025
20
agora 吧
|
|
leokunMar 12, 2025
21
有一个 webrtc 群聊例子: https://github.com/anoek/webrtc-group-chat-example
因为是点对点的,信令服务器几乎不需要什么资源 |
|
flame666Mar 12, 2025
22
悟空 IM ???
|
|
jmliangMar 12, 2025
23
声网
|
|
sunzirenMar 12, 2025
24
加油老铁!
|
|
rb6221Mar 12, 2025
25
你这个还是基于网络的吧,传统对讲机是无线电通信,有电就行,你这个还得有流量,有域名,这一套。。。。
|
|
xz410236056Mar 12, 2025
27
|
|
darkengineMar 12, 2025
28
@xz410236056 同想到这个,可惜 Android 没法用
|
|
humbassMar 12, 2025
29
早 20 年立项 ,一个小目标不在话下。
|
|
starlikerMar 12, 2025 via Android
30
您是不是在说 zello?
|
|
c0mmandMar 12, 2025
31
南山对讲
|
|
32
@xz410236056 牛,涨姿势了,但是安卓不行,好可惜
|
|
xz410236056Mar 12, 2025
35
@darkengine
@MrdotX #32 https://developer.apple.com/forums/thread/747530 苹果的工程师说可以实现自己的音频编码和网络协议接入,不过没透露细节,这框架我也没用过。 @MrdotX 先用简单方案验证可行性呗,国外有专门干这个的公司 https://nuovoteam.com/ 。看起来有不少问题需要解决呢 |
|
ginakiraMar 12, 2025
36
无线电圈子里已经在用这种了,比如南山对讲、涛涛对讲,模拟/数字信号可以通过设备和网络对讲互通,纯网络对讲也支持
|
|
bigtearMar 12, 2025
37
思路打开,做一个手机天线,可以插进手机,用 App 或者天线上的按钮进行对讲。天线可以塞通信芯片,做成手机壳样式之类的。
|
|
38
@xz410236056 感谢,我想先试试免费的 mumble
|
|
SoulFlameMar 12, 2025
40
咦,你是不是看到 vivo 更新的系统带的对讲机 APP 了?
我最近更新系统,看到了,试玩了一下,里面也有介绍,宣称可无网使用对讲,说通过蓝牙 2.4g 频道啥的实现的,在空旷地方最大传输距离可达到 2km |
|
wbrobotMar 12, 2025 via Android
42
clubhouse 要气哭了,才几年呀,就一点影响都没有了。
他们用的声网,一个语音 PaaS 平台 |
|
43
之前打游戏, 有些服务器用这个软件, 还能自己搭建服务器, https://www.teamspeak.com/zh-CN/
|
|
opengpsMar 12, 2025
44
第三条不严谨,1000 人是发布,还是播放?还是混合?这里所占用的带宽方向不一致,所以没法估算
|
|
rocmaxMar 12, 2025 via Android
45
webrtc 的开源项目有很多,找个提供 Mobile sdk 的就行,一般也会提供付费的云端基础设施,你要做的只是开发个客户端,不难。如果要自己搭基础设施就比较复杂了。
|
|
ixcodeMar 12, 2025
46
你忘了那个移动互联网最著名的 release note (之一)了吗:“这一次,我们重新定义了对讲机”
|
|
satanandroidMar 12, 2025
47
接入语音功能的聊天室就行了。
你其实不是 1000 个人同时讲话,简化一下,是同时只有几个人拿麦克风可以同时讲话,其他人是听众才对。这样算下来就简单了。 点击发言的时候自动抢麦,说完退麦克风. |
|
zeroonetwoMar 12, 2025
48
iOS 本身就有对讲机应用,你猜为什么国内看不到?
|
|
HENQIGUAIMar 12, 2025
49
腾...腾讯会议
|
|
xiashaliMar 12, 2025
50
|
|
51
|
|
location123Mar 12, 2025
53
看看需不需要注册 vivo 出的蓝牙对讲机必须得登录后才能使用
|
|
inframeMar 13, 2025
54
|
|
bao3Mar 13, 2025
55
楼主,做一个 Apple watch 的对讲吧,不要别的功能,就只有对讲,这会很受欢迎。
|
|
56
最简单的话,就做成类似微信语音聊天+自动播放,这种传统的技术就能解决。
再高级一点可以 实时,就 libopus >websocket > pub , 走服务器中转,基本上协议也都是通用的。 再复杂一点就可以上 etc/p2p, 直接打洞点对点,缺点是多人点对点自己实现巨费劲,现成有库 https://github.com/anoek/webrtc-group-chat-example 还好。 或者直接抄开源的 https://www.google.com/amp/s/element.io/blog/introducing-native-matrix-voip-with-element-call/amp/ 然后自己剪裁 |
|
jeasonzuoMar 13, 2025
57
@MrdotX 玩户外为什么用对讲机,因为在很多地方是没有网络信号的,基于网络的方案就行不通,在有网络且通讯距离超过对讲机无线电信号范围的时候会直接打电话或者微信,基于网络通信的对讲机小米已经做出实体产品了,但也替代不了传统对讲机
|
|
Mystery0Mar 13, 2025
58
TeamSpeak ?
|
|
westiceMar 13, 2025
63
@MrdotX 我最近用 oc 做了一套音频传输,打算做成对讲机 app ,不过没做完,
采用 opus 编码,2kb/s 就能传输 8000hz 的音频,效果还不错,需要可联系 |
|
64
@yubinphysic 铁子加下我 instructor-xu
|