Ubuntu/Docker 環境で mediasoup-demo をデバッグする

Ubuntu/Docker 環境で mediasoup-demo をデバッグする

0. ディレクトリ

  1. Ubuntu 環境で mediasoup-demo をデバッグする
  2. Docker 環境で mediasoup-demo をデバッグする

関連記事:

  1. mediasoup の基本的な導入と Ubuntu/Docker 環境での mediasoup のデプロイ
  2. Mediasoup-demo サーバーのソースコード分析
  3. Ubuntu/Docker 環境で mediasoup-demo をデバッグする

1. Ubuntu 環境で mediasoup-demo をデバッグします。

  1. webserver.js を起動
node webserver.js &
  1. start-server.js
node --inspect-brk server.js
  1. Google Chrome に「chrome://inspect」と入力して、デバッグ ページをポップアップ表示します。

画像.png

  1. 下部にある server.js の inspect リンクをクリックして、ソース コードから飛び出します。
    1. 注: デバッグ ページに server.js がない場合は、上図の [構成...] ボタンをクリックして、アドレス ポートを追加します。
    2. 画像.png

画像.png

  1. その後、mediasoup-demo のデバッグを開始できます。

2. Docker 環境で mediasoup-demo をデバッグする

  1. docker 環境で mediasoup-demo をデバッグするには、コンテナー内のポート 9229 をホストのポートにマッピングする必要があります。
  2. 例として、docker 環境での mediasoup-demo のインストールとデプロイを取り上げます。
    1. 詳細リンク: mediasoup の基本的な紹介と Ubuntu/Docker 環境での mediasoup のデプロイ
  3. 画像を引っ張る:
sudo docker pull lc0060305/mediasoup-demo:v5
  1. run.sh スクリプトをダウンロード
wget https://cdn.avdancedu.com/image/article/docker/v1/run.sh
  1. run.sh スクリプトを変更し、ポート マッピングを追加し、コンテナー内の 9229 ポートをホストの 9229 ポートにマップする必要があります。
#!/usr/bin/env bash

export DEBUG=${
    
    DEBUG:="mediasoup:INFO* *WARN* *ERROR*"}
export WEBPORT=${
    
    WEBPORT:="3000"}
export INTERACTIVE=${
    
    INTERACTIVE:="false"}
export PROTOO_LISTEN_PORT=${
    
    PROTOO_LISTEN_PORT:="4443"}
export HTTPS_CERT_FULLCHAIN=${
    
    HTTPS_CERT_FULLCHAIN:="/service/certs/fullchain.pem"}
export HTTPS_CERT_PRIVKEY=${
    
    HTTPS_CERT_PRIVKEY:="/service/certs/privkey.pem"}
export MEDIASOUP_LISTEN_IP=${
    
    MEDIASOUP_LISTEN_IP:="0.0.0.0"}
export MEDIASOUP_MIN_PORT=${
    
    MEDIASOUP_MIN_PORT:="44440"}
export MEDIASOUP_MAX_PORT=${
    
    MEDIASOUP_MAX_PORT:="44500"}

# Valgrind related options.
export MEDIASOUP_USE_VALGRIND=${
    
    MEDIASOUP_USE_VALGRIND:="false"}
export MEDIASOUP_VALGRIND_OPTIONS=${
    
    MEDIASOUP_VALGRIND_OPTIONS:="--leak-check=full --track-fds=yes --log-file=/storage/mediasoup_valgrind_%p.log"}

docker run \
	--name=mediasoup-demo \
	-p ${
    
    WEBPORT}:${
    
    WEBPORT}/tcp \
    -p 9229:9229/tcp \
	-p ${
    
    PROTOO_LISTEN_PORT}:${
    
    PROTOO_LISTEN_PORT}/tcp \
	-p ${
    
    MEDIASOUP_MIN_PORT}-${
    
    MEDIASOUP_MAX_PORT}:${
    
    MEDIASOUP_MIN_PORT}-${
    
    MEDIASOUP_MAX_PORT}/udp \
	-p ${
    
    MEDIASOUP_MIN_PORT}-${
    
    MEDIASOUP_MAX_PORT}:${
    
    MEDIASOUP_MIN_PORT}-${
    
    MEDIASOUP_MAX_PORT}/tcp \
	-v ${
    
    PWD}:/storage \
	-v ${
    
    MEDIASOUP_SRC}:/mediasoup-src \
	--init \
	-e DEBUG \
	-e INTERACTIVE \
	-e DOMAIN \
	-e PROTOO_LISTEN_PORT \
	-e HTTPS_CERT_FULLCHAIN \
	-e HTTPS_CERT_PRIVKEY \
	-e MEDIASOUP_LISTEN_IP \
	-e MEDIASOUP_ANNOUNCED_IP \
	-e MEDIASOUP_MIN_PORT \
	-e MEDIASOUP_MAX_PORT \
	-e MEDIASOUP_USE_VALGRIND \
	-e MEDIASOUP_VALGRIND_OPTIONS \
	-e MEDIASOUP_WORKER_BIN \
	-dit \
	--rm \
	lc0060305/mediasoup-demo:v5

  1. run.sh スクリプトを実行します。
sudo MEDIASOUP_ANNOUNCED_IP=公网IP ./run.sh
  1. mediasoup-demo docker ターミナルに入ります。
sudo docker attach CONTAINER ID
  1. webserver.js を起動
cd ./app && node webserver.js &
  1. start-server.js
    1. --inspect-brk オプションを使用し、IP アドレス 0.0.0.0 でリッスンします。
node --inspect-brk=0.0.0.0:9229 server.js
  1. Google Chrome に「chrome://inspect」と入力して、デバッグ ページをポップアップ表示します。

画像.png

  1. 下部にある server.js の inspect リンクをクリックして、ソース コードから飛び出します。
  2. 注: デバッグ ページに server.js がない場合は、上図の [構成...] ボタンをクリックして、アドレス ポートを追加します。
  3. 画像.png

画像.png

  1. その後、mediasoup-demo のデバッグを開始できます。

おすすめ

転載: blog.csdn.net/weixin_41910694/article/details/129286610
おすすめ