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等参数指定;开源版不支持该参数和功能。