音声会議を実行しているサーバーは、アクティブなスピーカー/スピーカーをどのように見つけることができますか? 現在話しているユーザーの横にアイコンを表示し、最もアクティブなスピーカーのビデオを表示したいと考えています。
次のようなものが必要だと思います:
- オーディオのエネルギー/パワー/レベルに基づいて、使用ごとにスコアを計算します。
- すべてのユーザー間でスコアを正規化します。
- 急激な変化を防ぐために、いくつかのオーディオ フレームでスコアを計算します。
生のオーディオで計算を行う必要がありますか、それともエンコードされたパケット (speex/opus) からスコアを取得することは可能ですか? オーディオを転送するプロトコル (RTMP または SDP) からこの情報を抽出する方法はありますか?
FreeSwitch には、各参加者のステータス フィールドがあり、発言者と発言者のフラグが表示されます。これはスコアを計算するコードですが、実際にどのように機能するのか理解できません。
ありがとう