Web環境搭建
- WebRCT在瀏覽器使用場景較多,因此基於原生的js編寫更為順手,所以使用node.js作為Web伺服器。
- node.js版本升級迭代較為快速,版本較多,因此使用多版本管理工具nvm
安裝nvm
wget https://github.com/creationix/nvm/archive/v0.34.0.tar.gz
./install.sh //獲取安裝指令碼
source ~/.bash_profile //設定環境變數
nvm --version //檢視版本
nvm list-remote //列出所有可安裝的版本
nvm install v10.15.3 //安裝相應的版本,這裡安裝的是v10.15.3
nvm ls //檢視一下你當前已經安裝的版本
nvm use v10.15 3 //切換版本
nvm alias default //設定預設版本
複製程式碼
安裝第三模組
mkdir web
cd web
npm install express
複製程式碼
開啟HTTPS
- 使用WebRTC需要呼叫多媒體攝像,需要更加嚴格的傳輸,因此必須使用HTTPS
申請證書
- 剛購買的域名會免費贈送一年https證書
- 進入證書控制檯首頁
- 申請驗證
- 下載證書
解析域名
- 因為要解析IP,所以選擇A記錄型別
- 填寫申請證書寫的二級域名
- 記錄值為伺服器主機IP
上傳證書
//上傳證書
scp 2060073_juejin.shuxiaoda.com_other.zip root@shuxiaoda.com:/root/web/cert/
//進入目錄
cd /root/web/cert
//安裝unzip
yum install unzip
//解壓證書
unzip 2060073_juejin.shuxiaoda.com_other.zip
複製程式碼
開啟服務
var https = require('https'); //https模組
var fs = require('fs'); //讀取檔案模組
var express = require('express'); //開啟web服務模組
//讀取證書
options = {
key : fs.readFileSync('/cert/2016927_test.shuxiaoda.com.key'),
cert : fs.readFileSync('/cert/2016927_test.shuxiaoda.com.pem')
}
var https_server = https.createServer(options,app);
https_server.listen(443,'0.0.0.0'); //監聽https預設443埠,繫結所有網路卡
複製程式碼
測試WebRTC
- 在web目錄下建立public資料夾
- 在public下建立index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>測試WebRTC</title>
</head>
<body>
<script>
//開啟音訊攝像頭許可權
navigator.mediaDevices.getUserMedia({audio: true, video: true});
</script>
</body>
</html>
複製程式碼
- 返回web目錄下,啟動index.js
- 在瀏覽器就你看到WebRTC呼叫攝像頭許可權了