Serviço de licença e análise do processo de inicialização
Análise de código-fonte WebRtcConnection (1)
Análise de código-fonte WebRtcConnection (dois)
Análise de código-fonte WebRtcConnection (3)
Análise de código-fonte MediaStream (1)
Análise do código-fonte do MediaStream (dois)
Análise de código-fonte MediaStream (3)
Existem quatro serviços que o licode deve iniciar manualmente. Estes quatro serviços ligam e comunicam-se entre si através do mq
nuve.js, usado para serviços de gerenciamento de negócios, gerenciamento de recursos, gerenciamento de banco de dados e gerenciamento de vários erizoController
Número do módulo |
Função do módulo |
Arquivo correspondente |
1 |
Entrada do programa principal Nuve, conectar ao MQ, autenticar, criar negócios, monitorar 3000 |
nuveAPI / nuve.js |
2 |
Adição de banco de dados, exclusão, modificação e operações de consulta, principalmente ec, room, service e token |
nuveAPI / mdb / *. js |
3 |
Alocação de CE e manter vivo |
nuveAPI / cloudHandler.js |
4 |
Gestão de usuários, gestão de salas, gestão de serviços |
nuveAPI / resource / *. js |
5 |
Comunique-se com mq de coelho |
nuveAPI / rpc / *. js |
#!/usr/bin/env bash
set -e
SCRIPT=`pwd`/$0
FILENAME=`basename $SCRIPT`
PATHNAME=`dirname $SCRIPT`
ROOT=$PATHNAME/..
NVM_CHECK="$ROOT"/scripts/checkNvm.sh
CURRENT_DIR=`pwd`
. $NVM_CHECK
cd $PATHNAME/nuveAPI
node nuve.js &
cd $CURRENT_DIR
basicServer.js, usado para obter tokens, etc.
#!/usr/bin/env bash
SCRIPT=`pwd`/$0
FILENAME=`basename $SCRIPT`
PATHNAME=`dirname $SCRIPT`
ROOT=$PATHNAME/..
BUILD_DIR=$ROOT/build
CURRENT_DIR=`pwd`
NVM_CHECK="$PATHNAME"/checkNvm.sh
EXTRAS=$ROOT/extras
cp $ROOT/nuve/nuveClient/dist/nuve.js $EXTRAS/basic_example/
. $NVM_CHECK
nvm use
cd $EXTRAS/basic_example
node basicServer.js &
erizoController.js, serviço de sinalização, gerenciar várias salas de conferência
Número do módulo |
Função do módulo |
Arquivo correspondente |
1 |
Entrada principal do programa ErizoController |
hedgehog_controller / hedgehogController / hedgehogController.js |
2 |
Websocket e gerenciamento de conexão do cliente |
O mesmo que acima |
3 |
Alocação de EA e manter vivo |
hedgehog_controller / hedgehogController / ecCloudHandler.js |
4 |
Comunique-se com Nuve |
hedgehog_controller / hedgehogController / nuveProxy.js |
5 |
Use Rabbit mq para operações RPC |
amqper.js |
6 |
Gerenciamento de sala, gerenciamento EaList |
erizo_controller / erizoController / roomController.js erizo_controller / erizoController / models / *. js |
#!/usr/bin/env bash
set -e
SCRIPT=`pwd`/$0
FILENAME=`basename $SCRIPT`
ROOT=`dirname $SCRIPT`
LICODE_ROOT="$ROOT"/..
CURRENT_DIR=`pwd`
NVM_CHECK="$LICODE_ROOT"/scripts/checkNvm.sh
. $NVM_CHECK
cd $ROOT/erizoController
nvm use
node erizoController.js &
cd $CURRENT_DIR
erizoAgent.js, serviços de mídia, gerenciar vários ErizoJS
Número do módulo |
Função do módulo |
Arquivo correspondente |
1 |
Entrada do programa principal ErizoAgent |
erizo_controller / erizoAgent / erizoAgent.js |
2 |
Monitore a memória da CPU do sistema operacional |
hedgehog_controller / hedgehogAgent / hedgehogAgentReport.js |
3 |
Alocação de ErizoJS e keep-alive |
Hedgehog_controller / hedgehogAgent / hedgehogList.js |
4 |
Comunique-se com ErizoController |
Hedgehog_controller / hedgehogController / nuveProxy.js |
5 |
Use Rabbit mq para operações RPC |
Erizo_controller / common / amqper.js |
#!/usr/bin/env bash
set -e
SCRIPT=`pwd`/$0
FILENAME=`basename $SCRIPT`
ROOT=`dirname $SCRIPT`
LICODE_ROOT="$ROOT"/..
CURRENT_DIR=`pwd`
NVM_CHECK="$LICODE_ROOT"/scripts/checkNvm.sh
. $NVM_CHECK
cd $ROOT/erizoAgent
nvm use
node erizoAgent.js $* &
cd $CURRENT_DIR
Inicie o módulo de encaminhamento de mídia erizoJS por meio de erizoAgent.js
Descrição da função do módulo de encaminhamento de mídia erizoJS:
Número do módulo |
Função do módulo |
Arquivo correspondente |
1 |
Entrada principal do programa ErizoJS |
hedgehog_controller / hedgehogJS / hedgehogJS.js |
2 |
Configuração e controle do serviço de encaminhamento |
hedgehog_controller / hedgehogJS / hedgehogJSController.js |
3 |
Gestão de membros da reunião |
erizo_controller / erizoJS / models / Client.js |
4 |
Gerenciamento de conexão |
erizo_controller / erizoJS / models / Connection.js |
5 |
Gerenciamento de assinantes |
erizo_controller / erizoJS / models / Subscriber.js |
6 |
Gestão de editores |
erizo_controller / erizoJS / models / Publisher.js |
7 |
Análise SDP |
erizo_controller / erizoJS / models / SessionDescription.js |
8 |
Gestão de incidentes |
erizo_controller / erizoJS / adapt_schemes / *. js |
9 |
Sinalização WebRTC e embalagem de processamento de mídia |
erizoAPI /*.* |