语音对讲的的整体流程为:
- 先拉流播放设备的视频;
- 使用WebRTC推送语音流到ZLM服务;
- 使用SIP协议下发Broadcast指令给设备;
- 接收到设备的OK指令后,请求ZLM的startSendRtp接口,TCP协议请求startSendRtpPassive接口;
- 接着SIP协议向设备回应Invite SDP消息;
- 设备回应OK,并与ZLM建立通道连接;
以下测试,可以在最新的wvp-pro上制作,成功后,再移到我们的wvp上。
1.在wvp上,即普通的视频播放功能。注意,不用打开音频(打开的话,摄像头设备的声音会传上来)。
2. 使用目前mediaserver上的webrtc例子,移植到wvp. 注意:我们在这个例子里,只需要传单频。测试的时候 可以通过ffmpeg去拉流测试是否已经传上zlm.
3. (打开对讲) wvp服务端。 如果页面上点击“ 对讲”,由服务端传指令给设备。参考sip协议 9.12 。这块保证sip信令发送的成功与收到回复的正确。
这块应该传递了 recv_stream_id 到设备。
4 (发送音频与接收对讲)可以发送页面上的语音到设备,注意 通过3 得到了 dst_port ,这个方法注意传递 recv_stream_id ,dst_port. 这样,这个端口也在接收。于是rtp://ip/rtp/ recv_stream_id 这样就可以在播放 设备的语音的(ffmpeg测试)。这块有页面上单放个图标显示。