Ubuntu/Docker环境下调试mediasoup-demo

  • Post author:
  • Post category:其他




Ubuntu/Docker环境下调试mediasoup-demo



0. 目录

  1. Ubuntu环境下调试mediasoup-demo
  2. Docker环境下调试mediasoup-demo

相关文章:


  1. mediasoup基本介绍及Ubuntu/Docker环境下部署mediasoup

  2. mediasoup-demo server源码分析

  3. Ubuntu/Docker环境下调试mediasoup-demo



1. Ubuntu环境下调试mediasoup-demo

  1. 启动webserver.js
node webserver.js &
  1. 启动server.js
node --inspect-brk server.js
  1. 在谷歌游览器输入:chrome://inspect 即可弹出调试页面。

image.png

  1. 点击最下面的server.js的inspect链接即可跳出源码。

    1. 注:如果调试页面没有server.js,点击上图中 Configure… 按钮,添加地址端口。
    2. image.png

image.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. 启动server.js

    1. 使用 –inspect-brk 选项,并且监听的 IP 地址为 0.0.0.0
node --inspect-brk=0.0.0.0:9229 server.js
  1. 在谷歌游览器输入:chrome://inspect 即可弹出调试页面。

image.png

  1. 点击最下面的server.js的inspect链接即可跳出源码。
  2. 注:如果调试页面没有server.js,点击上图中 Configure… 按钮,添加地址端口。
  3. image.png

image.png

  1. 然后就可以开始调试mediasoup-demo了。



版权声明:本文为weixin_41910694原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。