Whatsapp 语音通话
文章平均质量分 79
whatsapp 发起和接受 语音通话流程,协议等。
包括XMPP 协商, stun,点对点穿透, RTP 语音数据包
https://github.com/brewkon/WhatsappVoiceCall
小乖写代码
没什么好写的
展开
-
whatsapp 语音通话 音频编码(五)
客户端通过websocket连接到服务器,客户端发起语音通话请求,并且完成必要的协商之后,就可以直接将语音数据发送给服务器,服务器接收到对方的语音数据之后也会通过websocket将语音数据转发给客户端XMPP 在发起语音通话请求的时候,需要带上一个秘钥,这个秘钥长32字节,通过特殊算法生成。这个算法需要三个参数:发起XMPP 语音请求发起语音请求。这个请求需要通过xmpp 通道发送出去,发出去之后,WA服务器会回一个ack包,这个ack包需要通过websocket发给中转服务器处理ac原创 2024-04-16 22:12:47 · 1116 阅读 · 0 评论 -
whatsapp 语音通话 音频编码(四)
SRTP(Secure Real-time Transport Protocol)是一种用于保护实时通信数据的网络协议。它主要用于音频和视频通信,以确保数据的机密性和完整性。SRTP是在RTP(Real-time Transport Protocol)的基础上开发的,RTP是一种用于实时传输媒体数据的协议,但不提供安全性保障。SRTP的出现填补了这一缺陷,使得媒体通信可以在不担心数据泄露或篡改的情况下进行。SRTP使用了一系列密码学技术来实现数据的保护。原创 2024-04-07 16:20:34 · 779 阅读 · 0 评论 -
whatsapp 语音通话 音频编码(三)
通过RTP 将语音数据发给对方之前需要将语音数据进行编码,whatsapp 采用opus编码。Opus编码是由silk编码和celt编码合并在一起,silk编码是由skype公司开源的一种语音编码,特别适合人声,适合于Voip语音通信。celt和mp3,aac类似,适合于传输音乐。在发起语音通话的XMPP协商中,会有明确的opus编码标识。原创 2024-04-06 21:05:35 · 379 阅读 · 0 评论 -
whatsapp 语音通话基本实现(二)
客户端通过websocket连接到服务器,客户端发起语音通话请求,并且完成必要的协商之后,就可以直接将语音数据发送给服务器,服务器接收到对方的语音数据之后也会通过websocket将语音数据转发给客户端。原创 2024-04-05 00:11:05 · 522 阅读 · 0 评论 -
whatsapp 语音通话基本流程(一)
经过了一整年的开发测试,终于将whatsapp 语音通话完成,期间主要参考webrtc的源码来实现.下面简要说一下大致的步骤。原创 2024-03-26 22:45:45 · 621 阅读 · 0 评论