webrtc技术方案(Mac搭建WebRTC服务器)
webrtc技术方案(Mac搭建WebRTC服务器)
2024-05-29 03:45:48  作者:厢思厢守  网址: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

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

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

  • 社会学研究方法介绍(关于社会学研究方法简介)
  • 2024-05-29关于社会学研究方法简介社会学是系统地研究社会行为与人类群体的学科,起源于19世纪三四十年代,是从社会哲学演化出来的一门现代学科社会学是一门具有多重研究方式的学科社会学主要涉及科学主义实证论的定量方法和人文主义的理解方法,它。
  • 藏獒纯种犬为啥越来越少(到沦为没人敢要的流浪狗)
  • 2024-05-29到沦为没人敢要的流浪狗曾经藏獒的价格能高到什么地步,我们普通人可能根本没有概念、想象不到,十多年前藏獒刚开始在富人圈崭露头角时,一只品相较好的藏獒能卖出上百万的价格,这些钱足以在北京买套面积不大的房子,最疯狂的时候,手拿几。
  • 下饭素菜炒西葫芦(夏日开胃餐夏日家常菜)
  • 2024-05-29夏日开胃餐夏日家常菜By笑语流年用料西葫芦1个鸡蛋2个葱、姜、蒜、洋葱适量剁椒酱1勺黑木耳1小把盐适量生抽半勺蚝油半勺白糖1勺香醋1勺鸡精少许做法步骤1、这首菜所需的食材如图2、一根西葫芦洗净,削皮,切片3、几朵黑木耳提。
  • 秀怎么读(秀字词义解释)
  • 2024-05-29秀字词义解释秀,拼音为:xiù,详细释义为:(1)植物抽穗开花(多指庄稼):秀穗六月六,看谷(粟)秀(2)姓(3)清秀:秀丽眉清目秀山清水秀秀外慧中(4)聪明;灵巧:内秀心秀(5)特别优异:优秀(6)特别优异的人。
  • 全蛋麻花的做法和配方(怎样做全蛋麻花)
  • 2024-05-29怎样做全蛋麻花面粉500克,糖80克,酵母5克,水240克,油60克,蛋1个准备好500克面粉,将80克糖和5克酵母融入240克水中,倒入面粉中搅拌,揉成偏硬一点点的面团面团发酵成2倍大小压一个窝,方便添加辅料60。
  • 鄱阳湖太大能填湖吗(第二大湖变身第一大湖)
  • 2024-05-29第二大湖变身第一大湖出品:科普中国制作:之遥监制:中国科学院计算机网络信息中心今年入汛以来,南方各地降雨不断,天上就像破了个洞,长江流域中下游干流流域大部面雨量(流域面积平均雨量)大于500毫米,这也使得包括鄱阳湖在内的。
  • 致敬抗疫工作的绘画作品(万众艺心为兰加油)
  • 2024-05-29万众艺心为兰加油万众艺❤为兰加油“安宁区小画家在行动”网络抗疫作品展(绘画篇)疫情突如其来,打破了大家平静的生活,却让我们的心一次次的凝聚在一起!连日来,每个兰州人都在行动着,争取早日在这场同时间赛跑,与病毒较量的战。
  • y52svivo手机怎么样(新款vivoY52手机发布搭载天玑700芯片)
  • 2024-05-29新款vivoY52手机发布搭载天玑700芯片近年来,vivo在其主打线下的Y系列产品中增加了多款中低端智能手机产品,来满足更多消费者的需求近日消息,vivo发布了旗下Y系列的全新智能手机vivoY52,是为全球各地区市场推出中低端产品据悉,新款。
  • 郑元畅抱着林依晨说我们回家:离开林依晨的郑元畅
  • 2024-05-29郑元畅抱着林依晨说我们回家:离开林依晨的郑元畅最近有很多小伙伴都在跟娱妹妹吐槽,说是2016年台湾的新版《恶作剧之吻》实在是辣眼睛的不行作为一枚资深少女,娱妹妹的青葱岁月当然少不了完美学霸江直树(郑元畅饰演)从最早的柏原崇,到后来的金贤重,再到如。
  • 最强nba诺维茨基突破加点(最强NBA诺维斯基怎么玩)
  • 2024-05-29最强NBA诺维斯基怎么玩球星基础数据诺维茨基,身为大前锋球员他的基础数据分别是体能为569,技巧为446,进攻为486,防守为436,稳定为534另外我们从基础细分中可以看到诺维茨基拥有着775的中投分数从诺维茨基的基础数据。
  • 1979年邓小平提出建立经济特区(1979年邓小平提出建立经济特区)
  • 2024-05-291979年邓小平提出建立经济特区图丨邓小平旧照前言作为改革开放的总设计师,邓小平对于新中国发展有着巨大的影响在改革开放的浪潮中,中国人民逐渐走向了小康在上个世纪80年代,中央在广东和福建设立了四个经济特区,打开了国门上海作为我国重要。