JT1078与国标语音对讲 - xia-chu/zlmediakit-pro GitHub Wiki
介绍
目前zlm对国标和jt1078语音对讲做了流程简化,对讲对接流程由4步降低为2步,大大降低了开发者的使用门槛。
原先复杂流程
1、首先webrtc推语音流(或者任意方式)到zlmediakit-pro,务必指定推流app为rtp,流id自便,确保该对讲流已注册,假设流id为A;
2、JT808或国标sip发送信令给设备,让设备开始对讲推流到zlmediakit-pro,确保该设备流已注册,假设流id为B;
3、调用startSendRtpTalk接口,把对讲流发送给设备,注意参数:
- app: 必须强制为rtp。
- stream: 对讲流A。
- recv_stream_id: 国标或部标设备推的流B。
- ssrc: 国标为普通的10进制数字,1078流id样式为手机号+_+通道号,推荐和recv_stream_id参数一致。
4、播放设备推的流B。
新版简化使用流程(强烈推荐!)
介绍:新版语音对讲支持在单webrtc连接实例下,实现同时播放设备流的语音视频以及推送对讲流,另外支持指定推流rtp和转码相关参数设置。
- 1、信令控制设备语音对讲推流给zlm。
- 2、使用zlm自带的webrtc网页和设备双向语音对讲:
参数详解:
| 参数 | 类型 | 是否必填 | 释义 |
|---|---|---|---|
| app | string | Y | 设备推流app,强制为rtp |
| stream | string | Y | 设备推流id, 如果开启转码了,可加上转码后缀 |
| type | string | Y | webrtc插件名,对讲强制为 talk |
| data_type | int | N | 对讲rtp流类型,0:es, 1:ps, 2:ts; 1078对讲此参数无意义 |
| pt | int | N | 对讲rtp流payload type, PCMU为0, PCMA为8, 96以上为动态类型; 1078对讲此参数无意义 |
| ssrc | string | Y | 对讲rtp流ssrc, 10进制, 1078时须指定为手机号+下划线+通道号(通过是否有下划线判断是否为1078对讲) |
| audio_codec | string | Y | 对讲流是否需要转码再发送给设备,支持copy,PCMA,PCMU,opus,mpeg4-generic,mp3,G722.1,L16等, 不转码时请指定为copy |
| audio_samplerate | int | N | 对讲流转码目标采样率 |
| audio_channel | int | N | 对讲流转码目标通道数 |
| audio_bitrate | int | N | 对讲流转码目标比特率 |
转码支持
- 1、支持播放设备转码后的流,设备流是否转码受配置文件
[transcode]域和setupTranscode接口控制,请参考本wiki转码篇;开源版不支持该功能。 - 2、支持对讲流转码后再发送给设备,通过audio_codec等参数指定;开源版不支持该参数和功能。