我正在尝试对几个G.711原始RTP流进行实时实时混合(每个RTP数据包都包含160字节的原始G.711 A / U有效负载),并且所有流都进行了时间同步。

我尝试对所有流中的每个字节取平均值,并构建一个具有相同大小(160)的新数组,但是其值是原始流的平均值,但是播放音频时,我发现它太吵了。

我也尝试了最大和最小,混合输出更好,但仍然很吵..

混合2个或更多G.711原始流的正确方法是什么?

如果我在 session 中有3个电话,每个打包间隔(例如20毫秒),我需要将来自两个电话的两个RTP数据包混合为一个RTP数据包,然后将其流式传输到第三个数据包,依此类推。

BR
护城河

最佳答案

我已经找到了解决方案。我必须将流解码为PCM 16位样本,然后执行正常平均,然后重新编码结果

关于c# - 混合两个或多个G.711原始流,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51171110/

10-13 22:56