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調用攝像頭權限了