Ubuntu/Docker 環境で mediasoup-demo をデバッグする
0. ディレクトリ
- Ubuntu 環境で mediasoup-demo をデバッグする
- Docker 環境で mediasoup-demo をデバッグする
関連記事:
1. Ubuntu 環境で mediasoup-demo をデバッグします。
- webserver.js を起動
node webserver.js &
- start-server.js
node --inspect-brk server.js
- Google Chrome に「chrome://inspect」と入力して、デバッグ ページをポップアップ表示します。
- 下部にある server.js の inspect リンクをクリックして、ソース コードから飛び出します。
- 注: デバッグ ページに server.js がない場合は、上図の [構成...] ボタンをクリックして、アドレス ポートを追加します。
- その後、mediasoup-demo のデバッグを開始できます。
2. Docker 環境で mediasoup-demo をデバッグする
- docker 環境で mediasoup-demo をデバッグするには、コンテナー内のポート 9229 をホストのポートにマッピングする必要があります。
- 例として、docker 環境での mediasoup-demo のインストールとデプロイを取り上げます。
- 画像を引っ張る:
sudo docker pull lc0060305/mediasoup-demo:v5
- run.sh スクリプトをダウンロード
wget https://cdn.avdancedu.com/image/article/docker/v1/run.sh
- 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
- run.sh スクリプトを実行します。
sudo MEDIASOUP_ANNOUNCED_IP=公网IP ./run.sh
- mediasoup-demo docker ターミナルに入ります。
sudo docker attach CONTAINER ID
- webserver.js を起動
cd ./app && node webserver.js &
- start-server.js
- --inspect-brk オプションを使用し、IP アドレス 0.0.0.0 でリッスンします。
node --inspect-brk=0.0.0.0:9229 server.js
- Google Chrome に「chrome://inspect」と入力して、デバッグ ページをポップアップ表示します。
- 下部にある server.js の inspect リンクをクリックして、ソース コードから飛び出します。
- 注: デバッグ ページに server.js がない場合は、上図の [構成...] ボタンをクリックして、アドレス ポートを追加します。
- その後、mediasoup-demo のデバッグを開始できます。