0

运行音频会议的服务器如何找到当前发言人/发言人?我想在当前正在讲话的用户旁边显示一个图标,并显示最活跃的演讲者的视频。

我想我需要类似的东西:

  • 根据音频能量/功率/级别计算每次使用的分数。
  • 标准化所有用户之间的分数。
  • 计算几个音频帧的分数以防止快速变化。

我是否需要对原始音频进行计算,或者是否可以从编码数据包(speex/opus)中获得分数?有没有办法从传输音频的协议(RTMP 或 SDP)中提取此信息?

在 FreeSwitch 中,每个参与者都有一个状态字段,带有说话和发言者的标志。这是计算分数的代码,但我不明白它是如何工作的。

谢谢

4

1 回答 1

0

通常,发送最大音频流的参与者被认为是“活跃的发言者”。

所以你必须计算每个音频流的音量。如何测量音量取决于音频流的编码。查看有关如何计算 PCM 音频音量的问题。

于 2013-12-21T00:56:02.463 回答