apprtcに基づいてwebrtcを構築する

4763 ワード

プラットフォームの構築
Linuxシステム-ubuntu
一、依存ソフトウェアと環境のインストール
(一)アリクラウドのソースはアリ自身のミラーであり、ソースを変更する必要はなく、git、解凍、nodejs、python、go言語コンパイルなどの必須ソフトウェアをインストールする.
	cd ~
	sudo apt-get update
	apt-get install git unzip lrzsz nodejs npm automake autoconf libtool nodejs-legacy python-webtest golang -y

(二)java環境のインストール
	cd /usr/lib/jvm/
	tar -zxvf jdk-8u191-linux-x64.tar.gz

1.jdk 8 linux 64ビット版jdk-8 u 191-linux-x 64をダウンロードする.tar.gzダウンロードアドレスダウンロード済みshellツールをサーバ/usr/lib/jvmパスにアップロードし、jvmフォルダがなければ作成してアップロードします.jdk圧縮ファイルの解凍
cd /usr/lib/jvm/
tar -zxvf jdk-8u191-linux-x64.tar.gz

2、環境変数の設定
	cd /etc/
	vim profile

3、ファイルを開き、ファイルの末尾に追加する
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

4、修正後キーESC->shift+:->wq保存して終了
5、構成を有効にするsource/etc/profile
6、java環境の検証
	java -version

7.次の情報が表示された場合、環境構成は成功した
java version "1.8.0_191"

Java™ SE Runtime Environment (build 1.8.0_191-b12) Java HotSpot™ 64-Bit Server VM (build 25.191-b12, mixed mode)
(三)gitはapprtcプロジェクト倉庫をダウンロードし、コンパイルする
cd ~
git clone https://github.com/webrtc/apprtc.git
cd apprtc/
git checkout v1.0

コンパイルツールのインストール
npm -g install grunt-cli

インストール項目依存
npm install 

エラー:SyntaxError:Use of const in strict mode、バージョンの更新が必要
npm cache clean -f
npm install -g n
n stable
node -v
npm install  //       

エラー
rm node_modules/ -rf 					//  
npm config set registry https://registry.npm.taobao.org 			//     
npm info underscore			 //    
npm install  //       

apprtcプロジェクトのコンパイル
	grunt build

ここでは、moduleディレクトリの下に依存する問題も発生します.
npm install 

表示される場合
requests.exceptions.SSLError

これは証明書です.必要ありません.nginxで転送すればいいです.次のようにコンパイルします.
grunt build -force 

成功
Done.with warrings    Done.with out error 

##(四)コンパイル後のプロジェクト構成を変更し、ソースファイルはconstantsを変更しなかった.py
cd out/app_engine/
vim constants.py

変更された部分
TURN_BASE_URL = 'https://www.  '
ICE_SERVER_BASE_URL = 'https://www.  
WSS_INSTANCE_HOST_KEY = 'www.  :8089'
WSS_INSTANCES = [{
    WSS_INSTANCE_HOST_KEY: 'www.  :8089',
    WSS_INSTANCE_NAME_KEY: 'wsserver-std',
    WSS_INSTANCE_ZONE_KEY: 'us-central1-a'
}, {
    WSS_INSTANCE_HOST_KEY: 'www.  :8089',
    WSS_INSTANCE_NAME_KEY: 'wsserver-std-2',
    WSS_INSTANCE_ZONE_KEY: 'us-central1-f'
}]

index_の変更template.htmlは
1.var loadingParams={この行にjavaScriptコードを追加
var servers=[{
credential:"helloword",
username:"helloword",
urls:["turn:     ip:3478?transport=udp",
"turn:     ip:3478?transport=tcp",
"turn:     ip:3479?transport=udp",
"turn:     ip:3479?transport=tcp"
]
}];

debugを修正する.js
cd ~/apprtc/out/app_engine/js
vi apprtc.debug.js 

以下のように修正する
 if (!isChromeApp()) {
	oomLink=roomLink.substring("http","https"); //    
	window.history.pushState({"roomId":roomId, "roomLink":roomLink}, roomId, roomLink);
	}

2、コメントを落とす
//peerConnectionConfig: {{ pc_config | safe }},
//turnRequestUrl: '{{ turn_url }}',
//iceServerRequestUrl: '{{ ice_server_url }}',

3、追加
  peerConnectionConfig:{"rtcpMuxPolicy":"require","iceServers":servers,"bundlePolicy":"max-bundle"},

###googleのインストールappengine Google Pythonサーバーコンテナ、apprtcは上からアドレスをダウンロードしてStandard environmentの下のpythonを選択し、ローカルにダウンロードしてサーバー~ディレクトリにアップロードします
解凍
cd ~
unzip google_appengine_1.9.80.zip

環境変数の設定
vi /etc/profile

変数の追加
export PATH=$PATH:/root/google_appengine/

有効にする
source /etc/profile

ログファイルの作成
mkdir logs 
cd logs
touch room.log collider.log turn.log     //    
chmod 777 room.log collider.log turn.log  //    

###ルームサーバーを起動し、ログ1を観察し、ログを観察する
tail -f ./logs/room.log

2、新しい接続起動サーバー
cd ~
nohup ./google_appengine/dev_appserver.py --host   ip --enable_host_checking false ./apprtc/out/app_engine > ./logs/room.log 2>&1 &