运行音频会议的服务器如何找到当前发言人/发言人?我想在当前正在讲话的用户旁边显示一个图标,并显示最活跃的演讲者的视频。
我想我需要类似的东西:
- 根据音频能量/功率/级别计算每次使用的分数。
- 标准化所有用户之间的分数。
- 计算几个音频帧的分数以防止快速变化。
我是否需要对原始音频进行计算,或者是否可以从编码数据包(speex/opus)中获得分数?有没有办法从传输音频的协议(RTMP 或 SDP)中提取此信息?
在 FreeSwitch 中,每个参与者都有一个状态字段,带有说话和发言者的标志。这是计算分数的代码,但我不明白它是如何工作的。
谢谢