Mediasoup調査ノートサーバー側[1]

クライアント側で学習ノートを紹介しましたが、最近少し時間がありましたので、サーバー側で学習ノートを整理していきます。

ここでは、公式のデモコードに従って、段階的に整理して学習します。
https://github.com/versatica/mediasoup-demo/tree/v3/server

一見、コード構造
ここに画像の説明を挿入
かなり多いように見えますが、実際、以下のファイルに注目することで、mediasoupのサーバー機能を実現することができます。

  • config [.example] .js
  • server.js
  • lib / Room.js

以下に1つずつ説明しましょう。

config.js

ここでの主な構成は、証明書ポートのドメイン名のIPアドレスなどです。オーディオとビデオのパラメーターがある場合は、ここで構成することもできます。これは参照用の画像です。
ここに画像の説明を挿入

  • routerOptionsは、ルーティング関連のパラメーターを作成します
  • webRtcTransportOptionsrtcチャネル関連のパラメーターを作成します
  • plainTransportOptionsチャネルを作成する必要がない場合は、ここで構成する必要はありません。

server.js

コードのこの部分とmediasoupの関連機能は、部屋の作成と削除の統合された制御として簡単に理解できます。getOrCreateRoom

ここでしか注意を払わない

  • runMediasoupWorkersmedisoupサービス
  • runHttpsServerhttpサービス
  • runProtooWebSocketServerWebSocketサービス

createExpressAppに関しては、純粋なデモビジネス関数と見なすことができます。

Room.js

サーバー部分は部屋を制御することであり、ここに制御者、チャネル、およびデータがあります。
学習ポイントに焦点を当てます。

* _handleProtooRequestはシグナリングを介してデータを処理し、他のメソッドがあります

  • handleProtooConnection
    が次のコードの機能を理解できる場合、残りはapiの問題です。
peer.data.transports = new Map();
peer.data.producers = new Map();
peer.data.consumers = new Map();
peer.data.dataProducers = new Map();
peer.data.dataConsumers = new Map();

ここで簡単に説明します。たとえば、最初のpeer.data.transportsは、このユーザーによって作成されたトランスポートの残りの数を格納するものとして簡単に理解できます。残りは理解しやすいです。
これで大丈夫です。いくつかの重要なファイルについて説明します。後で詳しく説明します。

おすすめ

転載: blog.csdn.net/uk_51/article/details/114785025