webrtc技术方案(Mac搭建WebRTC服务器)
webrtc技术方案(Mac搭建WebRTC服务器)
2024-11-21 09:04:55  作者:厢思厢守  网址:https://m.xinb2b.cn/tech/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


启动三个服务房间服务

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,点击信任网站,如果出现自己的头像,则表示配置成功.

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

  • 高考倒计时一个月考生守住信念(高考收官辛苦了)
  • 2024-11-22高考收官辛苦了在万众瞩目下,2021年高考结束啦!!!接下来让小编带你直击三明考点的那些独家瞬间吧~虽然离考试结束还有一段时间,但家长们已经陆陆续续围在考点的校门口等待,希望第一时间看到自己孩子考场外,家长们各种手。
  • 重庆最值得游玩的景区(重庆有着独特绝美的旅游资源)
  • 2024-11-22重庆有着独特绝美的旅游资源重庆,因它特殊的地理环境和气候,造就了这里独有的景象重庆有“山城雾都”之称,这样的气质,给重庆带来了不少的魅力重庆的旅游景点众多,景色优美且具有特色来到重庆,一定会让你全身心都得到一次极大的满足与享受。
  • 考完试后的心情发说说(考完试后的心情发说说列述)
  • 2024-11-22考完试后的心情发说说列述不管遇到怎么样的困难,不管遇到多大的挫折,人总要活在希望里,哀莫大于心死,要在困境中奋起,在失望中充满希望不自重者,取辱不自长者,取祸不自满者,受益不自足者,博闻不妄求,则心安,不妄做,则身安得得失失。
  • 攻打日本的作战方案(1000余人10余门重炮虎头要塞)
  • 2024-11-221000余人10余门重炮虎头要塞在我国东北东部中苏边境一带,虎头的军事战略地位极为重要,它恰好位于哈巴罗夫斯克和符拉迪沃斯托克的中心点,扼苏联远东乌苏里铁路的咽喉部此外,虎头也是远东苏军进入东北腹地的捷径通道因此,日本关东军将虎头地。
  • 数字万用表如何测量三极管好坏(数字万用表的使用方法)
  • 2024-11-22数字万用表的使用方法万用表的使用范围如此之广,想必我也不用多说大家都有所体会,可能有些朋友看到万用表有那么多档位会直接放弃,今天我们针对想学不知道如何去学的朋友一个指引,给大家讲述下万用表基本的使用方法数字万用表二极管挡。
  • 硬笔隶书口诀一览表(硬笔隶书入门教程)
  • 2024-11-22硬笔隶书入门教程隶书——偏旁部首隶书笔画练习好了之后,下个阶段就是偏旁部首的练习,偏旁部首关系着字的结构,所以学号偏旁部首是为了给以后的间架结构打下牢固的基础,今天凤和老师就为大家介绍一些常用的隶书偏旁部首一、部首在。
  • 莅阳公主对谢玉一点感情都没有吗(莅阳是太后宠爱的嫡幼女)
  • 2024-11-22莅阳是太后宠爱的嫡幼女在电视剧《琅琊榜》中,莅阳公主是太后宠爱的嫡幼女,为什么太后要低阶官员谢玉污了她?一来是莅阳跟外国王子谈恋爱太后舍不得让莅阳嫁到外国去,而皇帝也想利用太后的心思和莅阳的婚事搞事情二来是太后和皇帝不是亲。
  • 手机投屏电视能不能打游戏(在大屏上打手机游戏)
  • 2024-11-22在大屏上打手机游戏在终端数码设备高度普及的今天,投屏似乎成了刚需般的存在,在投影机、电视等大尺寸显示设备上分享手机照片、视频甚至打游戏,想想就是件很有意思的事情,尤其是在替换下来的二手智能手机都在家里堆了两三部的同学,。
  • 重阳节做什么吃的好(这6种美味别错过)
  • 2024-11-22这6种美味别错过重阳节到了,这6种美味别错过,学会做给老人吃,健康长寿寓意好一年一度的重阳节到了,重阳节在每年的农历九月九日这一天九九重阳,因为与“久久”同音,九在数字中又是最大数,在数中最尊贵,有长久长寿的含意,况。
  • 女士的法则理想之城豆瓣(女士的法则中隐藏着五位宝藏大叔)
  • 2024-11-22女士的法则中隐藏着五位宝藏大叔由江疏影、刘敏涛、彭昱畅领衔主演的电视剧《女士的法则》播出后,观众反响强烈因为剧情不拖沓,事件贴近现实,而且双女主的戏份也很有吸引力,所以这部律政题材的电视剧很哥想为您隆重推荐两位女主江疏影和刘敏涛都。