阅读 522

WebRTC环境搭建 | 掘金技术征文

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 //设置默认版本
复制代码

安装第三模块

  • Express提供了更好的Web服务功能
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 
复制代码

开启服务

  • 创建index.js
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调用摄像头权限了

关注下面的标签,发现更多相似文章
评论