node.js - principiantes - Aplicación de demostración PhoneRTC
node js html (2)
Amazon proporciona IP elásticas que le permiten crear direcciones IP permanentes para sus hosts EC2.
Aquí están los comandos completos necesarios para ejecutar la demostración desde cero:
# install global dependencies
npm install -g cordova bower grunt-cli
# clone phonertc
git clone https://github.com/alongubkin/phonertc.git
# build client
cd demo/client
npm install
bower install
cordova plugin add org.apache.cordova.device
cordova plugin add org.apache.cordova.console
cordova plugin add https://github.com/alongubkin/phonertc.git
# follow the instructions for iOS after running this command
cordova platform add ios android
# before running the next command, make sure to
# change your server details in demo/client/app/scripts/signaling.js
# and in demo/client/app/scripts/CallCtrl.js
grunt build --force
# build server
cd ../server
npm install
Para ejecutar el servidor:
cd demo/server
node index.js
Para ejecutar el cliente en Android:
cordova run android
Para ejecutar el cliente en iOS, ejecute:
cordova build ios
Y ejecuta el proyecto desde Xcode en un dispositivo iOS real.
Estoy intentando poner en marcha la demostración de PhoneRTC. https://github.com/alongubkin/phonertc/
De hecho, tengo un montón de dudas
Primero que nada, tengo entendido: 1. Necesitamos un servidor TURN 2. Necesitamos un Servidor de señalización (demo / server in repo) 3. Necesitamos un proyecto cordova que use el proyecto phoneRTC (demo / client in repo)
comenzó la instancia de AWS, se le asignó un DNS dinámico. instalé el servidor TURN y lo inicié, pero ahora estoy confundido con la IP privada y la parte de IP pública mencionada en el tutorial ya que mi ip cambia cada vez que reinicio la instancia. Tengo un nombre dns (de noip) que se apegará a él. Así que estoy explorando cómo configurar el servidor TURN con eso
Revisé el código fuente y seguí los pasos de npm install cordva, etc.
Para el servidor de señalización, navegué hasta la demo / servidor en el código fuente y probé el nodo index.js después de la instalación de npm, pero obtuve varios errores con respecto al módulo no encontrado.
demo / client también es un proyecto nodeJS, ¿verdad? Si lo hago funcionar, ese es el video chat, ¿verdad?
Tengo la versión de prueba en funcionamiento, haciendo los siguientes pasos (Android), con CLI iónica:
# install global dependencies
npm install -g cordova bower grunt-cli
# Get a GIT clone, needed for copying files
git clone https://github.com/alongubkin/phonertc.git
# start new ionic project
ionic create phonertc-ionic
cd phonertc
# Copy files from GIT clone to your ionic project
cp -R phonertc-gitclone/demo/client/* phonertc-ionic/
# install dependencies
npm install
bower install
# install plugins
cordova plugin add org.apache.cordova.device
cordova plugin add org.apache.cordova.console
cordova plugin add https://github.com/alongubkin/phonertc.git
# add android platform
cordova platform add android
# install/running signaling server
cd phonertc-gitclone/demo/server
npm install
node index.js
# setting up turn server (not sure if needed)
# I installed it on a VirtualBox Ubuntu server, also see:
# https://github.com/alongubkin/phonertc/wiki/Installation
# Next ports should be open to your Ubuntu TURN server:
# TCP 443
# TCP 3478-3479
# TCP 32355-65535
# UDP 3478-3479
# UDP 32355-65535
sudo apt-get install rfc5766-turn-server
# Edit /etc/turnserver.conf and change:
listening-ip=<internal IP VirtualBox Ubuntu>
relay-ip=<internal IP VirtualBox Ubuntu>
external-ip=<internal IP VirtualBox Ubuntu>
min-port=32355
max-port=65535
realm=<your domain>
# Also uncomment
lt-cred-mech
fingerprint
# Edit /etc/turnuserdb.conf and at the end, add:
username:password
# Start TURN server
sudo /etc/init.d/rfc5766-turn-server start
# before running the next command, make sure to
# change your server details in demo/client/app/scripts/signaling.js
# and in demo/client/app/scripts/CallCtrl.js
cd phonertc-ionic/
grunt build --force
# Copy files from phonertc-ionic app dir to www dir
cp -R phonertc-ionic/app/* phonertc-ionic/www/
# Build and run to android
ionic run android
NOTA:
Complete los directorios phonertc-ionic y phonertc-gitclone con los suyos. En este momento solo puedo probar entre 2 dispositivos Android. El sonido es una mierda en este momento, pero el video es genial. Intentando construir en IOS ahora.