webrtc技术方案(Mac搭建WebRTC服务器)
webrtc技术方案(Mac搭建WebRTC服务器)
2024-06-08 11:38:37  作者:厢思厢守  网址:https://m.xinb2b.cn/know/eog518375.html
webRTC的简介webRTC:Web Real-Time Communications用于点对点的实时语音/视频通信的技术google开源了google-webRTC的sdk用于提供相关技术webRTC的三大技术难点音视频的编码与传输私有ip的链接语音降噪MAC搭建webRTC服务器

webRTC服务器一般包含三部分

用于交换sdp/ice信息的房间服务器 roomServer(3000)用于连接私有ip的穿透服务器 sturnServer(3478)用于做代理的nginx服务器,一般服务的端口不会轻易暴露给客户端用.安装node版本的房间服务webRTC安装node

brew install node//检测node是否安装成功node -v

【更多音视频学习资料,点击下方链接免费领取↓↓,先码住不迷路~】

音视频开发(资料文档 视频教程 面试题)(FFmpeg WebRTC RTMP RTSP HLS RTP)

安装房间服务webRTC

git clone https://github.com/androidtencent/WebrtcNodeJScd WebrtcNodeJSnpm install//启动 Server running at http://0.0.0.0:3000/node server.js

coturn穿透服务

brew install coturn//启动coturn服务brew services restart coturn//查看coturn命令man coturn//coturn服务器访问密码turnadmin -k -u hch -r north.gov -p 1qazxsw2//得到安全访问密钥//0xa4a6576444351ec2804f4cf2a2701a1a//0: : SQLite connection was closed.//0: : log file opened: /var/tmp/turn_58775_2022-04-27.log

配置coturn

安装完coturn服务后,默认在/usr/local/etc下会存在turnserver.conf.default文件,我们自己新建turnserver.conf,加入如下信息,注意user和密码是自己设定的内容:

verbosefingerprintlt-cred-mechrealm=testuser=hch:0xa4a6576444351ec2804f4cf2a2701a1auser=hch:1qazxsw2stale-nonceno-loopback-peersno-multicast-peersmobilityno-cli

重启coturn

brew services restart coturn

安装nginx

brew install nginx//配置地址/usr/local/etc/nginx/nginx.conf//启动nginxbrew services restart nginx

配置nginx

vim /usr/local/etc/nginx/nginx.conf

配置内容注意

ssl_certificate和ssl_certificate_key的位置要与后面生成的https证书的位置一致mac下日志的地址为/usr/local/var/log/

