3

我正在尝试启动和运行 PhoneRTC 演示。 https://github.com/alongubkin/phonertc/

我其实有很多疑问

首先,我的理解: 1. 我们需要一个 TURN 服务器 2. 我们需要一个信令服务器(repo 中的演示/服务器) 3. 我们需要一个使用 phoneRTC 项目的cordova 项目(repo 中的演示/客户端)

  1. 启动 AWS 实例,分配一个动态 DNS。安装 TURN 服务器并启动它 - 但现在我对教程中提到的私有 ip 和公共 ip 部分感到困惑,因为每次我重新启动实例时我的 ip 都会发生变化。我有一个 dns 名称(来自 noip),它会坚持下去。所以我正在探索如何设置 TURN 服务器

  2. 我检查了源代码并按照 npm install cordva 等步骤,

  3. 对于 Signaling 服务器,我在源代码中导航到 demo/server,并在 npm install 后尝试了 node index.js,但出现了几个关于找不到模块的错误。

  4. demo/client 也是一个 nodeJS 项目,对吧?如果我启动并运行它,那就是视频聊天,对吗?

4

2 回答 2

4

Amazon 提供弹性 IP,允许您为 EC2 主机创建永久 IP 地址。

以下是从头开始运行演示所需的完整命令:

# 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

要运行服务器:

cd demo/server
node index.js

在 Android 上运行客户端:

cordova run android

要在 iOS 上运行客户端,请运行:

cordova build ios

并在真正的 iOS 设备上从 Xcode 运行项目。

于 2014-10-16T18:14:12.710 回答
4

我启动并运行了演示,使用 ionic CLI 执行后续步骤(Android):

# 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

笔记:

用你的填充 phonertc-ionic 和 phonertc-gitclone 目录。目前我只能在 2 台 Android 设备之间进行测试。目前声音很糟糕,但视频很棒。现在正在尝试在 IOS 上构建。

于 2014-11-06T09:51:41.940 回答