user root admin;worker_processes auto;pid /usr/local/etc/nginx/logs/nginx.pid;include /etc/nginx/modules-enabled/*.conf;events {worker_connections 768; multi_accept on;}http {sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 300;types_hash_max_size 2048;default_type application/octet-stream;ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLEssl_prefer_server_ciphers on;access_log /usr/local/var/log/nginx/access.log;error_log /usr/local/var/log/nginx/error.log;gzip on;include /etc/nginx/conf.d/*.conf;include /etc/nginx/sites-enabled/*; upstream web {server localhost:3000; }upstream websocket {server localhost:3000; }server { listen 443; server_name localhost;ssl on;ssl_certificate /usr/local/etc/nginx/cert/server.crt;#配置证书ssl_certificate_key /usr/local/etc/nginx/cert/server.pem;#配置密钥ssl_session_cache shared:SSL:1m;ssl_session_timeout 50m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv2 SSLv3;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location /wss {proxy_pass http://websocket/; # 代理到上面的地址去proxy_read_timeout 300s;proxy_set_header Host $host;proxy_set_header X-Real_IP $remote_addr;proxy_set_header X-Forwarded-for $remote_addr;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection 'Upgrade'; }location / {proxy_pass http://web/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }}}

【更多音视频学习资料,点击下方链接免费领取↓↓,先码住不迷路~】

音视频开发(资料文档 视频教程 面试题)(FFmpeg WebRTC RTMP RTSP HLS RTP)

生成https证书

将生成的证书放到nginx配置目录下/usr/local/etc/nginx

openssl genrsa -des3 -out server.key 2048//输入密码 1qazxsw2// 移除密码openssl rsa -in server.key -out server.keyopenssl req -new -x509 -key server.key -out ca.crt -days 3650openssl req -new -key server.key -out server.csropenssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crtcat server.key server.crt > server.pem

webrtc技术方案(Mac搭建WebRTC服务器)(1)

启动三个服务房间服务

cd /Users/hucaihua/code/git/WebrtcNodeJSnode server.js

穿透服务coturn

brew services restart coturn

nginx代理服务

brew services restart nginx//检测nginx是否正常启动ps -ef|grep nginx

检验一切是否配置成功

在浏览器输入https://localhost,点击信任网站,如果出现自己的头像,则表示配置成功.

如果你对音视频开发感兴趣,觉得文章对您有帮助,别忘了点赞、收藏哦!或者对本文的一些阐述有自己的看法,有任何问题,欢迎在下方评论区讨论!

  • 5岁小孩地铁霸座(妈妈为孩子睡觉买六张车票)
  • 2024-06-09妈妈为孩子睡觉买六张车票霸座一直是一个社会敏感问题,人们将这种行为划分到不道德领域,如果当事人不接受批评教育,甚至还会被以扰乱社会治安的罪名受罚,然而在7月25日,一则视频霸座视频在网上爆火,不过与以往不同的。
  • 漠河极光最佳时间表(漠河极光出现时间)
  • 2024-06-09漠河极光出现时间观看极光最佳时间:漠河极光在7月份出现,但是不一定能看到观测北极光通常在每年夏至节前后9天的夜晚,因为夏至前后漠河常出现万里晴空的天气,当北极与漠河之间没有云层阻隔,人们就可以看到壮观至极的北极光了纵。
  • 公民权利义务知识点(公民的基本权利和义务)
  • 2024-06-09公民的基本权利和义务关于《宪法》公民的基本权利和义务的章节中,基本权利是重点,因为我国的核心价值主要为了保障公民的基本权利,包括如下:1.平等权:公民不受任何不合理的差别对待关键词“不合理”,即我国法律允许合理差别如在火。
  • 日产途乐y62四驱结构图(日产途乐途乐Y62)
  • 2024-06-09日产途乐途乐Y62说到硬派越野车,我们很容易想到丰田普拉多、兰德酷路泽、三菱帕杰罗和吉普牧马人等品牌然而,还有一个品牌在全世界也很有名,但这个品牌在国内并没有引起太多关注这辆车是“尼桑途乐”作为日产的顶级产品,日产途乐。
  • 全面实施什么战略(推动长江经济带高质量发展)
  • 2024-06-09推动长江经济带高质量发展上游四川宜宾,宁德时代、天华超净等产业链龙头企业纷纷落地,从化工围江到绿色转型,动力电池重要生产基地的名片愈发闪亮中游湖南益阳,渔民姚龙辉退捕上岸,当起缝纫工:“月薪5000元,不用风吹日晒,还能为娃。
  • 事业单位人员编制分为哪几类(事业单位编制如何取得)
  • 2024-06-09事业单位编制如何取得事业单位分全额拨款和差额拨款,全额拨款单位一般是公益性质的,没有营业收入,比如图书馆,文化馆,博物馆,学校等差额拨款事业单位一般具有一定的盈利能力,比如医院,景区等当然我这个分类不太精准,由于阅读的群。
  • 怎样做泡椒凤爪才好吃(泡椒凤爪你这么做)
  • 2024-06-09泡椒凤爪你这么做之前去超市买了泡椒刚好家里有点鸡爪就刚好做了个泡椒凤爪!酸辣酸辣的!简直是追剧必备啊!看着电视剧不知不觉就能吃一盘啊哈哈哈By大橙子饿了用料鸡爪20个萝卜2个小的泡淑及泡椒水140g小米辣适量盐4小勺。
  • 保姆虐待儿童事件(保姆虐待儿童事件频发)
  • 2024-06-09保姆虐待儿童事件频发在网上看过这样一段视频,让人触目惊心:两岁的孩子因为尿裤子,没有听保姆的话,3分钟内被保姆连续殴打了10多次,不是拎起来打屁股、拧耳朵,就是用鞋底扇孩子的脸孩子的父亲查看监控时发现了这个情况后报了警这。
  • 迁户口怎么迁(迁户口的方法)
  • 2024-06-09迁户口的方法向迁入地派出所提出申请;迁入地派出所同意迁入;向现户口所在地派出所提出迁出申请;户口所在地派出所开户籍证明;持户籍证明和相关证明材料(结婚证等)前往迁入地的市级公安局户政科申请迁入。